1<html><body>
2<style>
3
4body, h1, h2, h3, div, span, p, pre, a {
5  margin: 0;
6  padding: 0;
7  border: 0;
8  font-weight: inherit;
9  font-style: inherit;
10  font-size: 100%;
11  font-family: inherit;
12  vertical-align: baseline;
13}
14
15body {
16  font-size: 13px;
17  padding: 1em;
18}
19
20h1 {
21  font-size: 26px;
22  margin-bottom: 1em;
23}
24
25h2 {
26  font-size: 24px;
27  margin-bottom: 1em;
28}
29
30h3 {
31  font-size: 20px;
32  margin-bottom: 1em;
33  margin-top: 1em;
34}
35
36pre, code {
37  line-height: 1.5;
38  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
39}
40
41pre {
42  margin-top: 0.5em;
43}
44
45h1, h2, h3, p {
46  font-family: Arial, sans serif;
47}
48
49h1, h2, h3 {
50  border-bottom: solid #CCC 1px;
51}
52
53.toc_element {
54  margin-top: 0.5em;
55}
56
57.firstline {
58  margin-left: 2 em;
59}
60
61.method  {
62  margin-top: 1em;
63  border: solid 1px #CCC;
64  padding: 1em;
65  background: #EEE;
66}
67
68.details {
69  font-weight: bold;
70  font-size: 14px;
71}
72
73</style>
74
75<h1><a href="run_v1alpha1.html">Cloud Run Admin API</a> . <a href="run_v1alpha1.projects.html">projects</a> . <a href="run_v1alpha1.projects.locations.html">locations</a> . <a href="run_v1alpha1.projects.locations.services.html">services</a></h1>
76<h2>Instance Methods</h2>
77<p class="toc_element">
78  <code><a href="#close">close()</a></code></p>
79<p class="firstline">Close httplib2 connections.</p>
80<p class="toc_element">
81  <code><a href="#create">create(parent, body=None, x__xgafv=None)</a></code></p>
82<p class="firstline">Rpc to create a service.</p>
83<p class="toc_element">
84  <code><a href="#delete">delete(name, apiVersion=None, kind=None, orphanDependents=None, propagationPolicy=None, x__xgafv=None)</a></code></p>
85<p class="firstline">Rpc to delete a service. This will cause the Service to stop serving traffic and will delete the child entities like Routes, Configurations and Revisions.</p>
86<p class="toc_element">
87  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
88<p class="firstline">Rpc to get information about a service.</p>
89<p class="toc_element">
90  <code><a href="#getIamPolicy">getIamPolicy(resource, options_requestedPolicyVersion=None, x__xgafv=None)</a></code></p>
91<p class="firstline">Get the IAM Access Control policy currently in effect for the given Cloud Run service. This result does not include any inherited policies.</p>
92<p class="toc_element">
93  <code><a href="#list">list(parent, continue=None, fieldSelector=None, includeUninitialized=None, labelSelector=None, limit=None, resourceVersion=None, watch=None, x__xgafv=None)</a></code></p>
94<p class="firstline">Rpc to list services.</p>
95<p class="toc_element">
96  <code><a href="#replaceService">replaceService(name, body=None, x__xgafv=None)</a></code></p>
97<p class="firstline">Rpc to replace a service. Only the spec and metadata labels and annotations are modifiable. After the Update request, Cloud Run will work to make the 'status' match the requested 'spec'. May provide metadata.resourceVersion to enforce update from last read for optimistic concurrency control.</p>
98<p class="toc_element">
99  <code><a href="#setIamPolicy">setIamPolicy(resource, body=None, x__xgafv=None)</a></code></p>
100<p class="firstline">Sets the IAM Access control policy for the specified Service. Overwrites any existing policy.</p>
101<p class="toc_element">
102  <code><a href="#testIamPermissions">testIamPermissions(resource, body=None, x__xgafv=None)</a></code></p>
103<p class="firstline">Returns permissions that a caller has on the specified Project. There are no permissions required for making this API call.</p>
104<h3>Method Details</h3>
105<div class="method">
106    <code class="details" id="close">close()</code>
107  <pre>Close httplib2 connections.</pre>
108</div>
109
110<div class="method">
111    <code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
112  <pre>Rpc to create a service.
113
114Args:
115  parent: string, The project ID or project number in which this service should be created. (required)
116  body: object, The request body.
117    The object takes the form of:
118
119{ # Service acts as a top-level container that manages a set of Routes and Configurations which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets). The Service&#x27;s controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#service
120  &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1alpha1&quot;.
121  &quot;kind&quot;: &quot;A String&quot;, # The kind of resource, in this case &quot;Service&quot;.
122  &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Service, including name, namespace, labels, and annotations.
123    &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
124      &quot;a_key&quot;: &quot;A String&quot;,
125    },
126    &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
127    &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
128    &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
129    &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
130    &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
131      &quot;A String&quot;,
132    ],
133    &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
134    &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
135    &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
136      &quot;a_key&quot;: &quot;A String&quot;,
137    },
138    &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
139    &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
140    &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
141      { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
142        &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
143        &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
144        &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
145        &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
146        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
147        &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
148      },
149    ],
150    &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
151    &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
152    &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
153  },
154  &quot;spec&quot;: { # ServiceSpec holds the desired state of the Route (from the client), which is used to manipulate the underlying Route and Configuration(s). # Spec holds the desired state of the Service (from the client).
155    &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
156    &quot;manual&quot;: { # ServiceSpecManualType contains the options for configuring a manual service. See ServiceSpec for more details. Not currently supported by Cloud Run. # Manual contains the options for configuring a manual service. See ServiceSpec for more details. Not currently supported by Cloud Run.
157    },
158    &quot;pinned&quot;: { # ServiceSpecPinnedType Pins this service to a specific revision name. The revision must be owned by the configuration provided. Deprecated and not supported by Cloud Run. # Pins this service to a specific revision name. The revision must be owned by the configuration provided. Deprecated and not supported by Cloud Run. +optional
159      &quot;configuration&quot;: { # ConfigurationSpec holds the desired state of the Configuration (from the client). # The configuration for this service.
160        &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
161        &quot;revisionTemplate&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190 # RevisionTemplate holds the latest specification for the Revision to be stamped out. The template references the container image, and may also include labels and annotations that should be attached to the Revision. To correlate a Revision, and/or to force a Revision to be created when the spec doesn&#x27;t otherwise change, a nonce label may be provided in the template metadata. For more details, see: https://github.com/knative/serving/blob/master/docs/client-conventions.md#associate-modifications-with-revisions Cloud Run does not currently support referencing a build that is responsible for materializing the container image from source.
162          &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only). To set maximum instances for this revision, use the &quot;autoscaling.knative.dev/maxScale&quot; annotation key. To set Cloud SQL connections for the revision, use the &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be comma separated.
163            &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
164              &quot;a_key&quot;: &quot;A String&quot;,
165            },
166            &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
167            &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
168            &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
169            &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
170            &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
171              &quot;A String&quot;,
172            ],
173            &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
174            &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
175            &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
176              &quot;a_key&quot;: &quot;A String&quot;,
177            },
178            &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
179            &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
180            &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
181              { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
182                &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
183                &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
184                &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
185                &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
186                &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
187                &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
188              },
189            ],
190            &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
191            &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
192            &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
193          },
194          &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).
195            &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model (Single or Multi) for the Revision. Defaults to Multi. Deprecated in favor of ContainerConcurrency. +optional
196            &quot;container&quot;: { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime. # Container defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of the fields of this Container, including: name, ports, and volumeMounts. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
197              &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
198                &quot;A String&quot;,
199              ],
200              &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
201                &quot;A String&quot;,
202              ],
203              &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
204                { # EnvVar represents an environment variable present in a Container.
205                  &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
206                  &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
207                  &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
208                    &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
209                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
210                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
211                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
212                      },
213                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
214                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
215                    },
216                    &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
217                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
218                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
219                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
220                      },
221                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
222                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
223                    },
224                  },
225                },
226              ],
227              &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
228                { # EnvFromSource represents the source of a set of ConfigMaps
229                  &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
230                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
231                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
232                    },
233                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
234                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
235                  },
236                  &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
237                  &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
238                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
239                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
240                    },
241                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
242                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
243                  },
244                },
245              ],
246              &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
247              &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
248              &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
249                &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
250                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
251                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
252                      &quot;A String&quot;,
253                    ],
254                  },
255                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
256                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
257                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
258                      { # HTTPHeader describes a custom header to be used in HTTP probes
259                        &quot;name&quot;: &quot;A String&quot;, # The header field name
260                        &quot;value&quot;: &quot;A String&quot;, # The header field value
261                      },
262                    ],
263                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
264                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
265                      &quot;intVal&quot;: 42, # The int value.
266                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
267                      &quot;type&quot;: 42, # The type of the value.
268                    },
269                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
270                  },
271                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
272                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
273                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
274                      &quot;intVal&quot;: 42, # The int value.
275                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
276                      &quot;type&quot;: 42, # The type of the value.
277                    },
278                  },
279                },
280                &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
281                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
282                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
283                      &quot;A String&quot;,
284                    ],
285                  },
286                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
287                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
288                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
289                      { # HTTPHeader describes a custom header to be used in HTTP probes
290                        &quot;name&quot;: &quot;A String&quot;, # The header field name
291                        &quot;value&quot;: &quot;A String&quot;, # The header field value
292                      },
293                    ],
294                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
295                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
296                      &quot;intVal&quot;: 42, # The int value.
297                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
298                      &quot;type&quot;: 42, # The type of the value.
299                    },
300                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
301                  },
302                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
303                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
304                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
305                      &quot;intVal&quot;: 42, # The int value.
306                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
307                      &quot;type&quot;: 42, # The type of the value.
308                    },
309                  },
310                },
311              },
312              &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
313                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
314                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
315                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
316                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
317                      &quot;A String&quot;,
318                    ],
319                  },
320                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
321                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
322                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
323                      { # HTTPHeader describes a custom header to be used in HTTP probes
324                        &quot;name&quot;: &quot;A String&quot;, # The header field name
325                        &quot;value&quot;: &quot;A String&quot;, # The header field value
326                      },
327                    ],
328                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
329                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
330                      &quot;intVal&quot;: 42, # The int value.
331                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
332                      &quot;type&quot;: 42, # The type of the value.
333                    },
334                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
335                  },
336                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
337                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
338                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
339                      &quot;intVal&quot;: 42, # The int value.
340                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
341                      &quot;type&quot;: 42, # The type of the value.
342                    },
343                  },
344                },
345                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
346                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
347                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
348                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
349              },
350              &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
351              &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
352                { # ContainerPort represents a network port in a single container.
353                  &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
354                  &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
355                  &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
356                  &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
357                  &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
358                },
359              ],
360              &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
361                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
362                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
363                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
364                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
365                      &quot;A String&quot;,
366                    ],
367                  },
368                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
369                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
370                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
371                      { # HTTPHeader describes a custom header to be used in HTTP probes
372                        &quot;name&quot;: &quot;A String&quot;, # The header field name
373                        &quot;value&quot;: &quot;A String&quot;, # The header field value
374                      },
375                    ],
376                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
377                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
378                      &quot;intVal&quot;: 42, # The int value.
379                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
380                      &quot;type&quot;: 42, # The type of the value.
381                    },
382                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
383                  },
384                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
385                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
386                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
387                      &quot;intVal&quot;: 42, # The int value.
388                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
389                      &quot;type&quot;: 42, # The type of the value.
390                    },
391                  },
392                },
393                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
394                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
395                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
396                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
397              },
398              &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
399                &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
400                  &quot;a_key&quot;: &quot;A String&quot;,
401                },
402                &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
403                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
404                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
405                  },
406                },
407                &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
408                  &quot;a_key&quot;: &quot;A String&quot;,
409                },
410                &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
411                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
412                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
413                  },
414                },
415              },
416              &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
417                &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
418                &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
419                  &quot;add&quot;: [ # Added capabilities +optional
420                    &quot;A String&quot;,
421                  ],
422                  &quot;drop&quot;: [ # Removed capabilities +optional
423                    &quot;A String&quot;,
424                  ],
425                },
426                &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
427                &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
428                &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
429                &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
430                &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
431                &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
432                  &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
433                  &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
434                  &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
435                  &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
436                },
437              },
438              &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
439              &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
440              &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
441              &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
442              &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
443              &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
444                { # volumeDevice describes a mapping of a raw block device within a container.
445                  &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
446                  &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
447                },
448              ],
449              &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
450                { # VolumeMount describes a mounting of a Volume within a container.
451                  &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
452                  &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
453                  &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
454                  &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
455                  &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
456                },
457              ],
458              &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
459            },
460            &quot;containerConcurrency&quot;: 42, # (Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run on GKE: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
461            &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided.
462              { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
463                &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
464                  &quot;A String&quot;,
465                ],
466                &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
467                  &quot;A String&quot;,
468                ],
469                &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
470                  { # EnvVar represents an environment variable present in a Container.
471                    &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
472                    &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
473                    &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
474                      &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
475                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
476                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
477                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
478                        },
479                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
480                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
481                      },
482                      &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
483                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
484                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
485                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
486                        },
487                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
488                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
489                      },
490                    },
491                  },
492                ],
493                &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
494                  { # EnvFromSource represents the source of a set of ConfigMaps
495                    &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
496                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
497                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
498                      },
499                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
500                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
501                    },
502                    &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
503                    &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
504                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
505                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
506                      },
507                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
508                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
509                    },
510                  },
511                ],
512                &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
513                &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
514                &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
515                  &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
516                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
517                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
518                        &quot;A String&quot;,
519                      ],
520                    },
521                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
522                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
523                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
524                        { # HTTPHeader describes a custom header to be used in HTTP probes
525                          &quot;name&quot;: &quot;A String&quot;, # The header field name
526                          &quot;value&quot;: &quot;A String&quot;, # The header field value
527                        },
528                      ],
529                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
530                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
531                        &quot;intVal&quot;: 42, # The int value.
532                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
533                        &quot;type&quot;: 42, # The type of the value.
534                      },
535                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
536                    },
537                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
538                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
539                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
540                        &quot;intVal&quot;: 42, # The int value.
541                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
542                        &quot;type&quot;: 42, # The type of the value.
543                      },
544                    },
545                  },
546                  &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
547                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
548                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
549                        &quot;A String&quot;,
550                      ],
551                    },
552                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
553                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
554                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
555                        { # HTTPHeader describes a custom header to be used in HTTP probes
556                          &quot;name&quot;: &quot;A String&quot;, # The header field name
557                          &quot;value&quot;: &quot;A String&quot;, # The header field value
558                        },
559                      ],
560                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
561                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
562                        &quot;intVal&quot;: 42, # The int value.
563                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
564                        &quot;type&quot;: 42, # The type of the value.
565                      },
566                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
567                    },
568                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
569                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
570                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
571                        &quot;intVal&quot;: 42, # The int value.
572                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
573                        &quot;type&quot;: 42, # The type of the value.
574                      },
575                    },
576                  },
577                },
578                &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
579                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
580                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
581                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
582                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
583                        &quot;A String&quot;,
584                      ],
585                    },
586                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
587                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
588                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
589                        { # HTTPHeader describes a custom header to be used in HTTP probes
590                          &quot;name&quot;: &quot;A String&quot;, # The header field name
591                          &quot;value&quot;: &quot;A String&quot;, # The header field value
592                        },
593                      ],
594                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
595                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
596                        &quot;intVal&quot;: 42, # The int value.
597                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
598                        &quot;type&quot;: 42, # The type of the value.
599                      },
600                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
601                    },
602                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
603                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
604                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
605                        &quot;intVal&quot;: 42, # The int value.
606                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
607                        &quot;type&quot;: 42, # The type of the value.
608                      },
609                    },
610                  },
611                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
612                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
613                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
614                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
615                },
616                &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
617                &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
618                  { # ContainerPort represents a network port in a single container.
619                    &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
620                    &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
621                    &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
622                    &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
623                    &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
624                  },
625                ],
626                &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
627                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
628                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
629                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
630                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
631                        &quot;A String&quot;,
632                      ],
633                    },
634                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
635                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
636                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
637                        { # HTTPHeader describes a custom header to be used in HTTP probes
638                          &quot;name&quot;: &quot;A String&quot;, # The header field name
639                          &quot;value&quot;: &quot;A String&quot;, # The header field value
640                        },
641                      ],
642                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
643                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
644                        &quot;intVal&quot;: 42, # The int value.
645                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
646                        &quot;type&quot;: 42, # The type of the value.
647                      },
648                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
649                    },
650                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
651                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
652                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
653                        &quot;intVal&quot;: 42, # The int value.
654                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
655                        &quot;type&quot;: 42, # The type of the value.
656                      },
657                    },
658                  },
659                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
660                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
661                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
662                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
663                },
664                &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
665                  &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
666                    &quot;a_key&quot;: &quot;A String&quot;,
667                  },
668                  &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
669                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
670                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
671                    },
672                  },
673                  &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
674                    &quot;a_key&quot;: &quot;A String&quot;,
675                  },
676                  &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
677                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
678                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
679                    },
680                  },
681                },
682                &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
683                  &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
684                  &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
685                    &quot;add&quot;: [ # Added capabilities +optional
686                      &quot;A String&quot;,
687                    ],
688                    &quot;drop&quot;: [ # Removed capabilities +optional
689                      &quot;A String&quot;,
690                    ],
691                  },
692                  &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
693                  &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
694                  &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
695                  &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
696                  &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
697                  &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
698                    &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
699                    &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
700                    &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
701                    &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
702                  },
703                },
704                &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
705                &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
706                &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
707                &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
708                &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
709                &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
710                  { # volumeDevice describes a mapping of a raw block device within a container.
711                    &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
712                    &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
713                  },
714                ],
715                &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
716                  { # VolumeMount describes a mounting of a Volume within a container.
717                    &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
718                    &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
719                    &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
720                    &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
721                    &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
722                  },
723                ],
724                &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
725              },
726            ],
727            &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
728            &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
729            &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources are in for this Revision. Users must not specify this when creating a revision. It is expected that the system will manipulate this based on routability and load. Populated by the system. Read-only.
730            &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Not currently used by Cloud Run.
731            &quot;volumes&quot;: [
732              { # Volume represents a named volume in a container.
733                &quot;configMap&quot;: { # Adapts a ConfigMap into a volume. The contents of the target ConfigMap&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.
734                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
735                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
736                    { # Maps a string key to a path within a volume.
737                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
738                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
739                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
740                    },
741                  ],
742                  &quot;name&quot;: &quot;A String&quot;, # Name of the config.
743                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
744                },
745                &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
746                &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names.
747                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
748                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
749                    { # Maps a string key to a path within a volume.
750                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
751                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
752                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
753                    },
754                  ],
755                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
756                  &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
757                },
758              },
759            ],
760          },
761        },
762        &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190 # Template holds the latest specification for the Revision to be stamped out.
763          &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only). To set maximum instances for this revision, use the &quot;autoscaling.knative.dev/maxScale&quot; annotation key. To set Cloud SQL connections for the revision, use the &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be comma separated.
764            &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
765              &quot;a_key&quot;: &quot;A String&quot;,
766            },
767            &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
768            &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
769            &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
770            &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
771            &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
772              &quot;A String&quot;,
773            ],
774            &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
775            &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
776            &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
777              &quot;a_key&quot;: &quot;A String&quot;,
778            },
779            &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
780            &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
781            &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
782              { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
783                &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
784                &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
785                &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
786                &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
787                &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
788                &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
789              },
790            ],
791            &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
792            &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
793            &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
794          },
795          &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).
796            &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model (Single or Multi) for the Revision. Defaults to Multi. Deprecated in favor of ContainerConcurrency. +optional
797            &quot;container&quot;: { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime. # Container defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of the fields of this Container, including: name, ports, and volumeMounts. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
798              &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
799                &quot;A String&quot;,
800              ],
801              &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
802                &quot;A String&quot;,
803              ],
804              &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
805                { # EnvVar represents an environment variable present in a Container.
806                  &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
807                  &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
808                  &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
809                    &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
810                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
811                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
812                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
813                      },
814                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
815                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
816                    },
817                    &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
818                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
819                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
820                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
821                      },
822                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
823                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
824                    },
825                  },
826                },
827              ],
828              &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
829                { # EnvFromSource represents the source of a set of ConfigMaps
830                  &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
831                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
832                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
833                    },
834                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
835                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
836                  },
837                  &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
838                  &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
839                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
840                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
841                    },
842                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
843                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
844                  },
845                },
846              ],
847              &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
848              &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
849              &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
850                &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
851                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
852                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
853                      &quot;A String&quot;,
854                    ],
855                  },
856                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
857                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
858                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
859                      { # HTTPHeader describes a custom header to be used in HTTP probes
860                        &quot;name&quot;: &quot;A String&quot;, # The header field name
861                        &quot;value&quot;: &quot;A String&quot;, # The header field value
862                      },
863                    ],
864                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
865                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
866                      &quot;intVal&quot;: 42, # The int value.
867                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
868                      &quot;type&quot;: 42, # The type of the value.
869                    },
870                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
871                  },
872                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
873                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
874                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
875                      &quot;intVal&quot;: 42, # The int value.
876                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
877                      &quot;type&quot;: 42, # The type of the value.
878                    },
879                  },
880                },
881                &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
882                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
883                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
884                      &quot;A String&quot;,
885                    ],
886                  },
887                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
888                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
889                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
890                      { # HTTPHeader describes a custom header to be used in HTTP probes
891                        &quot;name&quot;: &quot;A String&quot;, # The header field name
892                        &quot;value&quot;: &quot;A String&quot;, # The header field value
893                      },
894                    ],
895                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
896                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
897                      &quot;intVal&quot;: 42, # The int value.
898                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
899                      &quot;type&quot;: 42, # The type of the value.
900                    },
901                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
902                  },
903                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
904                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
905                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
906                      &quot;intVal&quot;: 42, # The int value.
907                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
908                      &quot;type&quot;: 42, # The type of the value.
909                    },
910                  },
911                },
912              },
913              &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
914                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
915                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
916                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
917                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
918                      &quot;A String&quot;,
919                    ],
920                  },
921                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
922                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
923                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
924                      { # HTTPHeader describes a custom header to be used in HTTP probes
925                        &quot;name&quot;: &quot;A String&quot;, # The header field name
926                        &quot;value&quot;: &quot;A String&quot;, # The header field value
927                      },
928                    ],
929                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
930                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
931                      &quot;intVal&quot;: 42, # The int value.
932                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
933                      &quot;type&quot;: 42, # The type of the value.
934                    },
935                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
936                  },
937                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
938                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
939                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
940                      &quot;intVal&quot;: 42, # The int value.
941                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
942                      &quot;type&quot;: 42, # The type of the value.
943                    },
944                  },
945                },
946                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
947                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
948                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
949                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
950              },
951              &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
952              &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
953                { # ContainerPort represents a network port in a single container.
954                  &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
955                  &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
956                  &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
957                  &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
958                  &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
959                },
960              ],
961              &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
962                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
963                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
964                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
965                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
966                      &quot;A String&quot;,
967                    ],
968                  },
969                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
970                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
971                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
972                      { # HTTPHeader describes a custom header to be used in HTTP probes
973                        &quot;name&quot;: &quot;A String&quot;, # The header field name
974                        &quot;value&quot;: &quot;A String&quot;, # The header field value
975                      },
976                    ],
977                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
978                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
979                      &quot;intVal&quot;: 42, # The int value.
980                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
981                      &quot;type&quot;: 42, # The type of the value.
982                    },
983                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
984                  },
985                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
986                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
987                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
988                      &quot;intVal&quot;: 42, # The int value.
989                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
990                      &quot;type&quot;: 42, # The type of the value.
991                    },
992                  },
993                },
994                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
995                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
996                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
997                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
998              },
999              &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
1000                &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
1001                  &quot;a_key&quot;: &quot;A String&quot;,
1002                },
1003                &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
1004                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
1005                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
1006                  },
1007                },
1008                &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
1009                  &quot;a_key&quot;: &quot;A String&quot;,
1010                },
1011                &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
1012                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
1013                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
1014                  },
1015                },
1016              },
1017              &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
1018                &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
1019                &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
1020                  &quot;add&quot;: [ # Added capabilities +optional
1021                    &quot;A String&quot;,
1022                  ],
1023                  &quot;drop&quot;: [ # Removed capabilities +optional
1024                    &quot;A String&quot;,
1025                  ],
1026                },
1027                &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
1028                &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
1029                &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
1030                &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
1031                &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
1032                &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
1033                  &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
1034                  &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
1035                  &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
1036                  &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
1037                },
1038              },
1039              &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
1040              &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
1041              &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
1042              &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
1043              &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
1044              &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
1045                { # volumeDevice describes a mapping of a raw block device within a container.
1046                  &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
1047                  &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
1048                },
1049              ],
1050              &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
1051                { # VolumeMount describes a mounting of a Volume within a container.
1052                  &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
1053                  &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
1054                  &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
1055                  &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
1056                  &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
1057                },
1058              ],
1059              &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
1060            },
1061            &quot;containerConcurrency&quot;: 42, # (Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run on GKE: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
1062            &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided.
1063              { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
1064                &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
1065                  &quot;A String&quot;,
1066                ],
1067                &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
1068                  &quot;A String&quot;,
1069                ],
1070                &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
1071                  { # EnvVar represents an environment variable present in a Container.
1072                    &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
1073                    &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
1074                    &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
1075                      &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
1076                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
1077                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
1078                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1079                        },
1080                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
1081                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
1082                      },
1083                      &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
1084                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
1085                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
1086                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1087                        },
1088                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
1089                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
1090                      },
1091                    },
1092                  },
1093                ],
1094                &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
1095                  { # EnvFromSource represents the source of a set of ConfigMaps
1096                    &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
1097                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
1098                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1099                      },
1100                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
1101                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
1102                    },
1103                    &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
1104                    &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
1105                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
1106                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1107                      },
1108                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
1109                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
1110                    },
1111                  },
1112                ],
1113                &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
1114                &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
1115                &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
1116                  &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
1117                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
1118                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
1119                        &quot;A String&quot;,
1120                      ],
1121                    },
1122                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
1123                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
1124                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
1125                        { # HTTPHeader describes a custom header to be used in HTTP probes
1126                          &quot;name&quot;: &quot;A String&quot;, # The header field name
1127                          &quot;value&quot;: &quot;A String&quot;, # The header field value
1128                        },
1129                      ],
1130                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
1131                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
1132                        &quot;intVal&quot;: 42, # The int value.
1133                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
1134                        &quot;type&quot;: 42, # The type of the value.
1135                      },
1136                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
1137                    },
1138                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
1139                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
1140                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
1141                        &quot;intVal&quot;: 42, # The int value.
1142                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
1143                        &quot;type&quot;: 42, # The type of the value.
1144                      },
1145                    },
1146                  },
1147                  &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
1148                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
1149                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
1150                        &quot;A String&quot;,
1151                      ],
1152                    },
1153                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
1154                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
1155                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
1156                        { # HTTPHeader describes a custom header to be used in HTTP probes
1157                          &quot;name&quot;: &quot;A String&quot;, # The header field name
1158                          &quot;value&quot;: &quot;A String&quot;, # The header field value
1159                        },
1160                      ],
1161                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
1162                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
1163                        &quot;intVal&quot;: 42, # The int value.
1164                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
1165                        &quot;type&quot;: 42, # The type of the value.
1166                      },
1167                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
1168                    },
1169                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
1170                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
1171                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
1172                        &quot;intVal&quot;: 42, # The int value.
1173                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
1174                        &quot;type&quot;: 42, # The type of the value.
1175                      },
1176                    },
1177                  },
1178                },
1179                &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
1180                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
1181                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
1182                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
1183                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
1184                        &quot;A String&quot;,
1185                      ],
1186                    },
1187                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
1188                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
1189                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
1190                        { # HTTPHeader describes a custom header to be used in HTTP probes
1191                          &quot;name&quot;: &quot;A String&quot;, # The header field name
1192                          &quot;value&quot;: &quot;A String&quot;, # The header field value
1193                        },
1194                      ],
1195                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
1196                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
1197                        &quot;intVal&quot;: 42, # The int value.
1198                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
1199                        &quot;type&quot;: 42, # The type of the value.
1200                      },
1201                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
1202                    },
1203                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
1204                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
1205                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
1206                        &quot;intVal&quot;: 42, # The int value.
1207                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
1208                        &quot;type&quot;: 42, # The type of the value.
1209                      },
1210                    },
1211                  },
1212                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
1213                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
1214                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
1215                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
1216                },
1217                &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
1218                &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
1219                  { # ContainerPort represents a network port in a single container.
1220                    &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
1221                    &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
1222                    &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
1223                    &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
1224                    &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
1225                  },
1226                ],
1227                &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
1228                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
1229                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
1230                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
1231                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
1232                        &quot;A String&quot;,
1233                      ],
1234                    },
1235                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
1236                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
1237                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
1238                        { # HTTPHeader describes a custom header to be used in HTTP probes
1239                          &quot;name&quot;: &quot;A String&quot;, # The header field name
1240                          &quot;value&quot;: &quot;A String&quot;, # The header field value
1241                        },
1242                      ],
1243                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
1244                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
1245                        &quot;intVal&quot;: 42, # The int value.
1246                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
1247                        &quot;type&quot;: 42, # The type of the value.
1248                      },
1249                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
1250                    },
1251                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
1252                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
1253                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
1254                        &quot;intVal&quot;: 42, # The int value.
1255                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
1256                        &quot;type&quot;: 42, # The type of the value.
1257                      },
1258                    },
1259                  },
1260                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
1261                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
1262                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
1263                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
1264                },
1265                &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
1266                  &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
1267                    &quot;a_key&quot;: &quot;A String&quot;,
1268                  },
1269                  &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
1270                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
1271                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
1272                    },
1273                  },
1274                  &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
1275                    &quot;a_key&quot;: &quot;A String&quot;,
1276                  },
1277                  &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
1278                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
1279                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
1280                    },
1281                  },
1282                },
1283                &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
1284                  &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
1285                  &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
1286                    &quot;add&quot;: [ # Added capabilities +optional
1287                      &quot;A String&quot;,
1288                    ],
1289                    &quot;drop&quot;: [ # Removed capabilities +optional
1290                      &quot;A String&quot;,
1291                    ],
1292                  },
1293                  &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
1294                  &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
1295                  &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
1296                  &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
1297                  &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
1298                  &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
1299                    &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
1300                    &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
1301                    &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
1302                    &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
1303                  },
1304                },
1305                &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
1306                &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
1307                &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
1308                &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
1309                &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
1310                &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
1311                  { # volumeDevice describes a mapping of a raw block device within a container.
1312                    &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
1313                    &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
1314                  },
1315                ],
1316                &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
1317                  { # VolumeMount describes a mounting of a Volume within a container.
1318                    &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
1319                    &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
1320                    &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
1321                    &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
1322                    &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
1323                  },
1324                ],
1325                &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
1326              },
1327            ],
1328            &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
1329            &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
1330            &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources are in for this Revision. Users must not specify this when creating a revision. It is expected that the system will manipulate this based on routability and load. Populated by the system. Read-only.
1331            &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Not currently used by Cloud Run.
1332            &quot;volumes&quot;: [
1333              { # Volume represents a named volume in a container.
1334                &quot;configMap&quot;: { # Adapts a ConfigMap into a volume. The contents of the target ConfigMap&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.
1335                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
1336                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
1337                    { # Maps a string key to a path within a volume.
1338                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
1339                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
1340                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
1341                    },
1342                  ],
1343                  &quot;name&quot;: &quot;A String&quot;, # Name of the config.
1344                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
1345                },
1346                &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
1347                &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names.
1348                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
1349                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
1350                    { # Maps a string key to a path within a volume.
1351                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
1352                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
1353                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
1354                    },
1355                  ],
1356                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
1357                  &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
1358                },
1359              },
1360            ],
1361          },
1362        },
1363      },
1364      &quot;revisionName&quot;: &quot;A String&quot;, # The revision name to pin this service to until changed to a different service type.
1365    },
1366    &quot;release&quot;: { # ServiceSpecReleaseType contains the options for slowly releasing revisions. See ServiceSpec for more details. Not currently supported by Cloud Run. # Release enables gradual promotion of new revisions by allowing traffic to be split between two revisions. This type replaces the deprecated Pinned type. Not currently supported by Cloud Run.
1367      &quot;configuration&quot;: { # ConfigurationSpec holds the desired state of the Configuration (from the client). # The configuration for this service. All revisions from this service must come from a single configuration.
1368        &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
1369        &quot;revisionTemplate&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190 # RevisionTemplate holds the latest specification for the Revision to be stamped out. The template references the container image, and may also include labels and annotations that should be attached to the Revision. To correlate a Revision, and/or to force a Revision to be created when the spec doesn&#x27;t otherwise change, a nonce label may be provided in the template metadata. For more details, see: https://github.com/knative/serving/blob/master/docs/client-conventions.md#associate-modifications-with-revisions Cloud Run does not currently support referencing a build that is responsible for materializing the container image from source.
1370          &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only). To set maximum instances for this revision, use the &quot;autoscaling.knative.dev/maxScale&quot; annotation key. To set Cloud SQL connections for the revision, use the &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be comma separated.
1371            &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
1372              &quot;a_key&quot;: &quot;A String&quot;,
1373            },
1374            &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
1375            &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
1376            &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
1377            &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
1378            &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
1379              &quot;A String&quot;,
1380            ],
1381            &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
1382            &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
1383            &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
1384              &quot;a_key&quot;: &quot;A String&quot;,
1385            },
1386            &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
1387            &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
1388            &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
1389              { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
1390                &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
1391                &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
1392                &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
1393                &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
1394                &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
1395                &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
1396              },
1397            ],
1398            &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
1399            &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
1400            &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
1401          },
1402          &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).
1403            &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model (Single or Multi) for the Revision. Defaults to Multi. Deprecated in favor of ContainerConcurrency. +optional
1404            &quot;container&quot;: { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime. # Container defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of the fields of this Container, including: name, ports, and volumeMounts. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
1405              &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
1406                &quot;A String&quot;,
1407              ],
1408              &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
1409                &quot;A String&quot;,
1410              ],
1411              &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
1412                { # EnvVar represents an environment variable present in a Container.
1413                  &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
1414                  &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
1415                  &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
1416                    &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
1417                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
1418                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
1419                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1420                      },
1421                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
1422                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
1423                    },
1424                    &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
1425                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
1426                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
1427                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1428                      },
1429                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
1430                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
1431                    },
1432                  },
1433                },
1434              ],
1435              &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
1436                { # EnvFromSource represents the source of a set of ConfigMaps
1437                  &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
1438                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
1439                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1440                    },
1441                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
1442                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
1443                  },
1444                  &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
1445                  &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
1446                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
1447                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1448                    },
1449                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
1450                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
1451                  },
1452                },
1453              ],
1454              &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
1455              &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
1456              &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
1457                &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
1458                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
1459                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
1460                      &quot;A String&quot;,
1461                    ],
1462                  },
1463                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
1464                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
1465                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
1466                      { # HTTPHeader describes a custom header to be used in HTTP probes
1467                        &quot;name&quot;: &quot;A String&quot;, # The header field name
1468                        &quot;value&quot;: &quot;A String&quot;, # The header field value
1469                      },
1470                    ],
1471                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
1472                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
1473                      &quot;intVal&quot;: 42, # The int value.
1474                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
1475                      &quot;type&quot;: 42, # The type of the value.
1476                    },
1477                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
1478                  },
1479                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
1480                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
1481                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
1482                      &quot;intVal&quot;: 42, # The int value.
1483                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
1484                      &quot;type&quot;: 42, # The type of the value.
1485                    },
1486                  },
1487                },
1488                &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
1489                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
1490                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
1491                      &quot;A String&quot;,
1492                    ],
1493                  },
1494                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
1495                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
1496                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
1497                      { # HTTPHeader describes a custom header to be used in HTTP probes
1498                        &quot;name&quot;: &quot;A String&quot;, # The header field name
1499                        &quot;value&quot;: &quot;A String&quot;, # The header field value
1500                      },
1501                    ],
1502                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
1503                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
1504                      &quot;intVal&quot;: 42, # The int value.
1505                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
1506                      &quot;type&quot;: 42, # The type of the value.
1507                    },
1508                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
1509                  },
1510                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
1511                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
1512                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
1513                      &quot;intVal&quot;: 42, # The int value.
1514                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
1515                      &quot;type&quot;: 42, # The type of the value.
1516                    },
1517                  },
1518                },
1519              },
1520              &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
1521                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
1522                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
1523                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
1524                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
1525                      &quot;A String&quot;,
1526                    ],
1527                  },
1528                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
1529                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
1530                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
1531                      { # HTTPHeader describes a custom header to be used in HTTP probes
1532                        &quot;name&quot;: &quot;A String&quot;, # The header field name
1533                        &quot;value&quot;: &quot;A String&quot;, # The header field value
1534                      },
1535                    ],
1536                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
1537                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
1538                      &quot;intVal&quot;: 42, # The int value.
1539                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
1540                      &quot;type&quot;: 42, # The type of the value.
1541                    },
1542                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
1543                  },
1544                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
1545                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
1546                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
1547                      &quot;intVal&quot;: 42, # The int value.
1548                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
1549                      &quot;type&quot;: 42, # The type of the value.
1550                    },
1551                  },
1552                },
1553                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
1554                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
1555                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
1556                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
1557              },
1558              &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
1559              &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
1560                { # ContainerPort represents a network port in a single container.
1561                  &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
1562                  &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
1563                  &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
1564                  &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
1565                  &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
1566                },
1567              ],
1568              &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
1569                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
1570                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
1571                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
1572                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
1573                      &quot;A String&quot;,
1574                    ],
1575                  },
1576                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
1577                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
1578                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
1579                      { # HTTPHeader describes a custom header to be used in HTTP probes
1580                        &quot;name&quot;: &quot;A String&quot;, # The header field name
1581                        &quot;value&quot;: &quot;A String&quot;, # The header field value
1582                      },
1583                    ],
1584                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
1585                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
1586                      &quot;intVal&quot;: 42, # The int value.
1587                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
1588                      &quot;type&quot;: 42, # The type of the value.
1589                    },
1590                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
1591                  },
1592                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
1593                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
1594                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
1595                      &quot;intVal&quot;: 42, # The int value.
1596                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
1597                      &quot;type&quot;: 42, # The type of the value.
1598                    },
1599                  },
1600                },
1601                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
1602                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
1603                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
1604                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
1605              },
1606              &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
1607                &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
1608                  &quot;a_key&quot;: &quot;A String&quot;,
1609                },
1610                &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
1611                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
1612                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
1613                  },
1614                },
1615                &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
1616                  &quot;a_key&quot;: &quot;A String&quot;,
1617                },
1618                &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
1619                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
1620                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
1621                  },
1622                },
1623              },
1624              &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
1625                &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
1626                &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
1627                  &quot;add&quot;: [ # Added capabilities +optional
1628                    &quot;A String&quot;,
1629                  ],
1630                  &quot;drop&quot;: [ # Removed capabilities +optional
1631                    &quot;A String&quot;,
1632                  ],
1633                },
1634                &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
1635                &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
1636                &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
1637                &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
1638                &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
1639                &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
1640                  &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
1641                  &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
1642                  &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
1643                  &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
1644                },
1645              },
1646              &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
1647              &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
1648              &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
1649              &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
1650              &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
1651              &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
1652                { # volumeDevice describes a mapping of a raw block device within a container.
1653                  &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
1654                  &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
1655                },
1656              ],
1657              &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
1658                { # VolumeMount describes a mounting of a Volume within a container.
1659                  &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
1660                  &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
1661                  &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
1662                  &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
1663                  &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
1664                },
1665              ],
1666              &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
1667            },
1668            &quot;containerConcurrency&quot;: 42, # (Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run on GKE: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
1669            &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided.
1670              { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
1671                &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
1672                  &quot;A String&quot;,
1673                ],
1674                &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
1675                  &quot;A String&quot;,
1676                ],
1677                &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
1678                  { # EnvVar represents an environment variable present in a Container.
1679                    &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
1680                    &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
1681                    &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
1682                      &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
1683                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
1684                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
1685                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1686                        },
1687                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
1688                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
1689                      },
1690                      &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
1691                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
1692                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
1693                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1694                        },
1695                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
1696                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
1697                      },
1698                    },
1699                  },
1700                ],
1701                &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
1702                  { # EnvFromSource represents the source of a set of ConfigMaps
1703                    &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
1704                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
1705                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1706                      },
1707                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
1708                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
1709                    },
1710                    &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
1711                    &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
1712                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
1713                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1714                      },
1715                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
1716                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
1717                    },
1718                  },
1719                ],
1720                &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
1721                &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
1722                &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
1723                  &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
1724                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
1725                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
1726                        &quot;A String&quot;,
1727                      ],
1728                    },
1729                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
1730                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
1731                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
1732                        { # HTTPHeader describes a custom header to be used in HTTP probes
1733                          &quot;name&quot;: &quot;A String&quot;, # The header field name
1734                          &quot;value&quot;: &quot;A String&quot;, # The header field value
1735                        },
1736                      ],
1737                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
1738                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
1739                        &quot;intVal&quot;: 42, # The int value.
1740                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
1741                        &quot;type&quot;: 42, # The type of the value.
1742                      },
1743                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
1744                    },
1745                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
1746                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
1747                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
1748                        &quot;intVal&quot;: 42, # The int value.
1749                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
1750                        &quot;type&quot;: 42, # The type of the value.
1751                      },
1752                    },
1753                  },
1754                  &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
1755                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
1756                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
1757                        &quot;A String&quot;,
1758                      ],
1759                    },
1760                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
1761                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
1762                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
1763                        { # HTTPHeader describes a custom header to be used in HTTP probes
1764                          &quot;name&quot;: &quot;A String&quot;, # The header field name
1765                          &quot;value&quot;: &quot;A String&quot;, # The header field value
1766                        },
1767                      ],
1768                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
1769                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
1770                        &quot;intVal&quot;: 42, # The int value.
1771                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
1772                        &quot;type&quot;: 42, # The type of the value.
1773                      },
1774                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
1775                    },
1776                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
1777                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
1778                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
1779                        &quot;intVal&quot;: 42, # The int value.
1780                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
1781                        &quot;type&quot;: 42, # The type of the value.
1782                      },
1783                    },
1784                  },
1785                },
1786                &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
1787                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
1788                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
1789                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
1790                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
1791                        &quot;A String&quot;,
1792                      ],
1793                    },
1794                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
1795                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
1796                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
1797                        { # HTTPHeader describes a custom header to be used in HTTP probes
1798                          &quot;name&quot;: &quot;A String&quot;, # The header field name
1799                          &quot;value&quot;: &quot;A String&quot;, # The header field value
1800                        },
1801                      ],
1802                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
1803                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
1804                        &quot;intVal&quot;: 42, # The int value.
1805                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
1806                        &quot;type&quot;: 42, # The type of the value.
1807                      },
1808                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
1809                    },
1810                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
1811                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
1812                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
1813                        &quot;intVal&quot;: 42, # The int value.
1814                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
1815                        &quot;type&quot;: 42, # The type of the value.
1816                      },
1817                    },
1818                  },
1819                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
1820                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
1821                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
1822                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
1823                },
1824                &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
1825                &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
1826                  { # ContainerPort represents a network port in a single container.
1827                    &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
1828                    &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
1829                    &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
1830                    &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
1831                    &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
1832                  },
1833                ],
1834                &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
1835                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
1836                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
1837                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
1838                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
1839                        &quot;A String&quot;,
1840                      ],
1841                    },
1842                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
1843                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
1844                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
1845                        { # HTTPHeader describes a custom header to be used in HTTP probes
1846                          &quot;name&quot;: &quot;A String&quot;, # The header field name
1847                          &quot;value&quot;: &quot;A String&quot;, # The header field value
1848                        },
1849                      ],
1850                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
1851                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
1852                        &quot;intVal&quot;: 42, # The int value.
1853                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
1854                        &quot;type&quot;: 42, # The type of the value.
1855                      },
1856                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
1857                    },
1858                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
1859                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
1860                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
1861                        &quot;intVal&quot;: 42, # The int value.
1862                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
1863                        &quot;type&quot;: 42, # The type of the value.
1864                      },
1865                    },
1866                  },
1867                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
1868                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
1869                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
1870                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
1871                },
1872                &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
1873                  &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
1874                    &quot;a_key&quot;: &quot;A String&quot;,
1875                  },
1876                  &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
1877                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
1878                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
1879                    },
1880                  },
1881                  &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
1882                    &quot;a_key&quot;: &quot;A String&quot;,
1883                  },
1884                  &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
1885                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
1886                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
1887                    },
1888                  },
1889                },
1890                &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
1891                  &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
1892                  &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
1893                    &quot;add&quot;: [ # Added capabilities +optional
1894                      &quot;A String&quot;,
1895                    ],
1896                    &quot;drop&quot;: [ # Removed capabilities +optional
1897                      &quot;A String&quot;,
1898                    ],
1899                  },
1900                  &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
1901                  &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
1902                  &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
1903                  &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
1904                  &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
1905                  &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
1906                    &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
1907                    &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
1908                    &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
1909                    &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
1910                  },
1911                },
1912                &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
1913                &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
1914                &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
1915                &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
1916                &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
1917                &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
1918                  { # volumeDevice describes a mapping of a raw block device within a container.
1919                    &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
1920                    &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
1921                  },
1922                ],
1923                &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
1924                  { # VolumeMount describes a mounting of a Volume within a container.
1925                    &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
1926                    &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
1927                    &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
1928                    &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
1929                    &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
1930                  },
1931                ],
1932                &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
1933              },
1934            ],
1935            &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
1936            &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
1937            &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources are in for this Revision. Users must not specify this when creating a revision. It is expected that the system will manipulate this based on routability and load. Populated by the system. Read-only.
1938            &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Not currently used by Cloud Run.
1939            &quot;volumes&quot;: [
1940              { # Volume represents a named volume in a container.
1941                &quot;configMap&quot;: { # Adapts a ConfigMap into a volume. The contents of the target ConfigMap&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.
1942                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
1943                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
1944                    { # Maps a string key to a path within a volume.
1945                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
1946                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
1947                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
1948                    },
1949                  ],
1950                  &quot;name&quot;: &quot;A String&quot;, # Name of the config.
1951                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
1952                },
1953                &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
1954                &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names.
1955                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
1956                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
1957                    { # Maps a string key to a path within a volume.
1958                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
1959                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
1960                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
1961                    },
1962                  ],
1963                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
1964                  &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
1965                },
1966              },
1967            ],
1968          },
1969        },
1970        &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190 # Template holds the latest specification for the Revision to be stamped out.
1971          &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only). To set maximum instances for this revision, use the &quot;autoscaling.knative.dev/maxScale&quot; annotation key. To set Cloud SQL connections for the revision, use the &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be comma separated.
1972            &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
1973              &quot;a_key&quot;: &quot;A String&quot;,
1974            },
1975            &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
1976            &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
1977            &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
1978            &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
1979            &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
1980              &quot;A String&quot;,
1981            ],
1982            &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
1983            &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
1984            &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
1985              &quot;a_key&quot;: &quot;A String&quot;,
1986            },
1987            &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
1988            &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
1989            &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
1990              { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
1991                &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
1992                &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
1993                &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
1994                &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
1995                &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
1996                &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
1997              },
1998            ],
1999            &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
2000            &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
2001            &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
2002          },
2003          &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).
2004            &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model (Single or Multi) for the Revision. Defaults to Multi. Deprecated in favor of ContainerConcurrency. +optional
2005            &quot;container&quot;: { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime. # Container defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of the fields of this Container, including: name, ports, and volumeMounts. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
2006              &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
2007                &quot;A String&quot;,
2008              ],
2009              &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
2010                &quot;A String&quot;,
2011              ],
2012              &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
2013                { # EnvVar represents an environment variable present in a Container.
2014                  &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
2015                  &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
2016                  &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
2017                    &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
2018                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
2019                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
2020                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
2021                      },
2022                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
2023                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
2024                    },
2025                    &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
2026                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
2027                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
2028                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
2029                      },
2030                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
2031                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
2032                    },
2033                  },
2034                },
2035              ],
2036              &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
2037                { # EnvFromSource represents the source of a set of ConfigMaps
2038                  &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
2039                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
2040                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
2041                    },
2042                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
2043                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
2044                  },
2045                  &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
2046                  &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
2047                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
2048                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
2049                    },
2050                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
2051                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
2052                  },
2053                },
2054              ],
2055              &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
2056              &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
2057              &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
2058                &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
2059                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
2060                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
2061                      &quot;A String&quot;,
2062                    ],
2063                  },
2064                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
2065                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
2066                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
2067                      { # HTTPHeader describes a custom header to be used in HTTP probes
2068                        &quot;name&quot;: &quot;A String&quot;, # The header field name
2069                        &quot;value&quot;: &quot;A String&quot;, # The header field value
2070                      },
2071                    ],
2072                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
2073                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
2074                      &quot;intVal&quot;: 42, # The int value.
2075                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
2076                      &quot;type&quot;: 42, # The type of the value.
2077                    },
2078                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
2079                  },
2080                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
2081                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
2082                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
2083                      &quot;intVal&quot;: 42, # The int value.
2084                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
2085                      &quot;type&quot;: 42, # The type of the value.
2086                    },
2087                  },
2088                },
2089                &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
2090                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
2091                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
2092                      &quot;A String&quot;,
2093                    ],
2094                  },
2095                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
2096                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
2097                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
2098                      { # HTTPHeader describes a custom header to be used in HTTP probes
2099                        &quot;name&quot;: &quot;A String&quot;, # The header field name
2100                        &quot;value&quot;: &quot;A String&quot;, # The header field value
2101                      },
2102                    ],
2103                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
2104                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
2105                      &quot;intVal&quot;: 42, # The int value.
2106                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
2107                      &quot;type&quot;: 42, # The type of the value.
2108                    },
2109                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
2110                  },
2111                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
2112                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
2113                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
2114                      &quot;intVal&quot;: 42, # The int value.
2115                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
2116                      &quot;type&quot;: 42, # The type of the value.
2117                    },
2118                  },
2119                },
2120              },
2121              &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
2122                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
2123                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
2124                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
2125                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
2126                      &quot;A String&quot;,
2127                    ],
2128                  },
2129                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
2130                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
2131                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
2132                      { # HTTPHeader describes a custom header to be used in HTTP probes
2133                        &quot;name&quot;: &quot;A String&quot;, # The header field name
2134                        &quot;value&quot;: &quot;A String&quot;, # The header field value
2135                      },
2136                    ],
2137                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
2138                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
2139                      &quot;intVal&quot;: 42, # The int value.
2140                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
2141                      &quot;type&quot;: 42, # The type of the value.
2142                    },
2143                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
2144                  },
2145                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
2146                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
2147                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
2148                      &quot;intVal&quot;: 42, # The int value.
2149                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
2150                      &quot;type&quot;: 42, # The type of the value.
2151                    },
2152                  },
2153                },
2154                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
2155                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
2156                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
2157                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
2158              },
2159              &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
2160              &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
2161                { # ContainerPort represents a network port in a single container.
2162                  &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
2163                  &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
2164                  &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
2165                  &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
2166                  &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
2167                },
2168              ],
2169              &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
2170                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
2171                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
2172                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
2173                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
2174                      &quot;A String&quot;,
2175                    ],
2176                  },
2177                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
2178                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
2179                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
2180                      { # HTTPHeader describes a custom header to be used in HTTP probes
2181                        &quot;name&quot;: &quot;A String&quot;, # The header field name
2182                        &quot;value&quot;: &quot;A String&quot;, # The header field value
2183                      },
2184                    ],
2185                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
2186                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
2187                      &quot;intVal&quot;: 42, # The int value.
2188                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
2189                      &quot;type&quot;: 42, # The type of the value.
2190                    },
2191                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
2192                  },
2193                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
2194                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
2195                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
2196                      &quot;intVal&quot;: 42, # The int value.
2197                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
2198                      &quot;type&quot;: 42, # The type of the value.
2199                    },
2200                  },
2201                },
2202                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
2203                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
2204                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
2205                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
2206              },
2207              &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
2208                &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
2209                  &quot;a_key&quot;: &quot;A String&quot;,
2210                },
2211                &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
2212                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
2213                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
2214                  },
2215                },
2216                &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
2217                  &quot;a_key&quot;: &quot;A String&quot;,
2218                },
2219                &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
2220                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
2221                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
2222                  },
2223                },
2224              },
2225              &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
2226                &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
2227                &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
2228                  &quot;add&quot;: [ # Added capabilities +optional
2229                    &quot;A String&quot;,
2230                  ],
2231                  &quot;drop&quot;: [ # Removed capabilities +optional
2232                    &quot;A String&quot;,
2233                  ],
2234                },
2235                &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
2236                &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
2237                &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
2238                &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
2239                &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
2240                &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
2241                  &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
2242                  &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
2243                  &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
2244                  &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
2245                },
2246              },
2247              &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
2248              &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
2249              &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
2250              &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
2251              &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
2252              &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
2253                { # volumeDevice describes a mapping of a raw block device within a container.
2254                  &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
2255                  &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
2256                },
2257              ],
2258              &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
2259                { # VolumeMount describes a mounting of a Volume within a container.
2260                  &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
2261                  &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
2262                  &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
2263                  &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
2264                  &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
2265                },
2266              ],
2267              &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
2268            },
2269            &quot;containerConcurrency&quot;: 42, # (Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run on GKE: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
2270            &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided.
2271              { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
2272                &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
2273                  &quot;A String&quot;,
2274                ],
2275                &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
2276                  &quot;A String&quot;,
2277                ],
2278                &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
2279                  { # EnvVar represents an environment variable present in a Container.
2280                    &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
2281                    &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
2282                    &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
2283                      &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
2284                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
2285                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
2286                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
2287                        },
2288                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
2289                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
2290                      },
2291                      &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
2292                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
2293                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
2294                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
2295                        },
2296                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
2297                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
2298                      },
2299                    },
2300                  },
2301                ],
2302                &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
2303                  { # EnvFromSource represents the source of a set of ConfigMaps
2304                    &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
2305                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
2306                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
2307                      },
2308                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
2309                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
2310                    },
2311                    &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
2312                    &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
2313                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
2314                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
2315                      },
2316                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
2317                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
2318                    },
2319                  },
2320                ],
2321                &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
2322                &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
2323                &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
2324                  &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
2325                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
2326                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
2327                        &quot;A String&quot;,
2328                      ],
2329                    },
2330                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
2331                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
2332                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
2333                        { # HTTPHeader describes a custom header to be used in HTTP probes
2334                          &quot;name&quot;: &quot;A String&quot;, # The header field name
2335                          &quot;value&quot;: &quot;A String&quot;, # The header field value
2336                        },
2337                      ],
2338                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
2339                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
2340                        &quot;intVal&quot;: 42, # The int value.
2341                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
2342                        &quot;type&quot;: 42, # The type of the value.
2343                      },
2344                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
2345                    },
2346                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
2347                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
2348                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
2349                        &quot;intVal&quot;: 42, # The int value.
2350                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
2351                        &quot;type&quot;: 42, # The type of the value.
2352                      },
2353                    },
2354                  },
2355                  &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
2356                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
2357                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
2358                        &quot;A String&quot;,
2359                      ],
2360                    },
2361                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
2362                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
2363                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
2364                        { # HTTPHeader describes a custom header to be used in HTTP probes
2365                          &quot;name&quot;: &quot;A String&quot;, # The header field name
2366                          &quot;value&quot;: &quot;A String&quot;, # The header field value
2367                        },
2368                      ],
2369                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
2370                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
2371                        &quot;intVal&quot;: 42, # The int value.
2372                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
2373                        &quot;type&quot;: 42, # The type of the value.
2374                      },
2375                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
2376                    },
2377                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
2378                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
2379                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
2380                        &quot;intVal&quot;: 42, # The int value.
2381                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
2382                        &quot;type&quot;: 42, # The type of the value.
2383                      },
2384                    },
2385                  },
2386                },
2387                &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
2388                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
2389                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
2390                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
2391                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
2392                        &quot;A String&quot;,
2393                      ],
2394                    },
2395                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
2396                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
2397                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
2398                        { # HTTPHeader describes a custom header to be used in HTTP probes
2399                          &quot;name&quot;: &quot;A String&quot;, # The header field name
2400                          &quot;value&quot;: &quot;A String&quot;, # The header field value
2401                        },
2402                      ],
2403                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
2404                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
2405                        &quot;intVal&quot;: 42, # The int value.
2406                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
2407                        &quot;type&quot;: 42, # The type of the value.
2408                      },
2409                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
2410                    },
2411                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
2412                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
2413                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
2414                        &quot;intVal&quot;: 42, # The int value.
2415                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
2416                        &quot;type&quot;: 42, # The type of the value.
2417                      },
2418                    },
2419                  },
2420                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
2421                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
2422                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
2423                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
2424                },
2425                &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
2426                &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
2427                  { # ContainerPort represents a network port in a single container.
2428                    &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
2429                    &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
2430                    &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
2431                    &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
2432                    &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
2433                  },
2434                ],
2435                &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
2436                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
2437                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
2438                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
2439                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
2440                        &quot;A String&quot;,
2441                      ],
2442                    },
2443                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
2444                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
2445                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
2446                        { # HTTPHeader describes a custom header to be used in HTTP probes
2447                          &quot;name&quot;: &quot;A String&quot;, # The header field name
2448                          &quot;value&quot;: &quot;A String&quot;, # The header field value
2449                        },
2450                      ],
2451                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
2452                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
2453                        &quot;intVal&quot;: 42, # The int value.
2454                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
2455                        &quot;type&quot;: 42, # The type of the value.
2456                      },
2457                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
2458                    },
2459                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
2460                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
2461                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
2462                        &quot;intVal&quot;: 42, # The int value.
2463                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
2464                        &quot;type&quot;: 42, # The type of the value.
2465                      },
2466                    },
2467                  },
2468                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
2469                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
2470                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
2471                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
2472                },
2473                &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
2474                  &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
2475                    &quot;a_key&quot;: &quot;A String&quot;,
2476                  },
2477                  &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
2478                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
2479                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
2480                    },
2481                  },
2482                  &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
2483                    &quot;a_key&quot;: &quot;A String&quot;,
2484                  },
2485                  &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
2486                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
2487                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
2488                    },
2489                  },
2490                },
2491                &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
2492                  &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
2493                  &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
2494                    &quot;add&quot;: [ # Added capabilities +optional
2495                      &quot;A String&quot;,
2496                    ],
2497                    &quot;drop&quot;: [ # Removed capabilities +optional
2498                      &quot;A String&quot;,
2499                    ],
2500                  },
2501                  &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
2502                  &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
2503                  &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
2504                  &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
2505                  &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
2506                  &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
2507                    &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
2508                    &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
2509                    &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
2510                    &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
2511                  },
2512                },
2513                &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
2514                &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
2515                &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
2516                &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
2517                &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
2518                &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
2519                  { # volumeDevice describes a mapping of a raw block device within a container.
2520                    &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
2521                    &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
2522                  },
2523                ],
2524                &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
2525                  { # VolumeMount describes a mounting of a Volume within a container.
2526                    &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
2527                    &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
2528                    &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
2529                    &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
2530                    &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
2531                  },
2532                ],
2533                &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
2534              },
2535            ],
2536            &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
2537            &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
2538            &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources are in for this Revision. Users must not specify this when creating a revision. It is expected that the system will manipulate this based on routability and load. Populated by the system. Read-only.
2539            &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Not currently used by Cloud Run.
2540            &quot;volumes&quot;: [
2541              { # Volume represents a named volume in a container.
2542                &quot;configMap&quot;: { # Adapts a ConfigMap into a volume. The contents of the target ConfigMap&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.
2543                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
2544                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
2545                    { # Maps a string key to a path within a volume.
2546                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
2547                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
2548                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
2549                    },
2550                  ],
2551                  &quot;name&quot;: &quot;A String&quot;, # Name of the config.
2552                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
2553                },
2554                &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
2555                &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names.
2556                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
2557                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
2558                    { # Maps a string key to a path within a volume.
2559                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
2560                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
2561                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
2562                    },
2563                  ],
2564                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
2565                  &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
2566                },
2567              },
2568            ],
2569          },
2570        },
2571      },
2572      &quot;revisions&quot;: [ # Revisions is an ordered list of 1 or 2 revisions. The first is the current revision, and the second is the candidate revision. If a single revision is provided, traffic will be pinned at that revision. &quot;@latest&quot; is a shortcut for usage that refers to the latest created revision by the configuration.
2573        &quot;A String&quot;,
2574      ],
2575      &quot;rolloutPercent&quot;: 42, # RolloutPercent is the percent of traffic that should be sent to the candidate revision, i.e. the 2nd revision in the revisions list. Valid values are between 0 and 99 inclusive.
2576    },
2577    &quot;runLatest&quot;: { # ServiceSpecRunLatest contains the options for always having a route to the latest configuration. See ServiceSpec for more details. # RunLatest defines a simple Service. It will automatically configure a route that keeps the latest ready revision from the supplied configuration running. +optional
2578      &quot;configuration&quot;: { # ConfigurationSpec holds the desired state of the Configuration (from the client). # The configuration for this service.
2579        &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
2580        &quot;revisionTemplate&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190 # RevisionTemplate holds the latest specification for the Revision to be stamped out. The template references the container image, and may also include labels and annotations that should be attached to the Revision. To correlate a Revision, and/or to force a Revision to be created when the spec doesn&#x27;t otherwise change, a nonce label may be provided in the template metadata. For more details, see: https://github.com/knative/serving/blob/master/docs/client-conventions.md#associate-modifications-with-revisions Cloud Run does not currently support referencing a build that is responsible for materializing the container image from source.
2581          &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only). To set maximum instances for this revision, use the &quot;autoscaling.knative.dev/maxScale&quot; annotation key. To set Cloud SQL connections for the revision, use the &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be comma separated.
2582            &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
2583              &quot;a_key&quot;: &quot;A String&quot;,
2584            },
2585            &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
2586            &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
2587            &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
2588            &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
2589            &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
2590              &quot;A String&quot;,
2591            ],
2592            &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
2593            &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
2594            &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
2595              &quot;a_key&quot;: &quot;A String&quot;,
2596            },
2597            &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
2598            &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
2599            &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
2600              { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
2601                &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
2602                &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
2603                &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
2604                &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
2605                &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
2606                &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
2607              },
2608            ],
2609            &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
2610            &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
2611            &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
2612          },
2613          &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).
2614            &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model (Single or Multi) for the Revision. Defaults to Multi. Deprecated in favor of ContainerConcurrency. +optional
2615            &quot;container&quot;: { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime. # Container defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of the fields of this Container, including: name, ports, and volumeMounts. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
2616              &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
2617                &quot;A String&quot;,
2618              ],
2619              &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
2620                &quot;A String&quot;,
2621              ],
2622              &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
2623                { # EnvVar represents an environment variable present in a Container.
2624                  &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
2625                  &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
2626                  &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
2627                    &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
2628                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
2629                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
2630                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
2631                      },
2632                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
2633                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
2634                    },
2635                    &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
2636                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
2637                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
2638                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
2639                      },
2640                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
2641                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
2642                    },
2643                  },
2644                },
2645              ],
2646              &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
2647                { # EnvFromSource represents the source of a set of ConfigMaps
2648                  &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
2649                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
2650                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
2651                    },
2652                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
2653                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
2654                  },
2655                  &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
2656                  &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
2657                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
2658                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
2659                    },
2660                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
2661                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
2662                  },
2663                },
2664              ],
2665              &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
2666              &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
2667              &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
2668                &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
2669                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
2670                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
2671                      &quot;A String&quot;,
2672                    ],
2673                  },
2674                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
2675                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
2676                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
2677                      { # HTTPHeader describes a custom header to be used in HTTP probes
2678                        &quot;name&quot;: &quot;A String&quot;, # The header field name
2679                        &quot;value&quot;: &quot;A String&quot;, # The header field value
2680                      },
2681                    ],
2682                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
2683                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
2684                      &quot;intVal&quot;: 42, # The int value.
2685                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
2686                      &quot;type&quot;: 42, # The type of the value.
2687                    },
2688                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
2689                  },
2690                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
2691                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
2692                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
2693                      &quot;intVal&quot;: 42, # The int value.
2694                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
2695                      &quot;type&quot;: 42, # The type of the value.
2696                    },
2697                  },
2698                },
2699                &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
2700                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
2701                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
2702                      &quot;A String&quot;,
2703                    ],
2704                  },
2705                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
2706                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
2707                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
2708                      { # HTTPHeader describes a custom header to be used in HTTP probes
2709                        &quot;name&quot;: &quot;A String&quot;, # The header field name
2710                        &quot;value&quot;: &quot;A String&quot;, # The header field value
2711                      },
2712                    ],
2713                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
2714                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
2715                      &quot;intVal&quot;: 42, # The int value.
2716                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
2717                      &quot;type&quot;: 42, # The type of the value.
2718                    },
2719                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
2720                  },
2721                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
2722                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
2723                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
2724                      &quot;intVal&quot;: 42, # The int value.
2725                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
2726                      &quot;type&quot;: 42, # The type of the value.
2727                    },
2728                  },
2729                },
2730              },
2731              &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
2732                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
2733                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
2734                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
2735                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
2736                      &quot;A String&quot;,
2737                    ],
2738                  },
2739                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
2740                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
2741                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
2742                      { # HTTPHeader describes a custom header to be used in HTTP probes
2743                        &quot;name&quot;: &quot;A String&quot;, # The header field name
2744                        &quot;value&quot;: &quot;A String&quot;, # The header field value
2745                      },
2746                    ],
2747                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
2748                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
2749                      &quot;intVal&quot;: 42, # The int value.
2750                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
2751                      &quot;type&quot;: 42, # The type of the value.
2752                    },
2753                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
2754                  },
2755                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
2756                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
2757                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
2758                      &quot;intVal&quot;: 42, # The int value.
2759                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
2760                      &quot;type&quot;: 42, # The type of the value.
2761                    },
2762                  },
2763                },
2764                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
2765                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
2766                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
2767                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
2768              },
2769              &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
2770              &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
2771                { # ContainerPort represents a network port in a single container.
2772                  &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
2773                  &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
2774                  &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
2775                  &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
2776                  &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
2777                },
2778              ],
2779              &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
2780                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
2781                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
2782                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
2783                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
2784                      &quot;A String&quot;,
2785                    ],
2786                  },
2787                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
2788                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
2789                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
2790                      { # HTTPHeader describes a custom header to be used in HTTP probes
2791                        &quot;name&quot;: &quot;A String&quot;, # The header field name
2792                        &quot;value&quot;: &quot;A String&quot;, # The header field value
2793                      },
2794                    ],
2795                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
2796                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
2797                      &quot;intVal&quot;: 42, # The int value.
2798                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
2799                      &quot;type&quot;: 42, # The type of the value.
2800                    },
2801                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
2802                  },
2803                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
2804                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
2805                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
2806                      &quot;intVal&quot;: 42, # The int value.
2807                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
2808                      &quot;type&quot;: 42, # The type of the value.
2809                    },
2810                  },
2811                },
2812                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
2813                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
2814                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
2815                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
2816              },
2817              &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
2818                &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
2819                  &quot;a_key&quot;: &quot;A String&quot;,
2820                },
2821                &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
2822                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
2823                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
2824                  },
2825                },
2826                &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
2827                  &quot;a_key&quot;: &quot;A String&quot;,
2828                },
2829                &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
2830                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
2831                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
2832                  },
2833                },
2834              },
2835              &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
2836                &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
2837                &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
2838                  &quot;add&quot;: [ # Added capabilities +optional
2839                    &quot;A String&quot;,
2840                  ],
2841                  &quot;drop&quot;: [ # Removed capabilities +optional
2842                    &quot;A String&quot;,
2843                  ],
2844                },
2845                &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
2846                &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
2847                &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
2848                &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
2849                &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
2850                &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
2851                  &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
2852                  &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
2853                  &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
2854                  &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
2855                },
2856              },
2857              &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
2858              &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
2859              &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
2860              &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
2861              &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
2862              &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
2863                { # volumeDevice describes a mapping of a raw block device within a container.
2864                  &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
2865                  &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
2866                },
2867              ],
2868              &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
2869                { # VolumeMount describes a mounting of a Volume within a container.
2870                  &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
2871                  &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
2872                  &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
2873                  &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
2874                  &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
2875                },
2876              ],
2877              &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
2878            },
2879            &quot;containerConcurrency&quot;: 42, # (Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run on GKE: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
2880            &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided.
2881              { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
2882                &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
2883                  &quot;A String&quot;,
2884                ],
2885                &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
2886                  &quot;A String&quot;,
2887                ],
2888                &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
2889                  { # EnvVar represents an environment variable present in a Container.
2890                    &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
2891                    &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
2892                    &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
2893                      &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
2894                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
2895                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
2896                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
2897                        },
2898                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
2899                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
2900                      },
2901                      &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
2902                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
2903                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
2904                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
2905                        },
2906                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
2907                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
2908                      },
2909                    },
2910                  },
2911                ],
2912                &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
2913                  { # EnvFromSource represents the source of a set of ConfigMaps
2914                    &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
2915                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
2916                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
2917                      },
2918                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
2919                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
2920                    },
2921                    &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
2922                    &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
2923                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
2924                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
2925                      },
2926                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
2927                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
2928                    },
2929                  },
2930                ],
2931                &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
2932                &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
2933                &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
2934                  &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
2935                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
2936                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
2937                        &quot;A String&quot;,
2938                      ],
2939                    },
2940                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
2941                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
2942                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
2943                        { # HTTPHeader describes a custom header to be used in HTTP probes
2944                          &quot;name&quot;: &quot;A String&quot;, # The header field name
2945                          &quot;value&quot;: &quot;A String&quot;, # The header field value
2946                        },
2947                      ],
2948                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
2949                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
2950                        &quot;intVal&quot;: 42, # The int value.
2951                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
2952                        &quot;type&quot;: 42, # The type of the value.
2953                      },
2954                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
2955                    },
2956                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
2957                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
2958                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
2959                        &quot;intVal&quot;: 42, # The int value.
2960                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
2961                        &quot;type&quot;: 42, # The type of the value.
2962                      },
2963                    },
2964                  },
2965                  &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
2966                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
2967                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
2968                        &quot;A String&quot;,
2969                      ],
2970                    },
2971                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
2972                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
2973                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
2974                        { # HTTPHeader describes a custom header to be used in HTTP probes
2975                          &quot;name&quot;: &quot;A String&quot;, # The header field name
2976                          &quot;value&quot;: &quot;A String&quot;, # The header field value
2977                        },
2978                      ],
2979                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
2980                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
2981                        &quot;intVal&quot;: 42, # The int value.
2982                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
2983                        &quot;type&quot;: 42, # The type of the value.
2984                      },
2985                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
2986                    },
2987                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
2988                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
2989                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
2990                        &quot;intVal&quot;: 42, # The int value.
2991                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
2992                        &quot;type&quot;: 42, # The type of the value.
2993                      },
2994                    },
2995                  },
2996                },
2997                &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
2998                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
2999                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
3000                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
3001                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
3002                        &quot;A String&quot;,
3003                      ],
3004                    },
3005                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
3006                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
3007                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
3008                        { # HTTPHeader describes a custom header to be used in HTTP probes
3009                          &quot;name&quot;: &quot;A String&quot;, # The header field name
3010                          &quot;value&quot;: &quot;A String&quot;, # The header field value
3011                        },
3012                      ],
3013                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
3014                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
3015                        &quot;intVal&quot;: 42, # The int value.
3016                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
3017                        &quot;type&quot;: 42, # The type of the value.
3018                      },
3019                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
3020                    },
3021                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
3022                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
3023                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
3024                        &quot;intVal&quot;: 42, # The int value.
3025                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
3026                        &quot;type&quot;: 42, # The type of the value.
3027                      },
3028                    },
3029                  },
3030                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
3031                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
3032                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
3033                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
3034                },
3035                &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
3036                &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
3037                  { # ContainerPort represents a network port in a single container.
3038                    &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
3039                    &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
3040                    &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
3041                    &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
3042                    &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
3043                  },
3044                ],
3045                &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
3046                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
3047                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
3048                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
3049                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
3050                        &quot;A String&quot;,
3051                      ],
3052                    },
3053                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
3054                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
3055                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
3056                        { # HTTPHeader describes a custom header to be used in HTTP probes
3057                          &quot;name&quot;: &quot;A String&quot;, # The header field name
3058                          &quot;value&quot;: &quot;A String&quot;, # The header field value
3059                        },
3060                      ],
3061                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
3062                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
3063                        &quot;intVal&quot;: 42, # The int value.
3064                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
3065                        &quot;type&quot;: 42, # The type of the value.
3066                      },
3067                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
3068                    },
3069                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
3070                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
3071                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
3072                        &quot;intVal&quot;: 42, # The int value.
3073                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
3074                        &quot;type&quot;: 42, # The type of the value.
3075                      },
3076                    },
3077                  },
3078                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
3079                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
3080                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
3081                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
3082                },
3083                &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
3084                  &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
3085                    &quot;a_key&quot;: &quot;A String&quot;,
3086                  },
3087                  &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
3088                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
3089                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
3090                    },
3091                  },
3092                  &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
3093                    &quot;a_key&quot;: &quot;A String&quot;,
3094                  },
3095                  &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
3096                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
3097                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
3098                    },
3099                  },
3100                },
3101                &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
3102                  &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
3103                  &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
3104                    &quot;add&quot;: [ # Added capabilities +optional
3105                      &quot;A String&quot;,
3106                    ],
3107                    &quot;drop&quot;: [ # Removed capabilities +optional
3108                      &quot;A String&quot;,
3109                    ],
3110                  },
3111                  &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
3112                  &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
3113                  &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
3114                  &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
3115                  &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
3116                  &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
3117                    &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
3118                    &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
3119                    &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
3120                    &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
3121                  },
3122                },
3123                &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
3124                &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
3125                &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
3126                &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
3127                &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
3128                &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
3129                  { # volumeDevice describes a mapping of a raw block device within a container.
3130                    &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
3131                    &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
3132                  },
3133                ],
3134                &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
3135                  { # VolumeMount describes a mounting of a Volume within a container.
3136                    &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
3137                    &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
3138                    &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
3139                    &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
3140                    &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
3141                  },
3142                ],
3143                &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
3144              },
3145            ],
3146            &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
3147            &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
3148            &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources are in for this Revision. Users must not specify this when creating a revision. It is expected that the system will manipulate this based on routability and load. Populated by the system. Read-only.
3149            &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Not currently used by Cloud Run.
3150            &quot;volumes&quot;: [
3151              { # Volume represents a named volume in a container.
3152                &quot;configMap&quot;: { # Adapts a ConfigMap into a volume. The contents of the target ConfigMap&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.
3153                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
3154                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
3155                    { # Maps a string key to a path within a volume.
3156                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
3157                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
3158                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
3159                    },
3160                  ],
3161                  &quot;name&quot;: &quot;A String&quot;, # Name of the config.
3162                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
3163                },
3164                &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
3165                &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names.
3166                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
3167                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
3168                    { # Maps a string key to a path within a volume.
3169                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
3170                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
3171                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
3172                    },
3173                  ],
3174                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
3175                  &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
3176                },
3177              },
3178            ],
3179          },
3180        },
3181        &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190 # Template holds the latest specification for the Revision to be stamped out.
3182          &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only). To set maximum instances for this revision, use the &quot;autoscaling.knative.dev/maxScale&quot; annotation key. To set Cloud SQL connections for the revision, use the &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be comma separated.
3183            &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
3184              &quot;a_key&quot;: &quot;A String&quot;,
3185            },
3186            &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
3187            &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
3188            &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
3189            &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
3190            &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
3191              &quot;A String&quot;,
3192            ],
3193            &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
3194            &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
3195            &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
3196              &quot;a_key&quot;: &quot;A String&quot;,
3197            },
3198            &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
3199            &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
3200            &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
3201              { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
3202                &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
3203                &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
3204                &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
3205                &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
3206                &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
3207                &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
3208              },
3209            ],
3210            &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
3211            &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
3212            &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
3213          },
3214          &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).
3215            &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model (Single or Multi) for the Revision. Defaults to Multi. Deprecated in favor of ContainerConcurrency. +optional
3216            &quot;container&quot;: { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime. # Container defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of the fields of this Container, including: name, ports, and volumeMounts. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
3217              &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
3218                &quot;A String&quot;,
3219              ],
3220              &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
3221                &quot;A String&quot;,
3222              ],
3223              &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
3224                { # EnvVar represents an environment variable present in a Container.
3225                  &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
3226                  &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
3227                  &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
3228                    &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
3229                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
3230                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
3231                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3232                      },
3233                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
3234                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
3235                    },
3236                    &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
3237                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
3238                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
3239                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3240                      },
3241                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
3242                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
3243                    },
3244                  },
3245                },
3246              ],
3247              &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
3248                { # EnvFromSource represents the source of a set of ConfigMaps
3249                  &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
3250                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
3251                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3252                    },
3253                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
3254                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
3255                  },
3256                  &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
3257                  &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
3258                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
3259                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3260                    },
3261                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
3262                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
3263                  },
3264                },
3265              ],
3266              &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
3267              &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
3268              &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
3269                &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
3270                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
3271                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
3272                      &quot;A String&quot;,
3273                    ],
3274                  },
3275                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
3276                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
3277                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
3278                      { # HTTPHeader describes a custom header to be used in HTTP probes
3279                        &quot;name&quot;: &quot;A String&quot;, # The header field name
3280                        &quot;value&quot;: &quot;A String&quot;, # The header field value
3281                      },
3282                    ],
3283                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
3284                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
3285                      &quot;intVal&quot;: 42, # The int value.
3286                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
3287                      &quot;type&quot;: 42, # The type of the value.
3288                    },
3289                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
3290                  },
3291                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
3292                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
3293                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
3294                      &quot;intVal&quot;: 42, # The int value.
3295                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
3296                      &quot;type&quot;: 42, # The type of the value.
3297                    },
3298                  },
3299                },
3300                &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
3301                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
3302                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
3303                      &quot;A String&quot;,
3304                    ],
3305                  },
3306                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
3307                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
3308                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
3309                      { # HTTPHeader describes a custom header to be used in HTTP probes
3310                        &quot;name&quot;: &quot;A String&quot;, # The header field name
3311                        &quot;value&quot;: &quot;A String&quot;, # The header field value
3312                      },
3313                    ],
3314                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
3315                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
3316                      &quot;intVal&quot;: 42, # The int value.
3317                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
3318                      &quot;type&quot;: 42, # The type of the value.
3319                    },
3320                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
3321                  },
3322                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
3323                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
3324                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
3325                      &quot;intVal&quot;: 42, # The int value.
3326                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
3327                      &quot;type&quot;: 42, # The type of the value.
3328                    },
3329                  },
3330                },
3331              },
3332              &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
3333                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
3334                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
3335                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
3336                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
3337                      &quot;A String&quot;,
3338                    ],
3339                  },
3340                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
3341                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
3342                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
3343                      { # HTTPHeader describes a custom header to be used in HTTP probes
3344                        &quot;name&quot;: &quot;A String&quot;, # The header field name
3345                        &quot;value&quot;: &quot;A String&quot;, # The header field value
3346                      },
3347                    ],
3348                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
3349                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
3350                      &quot;intVal&quot;: 42, # The int value.
3351                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
3352                      &quot;type&quot;: 42, # The type of the value.
3353                    },
3354                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
3355                  },
3356                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
3357                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
3358                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
3359                      &quot;intVal&quot;: 42, # The int value.
3360                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
3361                      &quot;type&quot;: 42, # The type of the value.
3362                    },
3363                  },
3364                },
3365                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
3366                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
3367                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
3368                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
3369              },
3370              &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
3371              &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
3372                { # ContainerPort represents a network port in a single container.
3373                  &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
3374                  &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
3375                  &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
3376                  &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
3377                  &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
3378                },
3379              ],
3380              &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
3381                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
3382                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
3383                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
3384                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
3385                      &quot;A String&quot;,
3386                    ],
3387                  },
3388                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
3389                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
3390                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
3391                      { # HTTPHeader describes a custom header to be used in HTTP probes
3392                        &quot;name&quot;: &quot;A String&quot;, # The header field name
3393                        &quot;value&quot;: &quot;A String&quot;, # The header field value
3394                      },
3395                    ],
3396                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
3397                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
3398                      &quot;intVal&quot;: 42, # The int value.
3399                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
3400                      &quot;type&quot;: 42, # The type of the value.
3401                    },
3402                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
3403                  },
3404                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
3405                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
3406                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
3407                      &quot;intVal&quot;: 42, # The int value.
3408                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
3409                      &quot;type&quot;: 42, # The type of the value.
3410                    },
3411                  },
3412                },
3413                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
3414                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
3415                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
3416                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
3417              },
3418              &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
3419                &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
3420                  &quot;a_key&quot;: &quot;A String&quot;,
3421                },
3422                &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
3423                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
3424                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
3425                  },
3426                },
3427                &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
3428                  &quot;a_key&quot;: &quot;A String&quot;,
3429                },
3430                &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
3431                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
3432                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
3433                  },
3434                },
3435              },
3436              &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
3437                &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
3438                &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
3439                  &quot;add&quot;: [ # Added capabilities +optional
3440                    &quot;A String&quot;,
3441                  ],
3442                  &quot;drop&quot;: [ # Removed capabilities +optional
3443                    &quot;A String&quot;,
3444                  ],
3445                },
3446                &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
3447                &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
3448                &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
3449                &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
3450                &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
3451                &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
3452                  &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
3453                  &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
3454                  &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
3455                  &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
3456                },
3457              },
3458              &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
3459              &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
3460              &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
3461              &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
3462              &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
3463              &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
3464                { # volumeDevice describes a mapping of a raw block device within a container.
3465                  &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
3466                  &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
3467                },
3468              ],
3469              &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
3470                { # VolumeMount describes a mounting of a Volume within a container.
3471                  &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
3472                  &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
3473                  &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
3474                  &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
3475                  &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
3476                },
3477              ],
3478              &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
3479            },
3480            &quot;containerConcurrency&quot;: 42, # (Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run on GKE: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
3481            &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided.
3482              { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
3483                &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
3484                  &quot;A String&quot;,
3485                ],
3486                &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
3487                  &quot;A String&quot;,
3488                ],
3489                &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
3490                  { # EnvVar represents an environment variable present in a Container.
3491                    &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
3492                    &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
3493                    &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
3494                      &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
3495                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
3496                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
3497                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3498                        },
3499                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
3500                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
3501                      },
3502                      &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
3503                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
3504                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
3505                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3506                        },
3507                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
3508                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
3509                      },
3510                    },
3511                  },
3512                ],
3513                &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
3514                  { # EnvFromSource represents the source of a set of ConfigMaps
3515                    &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
3516                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
3517                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3518                      },
3519                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
3520                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
3521                    },
3522                    &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
3523                    &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
3524                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
3525                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3526                      },
3527                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
3528                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
3529                    },
3530                  },
3531                ],
3532                &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
3533                &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
3534                &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
3535                  &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
3536                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
3537                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
3538                        &quot;A String&quot;,
3539                      ],
3540                    },
3541                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
3542                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
3543                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
3544                        { # HTTPHeader describes a custom header to be used in HTTP probes
3545                          &quot;name&quot;: &quot;A String&quot;, # The header field name
3546                          &quot;value&quot;: &quot;A String&quot;, # The header field value
3547                        },
3548                      ],
3549                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
3550                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
3551                        &quot;intVal&quot;: 42, # The int value.
3552                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
3553                        &quot;type&quot;: 42, # The type of the value.
3554                      },
3555                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
3556                    },
3557                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
3558                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
3559                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
3560                        &quot;intVal&quot;: 42, # The int value.
3561                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
3562                        &quot;type&quot;: 42, # The type of the value.
3563                      },
3564                    },
3565                  },
3566                  &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
3567                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
3568                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
3569                        &quot;A String&quot;,
3570                      ],
3571                    },
3572                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
3573                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
3574                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
3575                        { # HTTPHeader describes a custom header to be used in HTTP probes
3576                          &quot;name&quot;: &quot;A String&quot;, # The header field name
3577                          &quot;value&quot;: &quot;A String&quot;, # The header field value
3578                        },
3579                      ],
3580                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
3581                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
3582                        &quot;intVal&quot;: 42, # The int value.
3583                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
3584                        &quot;type&quot;: 42, # The type of the value.
3585                      },
3586                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
3587                    },
3588                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
3589                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
3590                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
3591                        &quot;intVal&quot;: 42, # The int value.
3592                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
3593                        &quot;type&quot;: 42, # The type of the value.
3594                      },
3595                    },
3596                  },
3597                },
3598                &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
3599                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
3600                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
3601                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
3602                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
3603                        &quot;A String&quot;,
3604                      ],
3605                    },
3606                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
3607                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
3608                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
3609                        { # HTTPHeader describes a custom header to be used in HTTP probes
3610                          &quot;name&quot;: &quot;A String&quot;, # The header field name
3611                          &quot;value&quot;: &quot;A String&quot;, # The header field value
3612                        },
3613                      ],
3614                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
3615                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
3616                        &quot;intVal&quot;: 42, # The int value.
3617                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
3618                        &quot;type&quot;: 42, # The type of the value.
3619                      },
3620                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
3621                    },
3622                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
3623                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
3624                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
3625                        &quot;intVal&quot;: 42, # The int value.
3626                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
3627                        &quot;type&quot;: 42, # The type of the value.
3628                      },
3629                    },
3630                  },
3631                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
3632                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
3633                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
3634                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
3635                },
3636                &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
3637                &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
3638                  { # ContainerPort represents a network port in a single container.
3639                    &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
3640                    &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
3641                    &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
3642                    &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
3643                    &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
3644                  },
3645                ],
3646                &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
3647                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
3648                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
3649                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
3650                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
3651                        &quot;A String&quot;,
3652                      ],
3653                    },
3654                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
3655                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
3656                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
3657                        { # HTTPHeader describes a custom header to be used in HTTP probes
3658                          &quot;name&quot;: &quot;A String&quot;, # The header field name
3659                          &quot;value&quot;: &quot;A String&quot;, # The header field value
3660                        },
3661                      ],
3662                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
3663                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
3664                        &quot;intVal&quot;: 42, # The int value.
3665                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
3666                        &quot;type&quot;: 42, # The type of the value.
3667                      },
3668                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
3669                    },
3670                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
3671                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
3672                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
3673                        &quot;intVal&quot;: 42, # The int value.
3674                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
3675                        &quot;type&quot;: 42, # The type of the value.
3676                      },
3677                    },
3678                  },
3679                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
3680                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
3681                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
3682                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
3683                },
3684                &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
3685                  &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
3686                    &quot;a_key&quot;: &quot;A String&quot;,
3687                  },
3688                  &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
3689                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
3690                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
3691                    },
3692                  },
3693                  &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
3694                    &quot;a_key&quot;: &quot;A String&quot;,
3695                  },
3696                  &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
3697                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
3698                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
3699                    },
3700                  },
3701                },
3702                &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
3703                  &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
3704                  &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
3705                    &quot;add&quot;: [ # Added capabilities +optional
3706                      &quot;A String&quot;,
3707                    ],
3708                    &quot;drop&quot;: [ # Removed capabilities +optional
3709                      &quot;A String&quot;,
3710                    ],
3711                  },
3712                  &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
3713                  &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
3714                  &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
3715                  &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
3716                  &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
3717                  &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
3718                    &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
3719                    &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
3720                    &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
3721                    &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
3722                  },
3723                },
3724                &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
3725                &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
3726                &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
3727                &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
3728                &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
3729                &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
3730                  { # volumeDevice describes a mapping of a raw block device within a container.
3731                    &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
3732                    &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
3733                  },
3734                ],
3735                &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
3736                  { # VolumeMount describes a mounting of a Volume within a container.
3737                    &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
3738                    &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
3739                    &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
3740                    &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
3741                    &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
3742                  },
3743                ],
3744                &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
3745              },
3746            ],
3747            &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
3748            &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
3749            &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources are in for this Revision. Users must not specify this when creating a revision. It is expected that the system will manipulate this based on routability and load. Populated by the system. Read-only.
3750            &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Not currently used by Cloud Run.
3751            &quot;volumes&quot;: [
3752              { # Volume represents a named volume in a container.
3753                &quot;configMap&quot;: { # Adapts a ConfigMap into a volume. The contents of the target ConfigMap&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.
3754                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
3755                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
3756                    { # Maps a string key to a path within a volume.
3757                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
3758                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
3759                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
3760                    },
3761                  ],
3762                  &quot;name&quot;: &quot;A String&quot;, # Name of the config.
3763                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
3764                },
3765                &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
3766                &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names.
3767                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
3768                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
3769                    { # Maps a string key to a path within a volume.
3770                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
3771                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
3772                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
3773                    },
3774                  ],
3775                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
3776                  &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
3777                },
3778              },
3779            ],
3780          },
3781        },
3782      },
3783    },
3784    &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190 # Template holds the latest specification for the Revision to be stamped out.
3785      &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only). To set maximum instances for this revision, use the &quot;autoscaling.knative.dev/maxScale&quot; annotation key. To set Cloud SQL connections for the revision, use the &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be comma separated.
3786        &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
3787          &quot;a_key&quot;: &quot;A String&quot;,
3788        },
3789        &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
3790        &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
3791        &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
3792        &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
3793        &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
3794          &quot;A String&quot;,
3795        ],
3796        &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
3797        &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
3798        &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
3799          &quot;a_key&quot;: &quot;A String&quot;,
3800        },
3801        &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
3802        &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
3803        &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
3804          { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
3805            &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
3806            &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
3807            &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
3808            &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
3809            &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
3810            &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
3811          },
3812        ],
3813        &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
3814        &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
3815        &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
3816      },
3817      &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).
3818        &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model (Single or Multi) for the Revision. Defaults to Multi. Deprecated in favor of ContainerConcurrency. +optional
3819        &quot;container&quot;: { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime. # Container defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of the fields of this Container, including: name, ports, and volumeMounts. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
3820          &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
3821            &quot;A String&quot;,
3822          ],
3823          &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
3824            &quot;A String&quot;,
3825          ],
3826          &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
3827            { # EnvVar represents an environment variable present in a Container.
3828              &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
3829              &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
3830              &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
3831                &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
3832                  &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
3833                  &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
3834                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3835                  },
3836                  &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
3837                  &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
3838                },
3839                &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
3840                  &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
3841                  &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
3842                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3843                  },
3844                  &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
3845                  &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
3846                },
3847              },
3848            },
3849          ],
3850          &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
3851            { # EnvFromSource represents the source of a set of ConfigMaps
3852              &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
3853                &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
3854                  &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3855                },
3856                &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
3857                &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
3858              },
3859              &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
3860              &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
3861                &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
3862                  &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3863                },
3864                &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
3865                &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
3866              },
3867            },
3868          ],
3869          &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
3870          &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
3871          &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
3872            &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
3873              &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
3874                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
3875                  &quot;A String&quot;,
3876                ],
3877              },
3878              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
3879                &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
3880                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
3881                  { # HTTPHeader describes a custom header to be used in HTTP probes
3882                    &quot;name&quot;: &quot;A String&quot;, # The header field name
3883                    &quot;value&quot;: &quot;A String&quot;, # The header field value
3884                  },
3885                ],
3886                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
3887                &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
3888                  &quot;intVal&quot;: 42, # The int value.
3889                  &quot;strVal&quot;: &quot;A String&quot;, # The string value.
3890                  &quot;type&quot;: 42, # The type of the value.
3891                },
3892                &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
3893              },
3894              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
3895                &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
3896                &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
3897                  &quot;intVal&quot;: 42, # The int value.
3898                  &quot;strVal&quot;: &quot;A String&quot;, # The string value.
3899                  &quot;type&quot;: 42, # The type of the value.
3900                },
3901              },
3902            },
3903            &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
3904              &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
3905                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
3906                  &quot;A String&quot;,
3907                ],
3908              },
3909              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
3910                &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
3911                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
3912                  { # HTTPHeader describes a custom header to be used in HTTP probes
3913                    &quot;name&quot;: &quot;A String&quot;, # The header field name
3914                    &quot;value&quot;: &quot;A String&quot;, # The header field value
3915                  },
3916                ],
3917                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
3918                &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
3919                  &quot;intVal&quot;: 42, # The int value.
3920                  &quot;strVal&quot;: &quot;A String&quot;, # The string value.
3921                  &quot;type&quot;: 42, # The type of the value.
3922                },
3923                &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
3924              },
3925              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
3926                &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
3927                &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
3928                  &quot;intVal&quot;: 42, # The int value.
3929                  &quot;strVal&quot;: &quot;A String&quot;, # The string value.
3930                  &quot;type&quot;: 42, # The type of the value.
3931                },
3932              },
3933            },
3934          },
3935          &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
3936            &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
3937            &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
3938              &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
3939                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
3940                  &quot;A String&quot;,
3941                ],
3942              },
3943              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
3944                &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
3945                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
3946                  { # HTTPHeader describes a custom header to be used in HTTP probes
3947                    &quot;name&quot;: &quot;A String&quot;, # The header field name
3948                    &quot;value&quot;: &quot;A String&quot;, # The header field value
3949                  },
3950                ],
3951                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
3952                &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
3953                  &quot;intVal&quot;: 42, # The int value.
3954                  &quot;strVal&quot;: &quot;A String&quot;, # The string value.
3955                  &quot;type&quot;: 42, # The type of the value.
3956                },
3957                &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
3958              },
3959              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
3960                &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
3961                &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
3962                  &quot;intVal&quot;: 42, # The int value.
3963                  &quot;strVal&quot;: &quot;A String&quot;, # The string value.
3964                  &quot;type&quot;: 42, # The type of the value.
3965                },
3966              },
3967            },
3968            &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
3969            &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
3970            &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
3971            &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
3972          },
3973          &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
3974          &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
3975            { # ContainerPort represents a network port in a single container.
3976              &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
3977              &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
3978              &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
3979              &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
3980              &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
3981            },
3982          ],
3983          &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
3984            &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
3985            &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
3986              &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
3987                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
3988                  &quot;A String&quot;,
3989                ],
3990              },
3991              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
3992                &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
3993                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
3994                  { # HTTPHeader describes a custom header to be used in HTTP probes
3995                    &quot;name&quot;: &quot;A String&quot;, # The header field name
3996                    &quot;value&quot;: &quot;A String&quot;, # The header field value
3997                  },
3998                ],
3999                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
4000                &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
4001                  &quot;intVal&quot;: 42, # The int value.
4002                  &quot;strVal&quot;: &quot;A String&quot;, # The string value.
4003                  &quot;type&quot;: 42, # The type of the value.
4004                },
4005                &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
4006              },
4007              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
4008                &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
4009                &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
4010                  &quot;intVal&quot;: 42, # The int value.
4011                  &quot;strVal&quot;: &quot;A String&quot;, # The string value.
4012                  &quot;type&quot;: 42, # The type of the value.
4013                },
4014              },
4015            },
4016            &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
4017            &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
4018            &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
4019            &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
4020          },
4021          &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
4022            &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
4023              &quot;a_key&quot;: &quot;A String&quot;,
4024            },
4025            &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
4026              &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
4027                &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
4028              },
4029            },
4030            &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
4031              &quot;a_key&quot;: &quot;A String&quot;,
4032            },
4033            &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
4034              &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
4035                &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
4036              },
4037            },
4038          },
4039          &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
4040            &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
4041            &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
4042              &quot;add&quot;: [ # Added capabilities +optional
4043                &quot;A String&quot;,
4044              ],
4045              &quot;drop&quot;: [ # Removed capabilities +optional
4046                &quot;A String&quot;,
4047              ],
4048            },
4049            &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
4050            &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
4051            &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
4052            &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
4053            &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
4054            &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
4055              &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
4056              &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
4057              &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
4058              &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
4059            },
4060          },
4061          &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
4062          &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
4063          &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
4064          &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
4065          &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
4066          &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
4067            { # volumeDevice describes a mapping of a raw block device within a container.
4068              &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
4069              &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
4070            },
4071          ],
4072          &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
4073            { # VolumeMount describes a mounting of a Volume within a container.
4074              &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
4075              &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
4076              &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
4077              &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
4078              &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
4079            },
4080          ],
4081          &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
4082        },
4083        &quot;containerConcurrency&quot;: 42, # (Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run on GKE: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
4084        &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided.
4085          { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
4086            &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
4087              &quot;A String&quot;,
4088            ],
4089            &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
4090              &quot;A String&quot;,
4091            ],
4092            &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
4093              { # EnvVar represents an environment variable present in a Container.
4094                &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
4095                &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
4096                &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
4097                  &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
4098                    &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
4099                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
4100                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
4101                    },
4102                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
4103                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
4104                  },
4105                  &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
4106                    &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
4107                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
4108                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
4109                    },
4110                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
4111                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
4112                  },
4113                },
4114              },
4115            ],
4116            &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
4117              { # EnvFromSource represents the source of a set of ConfigMaps
4118                &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
4119                  &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
4120                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
4121                  },
4122                  &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
4123                  &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
4124                },
4125                &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
4126                &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
4127                  &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
4128                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
4129                  },
4130                  &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
4131                  &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
4132                },
4133              },
4134            ],
4135            &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
4136            &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
4137            &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
4138              &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
4139                &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
4140                  &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
4141                    &quot;A String&quot;,
4142                  ],
4143                },
4144                &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
4145                  &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
4146                  &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
4147                    { # HTTPHeader describes a custom header to be used in HTTP probes
4148                      &quot;name&quot;: &quot;A String&quot;, # The header field name
4149                      &quot;value&quot;: &quot;A String&quot;, # The header field value
4150                    },
4151                  ],
4152                  &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
4153                  &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
4154                    &quot;intVal&quot;: 42, # The int value.
4155                    &quot;strVal&quot;: &quot;A String&quot;, # The string value.
4156                    &quot;type&quot;: 42, # The type of the value.
4157                  },
4158                  &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
4159                },
4160                &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
4161                  &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
4162                  &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
4163                    &quot;intVal&quot;: 42, # The int value.
4164                    &quot;strVal&quot;: &quot;A String&quot;, # The string value.
4165                    &quot;type&quot;: 42, # The type of the value.
4166                  },
4167                },
4168              },
4169              &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
4170                &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
4171                  &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
4172                    &quot;A String&quot;,
4173                  ],
4174                },
4175                &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
4176                  &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
4177                  &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
4178                    { # HTTPHeader describes a custom header to be used in HTTP probes
4179                      &quot;name&quot;: &quot;A String&quot;, # The header field name
4180                      &quot;value&quot;: &quot;A String&quot;, # The header field value
4181                    },
4182                  ],
4183                  &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
4184                  &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
4185                    &quot;intVal&quot;: 42, # The int value.
4186                    &quot;strVal&quot;: &quot;A String&quot;, # The string value.
4187                    &quot;type&quot;: 42, # The type of the value.
4188                  },
4189                  &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
4190                },
4191                &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
4192                  &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
4193                  &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
4194                    &quot;intVal&quot;: 42, # The int value.
4195                    &quot;strVal&quot;: &quot;A String&quot;, # The string value.
4196                    &quot;type&quot;: 42, # The type of the value.
4197                  },
4198                },
4199              },
4200            },
4201            &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
4202              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
4203              &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
4204                &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
4205                  &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
4206                    &quot;A String&quot;,
4207                  ],
4208                },
4209                &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
4210                  &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
4211                  &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
4212                    { # HTTPHeader describes a custom header to be used in HTTP probes
4213                      &quot;name&quot;: &quot;A String&quot;, # The header field name
4214                      &quot;value&quot;: &quot;A String&quot;, # The header field value
4215                    },
4216                  ],
4217                  &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
4218                  &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
4219                    &quot;intVal&quot;: 42, # The int value.
4220                    &quot;strVal&quot;: &quot;A String&quot;, # The string value.
4221                    &quot;type&quot;: 42, # The type of the value.
4222                  },
4223                  &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
4224                },
4225                &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
4226                  &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
4227                  &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
4228                    &quot;intVal&quot;: 42, # The int value.
4229                    &quot;strVal&quot;: &quot;A String&quot;, # The string value.
4230                    &quot;type&quot;: 42, # The type of the value.
4231                  },
4232                },
4233              },
4234              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
4235              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
4236              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
4237              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
4238            },
4239            &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
4240            &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
4241              { # ContainerPort represents a network port in a single container.
4242                &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
4243                &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
4244                &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
4245                &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
4246                &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
4247              },
4248            ],
4249            &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
4250              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
4251              &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
4252                &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
4253                  &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
4254                    &quot;A String&quot;,
4255                  ],
4256                },
4257                &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
4258                  &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
4259                  &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
4260                    { # HTTPHeader describes a custom header to be used in HTTP probes
4261                      &quot;name&quot;: &quot;A String&quot;, # The header field name
4262                      &quot;value&quot;: &quot;A String&quot;, # The header field value
4263                    },
4264                  ],
4265                  &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
4266                  &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
4267                    &quot;intVal&quot;: 42, # The int value.
4268                    &quot;strVal&quot;: &quot;A String&quot;, # The string value.
4269                    &quot;type&quot;: 42, # The type of the value.
4270                  },
4271                  &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
4272                },
4273                &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
4274                  &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
4275                  &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
4276                    &quot;intVal&quot;: 42, # The int value.
4277                    &quot;strVal&quot;: &quot;A String&quot;, # The string value.
4278                    &quot;type&quot;: 42, # The type of the value.
4279                  },
4280                },
4281              },
4282              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
4283              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
4284              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
4285              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
4286            },
4287            &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
4288              &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
4289                &quot;a_key&quot;: &quot;A String&quot;,
4290              },
4291              &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
4292                &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
4293                  &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
4294                },
4295              },
4296              &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
4297                &quot;a_key&quot;: &quot;A String&quot;,
4298              },
4299              &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
4300                &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
4301                  &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
4302                },
4303              },
4304            },
4305            &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
4306              &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
4307              &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
4308                &quot;add&quot;: [ # Added capabilities +optional
4309                  &quot;A String&quot;,
4310                ],
4311                &quot;drop&quot;: [ # Removed capabilities +optional
4312                  &quot;A String&quot;,
4313                ],
4314              },
4315              &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
4316              &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
4317              &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
4318              &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
4319              &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
4320              &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
4321                &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
4322                &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
4323                &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
4324                &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
4325              },
4326            },
4327            &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
4328            &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
4329            &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
4330            &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
4331            &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
4332            &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
4333              { # volumeDevice describes a mapping of a raw block device within a container.
4334                &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
4335                &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
4336              },
4337            ],
4338            &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
4339              { # VolumeMount describes a mounting of a Volume within a container.
4340                &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
4341                &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
4342                &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
4343                &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
4344                &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
4345              },
4346            ],
4347            &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
4348          },
4349        ],
4350        &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
4351        &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
4352        &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources are in for this Revision. Users must not specify this when creating a revision. It is expected that the system will manipulate this based on routability and load. Populated by the system. Read-only.
4353        &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Not currently used by Cloud Run.
4354        &quot;volumes&quot;: [
4355          { # Volume represents a named volume in a container.
4356            &quot;configMap&quot;: { # Adapts a ConfigMap into a volume. The contents of the target ConfigMap&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.
4357              &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
4358              &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
4359                { # Maps a string key to a path within a volume.
4360                  &quot;key&quot;: &quot;A String&quot;, # The key to project.
4361                  &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
4362                  &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
4363                },
4364              ],
4365              &quot;name&quot;: &quot;A String&quot;, # Name of the config.
4366              &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
4367            },
4368            &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
4369            &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names.
4370              &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
4371              &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
4372                { # Maps a string key to a path within a volume.
4373                  &quot;key&quot;: &quot;A String&quot;, # The key to project.
4374                  &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
4375                  &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
4376                },
4377              ],
4378              &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
4379              &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
4380            },
4381          },
4382        ],
4383      },
4384    },
4385    &quot;traffic&quot;: [ # Traffic specifies how to distribute traffic over a collection of Knative Revisions and Configurations.
4386      { # TrafficTarget holds a single entry of the routing table for a Route.
4387        &quot;configurationName&quot;: &quot;A String&quot;, # ConfigurationName of a configuration to whose latest revision we will send this portion of traffic. When the &quot;status.latestReadyRevisionName&quot; of the referenced configuration changes, we will automatically migrate traffic from the prior &quot;latest ready&quot; revision to the new one. This field is never set in Route&#x27;s status, only its spec. This is mutually exclusive with RevisionName. Cloud Run currently supports a single ConfigurationName.
4388        &quot;latestRevision&quot;: True or False, # LatestRevision may be optionally provided to indicate that the latest ready Revision of the Configuration should be used for this traffic target. When provided LatestRevision must be true if RevisionName is empty; it must be false when RevisionName is non-empty. +optional
4389        &quot;name&quot;: &quot;A String&quot;, # Name is optionally used to expose a dedicated hostname for referencing this target exclusively. Not currently supported by Cloud Run. +optional
4390        &quot;percent&quot;: 42, # Percent specifies percent of the traffic to this Revision or Configuration. This defaults to zero if unspecified. Cloud Run currently requires 100 percent for a single ConfigurationName TrafficTarget entry.
4391        &quot;revisionName&quot;: &quot;A String&quot;, # RevisionName of a specific revision to which to send this portion of traffic. This is mutually exclusive with ConfigurationName. Providing RevisionName in spec is not currently supported by Cloud Run.
4392        &quot;tag&quot;: &quot;A String&quot;, # Tag is optionally used to expose a dedicated url for referencing this target exclusively. Not currently supported in Cloud Run. +optional
4393        &quot;url&quot;: &quot;A String&quot;, # Output only. URL displays the URL for accessing named traffic targets. URL is displayed in status, and is disallowed on spec. URL must contain a scheme (e.g. http://) and a hostname, but may not contain anything else (e.g. basic auth, url path, etc. Not currently supported in Cloud Run.
4394      },
4395    ],
4396  },
4397  &quot;status&quot;: { # The current state of the Service. Output only. # Status communicates the observed state of the Service (from the controller).
4398    &quot;address&quot;: { # Information for connecting over HTTP(s). # From RouteStatus. Similar to url, information on where the service is available on HTTP.
4399      &quot;hostname&quot;: &quot;A String&quot;, # Deprecated - use url instead.
4400      &quot;url&quot;: &quot;A String&quot;,
4401    },
4402    &quot;conditions&quot;: [ # Conditions communicates information about ongoing/complete reconciliation processes that bring the &quot;spec&quot; inline with the observed state of the world.
4403      { # ServiceCondition defines a readiness condition for a Service.
4404        &quot;lastTransitionTime&quot;: &quot;A String&quot;, # Last time the condition transitioned from one status to another. +optional
4405        &quot;message&quot;: &quot;A String&quot;, # Human-readable message indicating details about last transition. +optional
4406        &quot;reason&quot;: &quot;A String&quot;, # One-word CamelCase reason for the condition&#x27;s last transition. +optional
4407        &quot;severity&quot;: &quot;A String&quot;, # How to interpret failures of this condition, one of Error, Warning, Info +optional
4408        &quot;status&quot;: &quot;A String&quot;, # Status of the condition, one of True, False, Unknown.
4409        &quot;type&quot;: &quot;A String&quot;, # ServiceConditionType is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types include: &quot;Ready&quot;, &quot;ConfigurationsReady&quot;, and &quot;RoutesReady&quot;. &quot;Ready&quot; will be true when the underlying Route and Configuration are ready.
4410      },
4411    ],
4412    &quot;domain&quot;: &quot;A String&quot;, # From RouteStatus. Domain holds the top-level domain that will distribute traffic over the provided targets. It generally has the form https://{route-hash}-{project-hash}-{cluster-level-suffix}.a.run.app
4413    &quot;latestCreatedRevisionName&quot;: &quot;A String&quot;, # From ConfigurationStatus. LatestCreatedRevisionName is the last revision that was created from this Service&#x27;s Configuration. It might not be ready yet, for that use LatestReadyRevisionName.
4414    &quot;latestReadyRevisionName&quot;: &quot;A String&quot;, # From ConfigurationStatus. LatestReadyRevisionName holds the name of the latest Revision stamped out from this Service&#x27;s Configuration that has had its &quot;Ready&quot; condition become &quot;True&quot;.
4415    &quot;observedGeneration&quot;: 42, # ObservedGeneration is the &#x27;Generation&#x27; of the Route that was last processed by the controller. Clients polling for completed reconciliation should poll until observedGeneration = metadata.generation and the Ready condition&#x27;s status is True or False.
4416    &quot;traffic&quot;: [ # From RouteStatus. Traffic holds the configured traffic distribution. These entries will always contain RevisionName references. When ConfigurationName appears in the spec, this will hold the LatestReadyRevisionName that we last observed.
4417      { # TrafficTarget holds a single entry of the routing table for a Route.
4418        &quot;configurationName&quot;: &quot;A String&quot;, # ConfigurationName of a configuration to whose latest revision we will send this portion of traffic. When the &quot;status.latestReadyRevisionName&quot; of the referenced configuration changes, we will automatically migrate traffic from the prior &quot;latest ready&quot; revision to the new one. This field is never set in Route&#x27;s status, only its spec. This is mutually exclusive with RevisionName. Cloud Run currently supports a single ConfigurationName.
4419        &quot;latestRevision&quot;: True or False, # LatestRevision may be optionally provided to indicate that the latest ready Revision of the Configuration should be used for this traffic target. When provided LatestRevision must be true if RevisionName is empty; it must be false when RevisionName is non-empty. +optional
4420        &quot;name&quot;: &quot;A String&quot;, # Name is optionally used to expose a dedicated hostname for referencing this target exclusively. Not currently supported by Cloud Run. +optional
4421        &quot;percent&quot;: 42, # Percent specifies percent of the traffic to this Revision or Configuration. This defaults to zero if unspecified. Cloud Run currently requires 100 percent for a single ConfigurationName TrafficTarget entry.
4422        &quot;revisionName&quot;: &quot;A String&quot;, # RevisionName of a specific revision to which to send this portion of traffic. This is mutually exclusive with ConfigurationName. Providing RevisionName in spec is not currently supported by Cloud Run.
4423        &quot;tag&quot;: &quot;A String&quot;, # Tag is optionally used to expose a dedicated url for referencing this target exclusively. Not currently supported in Cloud Run. +optional
4424        &quot;url&quot;: &quot;A String&quot;, # Output only. URL displays the URL for accessing named traffic targets. URL is displayed in status, and is disallowed on spec. URL must contain a scheme (e.g. http://) and a hostname, but may not contain anything else (e.g. basic auth, url path, etc. Not currently supported in Cloud Run.
4425      },
4426    ],
4427    &quot;url&quot;: &quot;A String&quot;, # From RouteStatus. URL holds the url that will distribute traffic over the provided traffic targets. It generally has the form https://{route-hash}-{project-hash}-{cluster-level-suffix}.a.run.app
4428  },
4429}
4430
4431  x__xgafv: string, V1 error format.
4432    Allowed values
4433      1 - v1 error format
4434      2 - v2 error format
4435
4436Returns:
4437  An object of the form:
4438
4439    { # Service acts as a top-level container that manages a set of Routes and Configurations which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets). The Service&#x27;s controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#service
4440  &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1alpha1&quot;.
4441  &quot;kind&quot;: &quot;A String&quot;, # The kind of resource, in this case &quot;Service&quot;.
4442  &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Service, including name, namespace, labels, and annotations.
4443    &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
4444      &quot;a_key&quot;: &quot;A String&quot;,
4445    },
4446    &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
4447    &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
4448    &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
4449    &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
4450    &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
4451      &quot;A String&quot;,
4452    ],
4453    &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
4454    &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
4455    &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
4456      &quot;a_key&quot;: &quot;A String&quot;,
4457    },
4458    &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
4459    &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
4460    &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
4461      { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
4462        &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
4463        &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
4464        &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
4465        &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
4466        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
4467        &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
4468      },
4469    ],
4470    &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
4471    &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
4472    &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
4473  },
4474  &quot;spec&quot;: { # ServiceSpec holds the desired state of the Route (from the client), which is used to manipulate the underlying Route and Configuration(s). # Spec holds the desired state of the Service (from the client).
4475    &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
4476    &quot;manual&quot;: { # ServiceSpecManualType contains the options for configuring a manual service. See ServiceSpec for more details. Not currently supported by Cloud Run. # Manual contains the options for configuring a manual service. See ServiceSpec for more details. Not currently supported by Cloud Run.
4477    },
4478    &quot;pinned&quot;: { # ServiceSpecPinnedType Pins this service to a specific revision name. The revision must be owned by the configuration provided. Deprecated and not supported by Cloud Run. # Pins this service to a specific revision name. The revision must be owned by the configuration provided. Deprecated and not supported by Cloud Run. +optional
4479      &quot;configuration&quot;: { # ConfigurationSpec holds the desired state of the Configuration (from the client). # The configuration for this service.
4480        &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
4481        &quot;revisionTemplate&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190 # RevisionTemplate holds the latest specification for the Revision to be stamped out. The template references the container image, and may also include labels and annotations that should be attached to the Revision. To correlate a Revision, and/or to force a Revision to be created when the spec doesn&#x27;t otherwise change, a nonce label may be provided in the template metadata. For more details, see: https://github.com/knative/serving/blob/master/docs/client-conventions.md#associate-modifications-with-revisions Cloud Run does not currently support referencing a build that is responsible for materializing the container image from source.
4482          &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only). To set maximum instances for this revision, use the &quot;autoscaling.knative.dev/maxScale&quot; annotation key. To set Cloud SQL connections for the revision, use the &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be comma separated.
4483            &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
4484              &quot;a_key&quot;: &quot;A String&quot;,
4485            },
4486            &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
4487            &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
4488            &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
4489            &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
4490            &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
4491              &quot;A String&quot;,
4492            ],
4493            &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
4494            &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
4495            &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
4496              &quot;a_key&quot;: &quot;A String&quot;,
4497            },
4498            &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
4499            &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
4500            &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
4501              { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
4502                &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
4503                &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
4504                &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
4505                &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
4506                &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
4507                &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
4508              },
4509            ],
4510            &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
4511            &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
4512            &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
4513          },
4514          &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).
4515            &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model (Single or Multi) for the Revision. Defaults to Multi. Deprecated in favor of ContainerConcurrency. +optional
4516            &quot;container&quot;: { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime. # Container defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of the fields of this Container, including: name, ports, and volumeMounts. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
4517              &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
4518                &quot;A String&quot;,
4519              ],
4520              &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
4521                &quot;A String&quot;,
4522              ],
4523              &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
4524                { # EnvVar represents an environment variable present in a Container.
4525                  &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
4526                  &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
4527                  &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
4528                    &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
4529                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
4530                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
4531                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
4532                      },
4533                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
4534                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
4535                    },
4536                    &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
4537                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
4538                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
4539                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
4540                      },
4541                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
4542                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
4543                    },
4544                  },
4545                },
4546              ],
4547              &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
4548                { # EnvFromSource represents the source of a set of ConfigMaps
4549                  &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
4550                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
4551                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
4552                    },
4553                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
4554                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
4555                  },
4556                  &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
4557                  &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
4558                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
4559                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
4560                    },
4561                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
4562                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
4563                  },
4564                },
4565              ],
4566              &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
4567              &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
4568              &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
4569                &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
4570                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
4571                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
4572                      &quot;A String&quot;,
4573                    ],
4574                  },
4575                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
4576                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
4577                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
4578                      { # HTTPHeader describes a custom header to be used in HTTP probes
4579                        &quot;name&quot;: &quot;A String&quot;, # The header field name
4580                        &quot;value&quot;: &quot;A String&quot;, # The header field value
4581                      },
4582                    ],
4583                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
4584                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
4585                      &quot;intVal&quot;: 42, # The int value.
4586                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
4587                      &quot;type&quot;: 42, # The type of the value.
4588                    },
4589                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
4590                  },
4591                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
4592                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
4593                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
4594                      &quot;intVal&quot;: 42, # The int value.
4595                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
4596                      &quot;type&quot;: 42, # The type of the value.
4597                    },
4598                  },
4599                },
4600                &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
4601                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
4602                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
4603                      &quot;A String&quot;,
4604                    ],
4605                  },
4606                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
4607                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
4608                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
4609                      { # HTTPHeader describes a custom header to be used in HTTP probes
4610                        &quot;name&quot;: &quot;A String&quot;, # The header field name
4611                        &quot;value&quot;: &quot;A String&quot;, # The header field value
4612                      },
4613                    ],
4614                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
4615                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
4616                      &quot;intVal&quot;: 42, # The int value.
4617                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
4618                      &quot;type&quot;: 42, # The type of the value.
4619                    },
4620                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
4621                  },
4622                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
4623                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
4624                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
4625                      &quot;intVal&quot;: 42, # The int value.
4626                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
4627                      &quot;type&quot;: 42, # The type of the value.
4628                    },
4629                  },
4630                },
4631              },
4632              &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
4633                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
4634                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
4635                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
4636                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
4637                      &quot;A String&quot;,
4638                    ],
4639                  },
4640                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
4641                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
4642                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
4643                      { # HTTPHeader describes a custom header to be used in HTTP probes
4644                        &quot;name&quot;: &quot;A String&quot;, # The header field name
4645                        &quot;value&quot;: &quot;A String&quot;, # The header field value
4646                      },
4647                    ],
4648                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
4649                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
4650                      &quot;intVal&quot;: 42, # The int value.
4651                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
4652                      &quot;type&quot;: 42, # The type of the value.
4653                    },
4654                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
4655                  },
4656                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
4657                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
4658                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
4659                      &quot;intVal&quot;: 42, # The int value.
4660                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
4661                      &quot;type&quot;: 42, # The type of the value.
4662                    },
4663                  },
4664                },
4665                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
4666                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
4667                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
4668                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
4669              },
4670              &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
4671              &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
4672                { # ContainerPort represents a network port in a single container.
4673                  &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
4674                  &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
4675                  &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
4676                  &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
4677                  &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
4678                },
4679              ],
4680              &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
4681                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
4682                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
4683                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
4684                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
4685                      &quot;A String&quot;,
4686                    ],
4687                  },
4688                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
4689                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
4690                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
4691                      { # HTTPHeader describes a custom header to be used in HTTP probes
4692                        &quot;name&quot;: &quot;A String&quot;, # The header field name
4693                        &quot;value&quot;: &quot;A String&quot;, # The header field value
4694                      },
4695                    ],
4696                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
4697                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
4698                      &quot;intVal&quot;: 42, # The int value.
4699                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
4700                      &quot;type&quot;: 42, # The type of the value.
4701                    },
4702                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
4703                  },
4704                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
4705                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
4706                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
4707                      &quot;intVal&quot;: 42, # The int value.
4708                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
4709                      &quot;type&quot;: 42, # The type of the value.
4710                    },
4711                  },
4712                },
4713                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
4714                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
4715                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
4716                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
4717              },
4718              &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
4719                &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
4720                  &quot;a_key&quot;: &quot;A String&quot;,
4721                },
4722                &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
4723                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
4724                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
4725                  },
4726                },
4727                &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
4728                  &quot;a_key&quot;: &quot;A String&quot;,
4729                },
4730                &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
4731                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
4732                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
4733                  },
4734                },
4735              },
4736              &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
4737                &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
4738                &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
4739                  &quot;add&quot;: [ # Added capabilities +optional
4740                    &quot;A String&quot;,
4741                  ],
4742                  &quot;drop&quot;: [ # Removed capabilities +optional
4743                    &quot;A String&quot;,
4744                  ],
4745                },
4746                &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
4747                &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
4748                &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
4749                &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
4750                &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
4751                &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
4752                  &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
4753                  &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
4754                  &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
4755                  &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
4756                },
4757              },
4758              &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
4759              &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
4760              &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
4761              &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
4762              &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
4763              &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
4764                { # volumeDevice describes a mapping of a raw block device within a container.
4765                  &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
4766                  &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
4767                },
4768              ],
4769              &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
4770                { # VolumeMount describes a mounting of a Volume within a container.
4771                  &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
4772                  &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
4773                  &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
4774                  &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
4775                  &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
4776                },
4777              ],
4778              &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
4779            },
4780            &quot;containerConcurrency&quot;: 42, # (Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run on GKE: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
4781            &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided.
4782              { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
4783                &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
4784                  &quot;A String&quot;,
4785                ],
4786                &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
4787                  &quot;A String&quot;,
4788                ],
4789                &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
4790                  { # EnvVar represents an environment variable present in a Container.
4791                    &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
4792                    &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
4793                    &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
4794                      &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
4795                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
4796                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
4797                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
4798                        },
4799                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
4800                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
4801                      },
4802                      &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
4803                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
4804                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
4805                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
4806                        },
4807                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
4808                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
4809                      },
4810                    },
4811                  },
4812                ],
4813                &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
4814                  { # EnvFromSource represents the source of a set of ConfigMaps
4815                    &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
4816                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
4817                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
4818                      },
4819                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
4820                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
4821                    },
4822                    &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
4823                    &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
4824                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
4825                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
4826                      },
4827                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
4828                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
4829                    },
4830                  },
4831                ],
4832                &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
4833                &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
4834                &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
4835                  &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
4836                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
4837                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
4838                        &quot;A String&quot;,
4839                      ],
4840                    },
4841                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
4842                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
4843                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
4844                        { # HTTPHeader describes a custom header to be used in HTTP probes
4845                          &quot;name&quot;: &quot;A String&quot;, # The header field name
4846                          &quot;value&quot;: &quot;A String&quot;, # The header field value
4847                        },
4848                      ],
4849                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
4850                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
4851                        &quot;intVal&quot;: 42, # The int value.
4852                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
4853                        &quot;type&quot;: 42, # The type of the value.
4854                      },
4855                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
4856                    },
4857                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
4858                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
4859                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
4860                        &quot;intVal&quot;: 42, # The int value.
4861                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
4862                        &quot;type&quot;: 42, # The type of the value.
4863                      },
4864                    },
4865                  },
4866                  &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
4867                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
4868                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
4869                        &quot;A String&quot;,
4870                      ],
4871                    },
4872                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
4873                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
4874                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
4875                        { # HTTPHeader describes a custom header to be used in HTTP probes
4876                          &quot;name&quot;: &quot;A String&quot;, # The header field name
4877                          &quot;value&quot;: &quot;A String&quot;, # The header field value
4878                        },
4879                      ],
4880                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
4881                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
4882                        &quot;intVal&quot;: 42, # The int value.
4883                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
4884                        &quot;type&quot;: 42, # The type of the value.
4885                      },
4886                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
4887                    },
4888                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
4889                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
4890                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
4891                        &quot;intVal&quot;: 42, # The int value.
4892                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
4893                        &quot;type&quot;: 42, # The type of the value.
4894                      },
4895                    },
4896                  },
4897                },
4898                &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
4899                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
4900                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
4901                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
4902                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
4903                        &quot;A String&quot;,
4904                      ],
4905                    },
4906                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
4907                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
4908                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
4909                        { # HTTPHeader describes a custom header to be used in HTTP probes
4910                          &quot;name&quot;: &quot;A String&quot;, # The header field name
4911                          &quot;value&quot;: &quot;A String&quot;, # The header field value
4912                        },
4913                      ],
4914                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
4915                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
4916                        &quot;intVal&quot;: 42, # The int value.
4917                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
4918                        &quot;type&quot;: 42, # The type of the value.
4919                      },
4920                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
4921                    },
4922                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
4923                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
4924                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
4925                        &quot;intVal&quot;: 42, # The int value.
4926                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
4927                        &quot;type&quot;: 42, # The type of the value.
4928                      },
4929                    },
4930                  },
4931                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
4932                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
4933                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
4934                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
4935                },
4936                &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
4937                &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
4938                  { # ContainerPort represents a network port in a single container.
4939                    &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
4940                    &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
4941                    &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
4942                    &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
4943                    &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
4944                  },
4945                ],
4946                &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
4947                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
4948                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
4949                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
4950                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
4951                        &quot;A String&quot;,
4952                      ],
4953                    },
4954                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
4955                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
4956                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
4957                        { # HTTPHeader describes a custom header to be used in HTTP probes
4958                          &quot;name&quot;: &quot;A String&quot;, # The header field name
4959                          &quot;value&quot;: &quot;A String&quot;, # The header field value
4960                        },
4961                      ],
4962                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
4963                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
4964                        &quot;intVal&quot;: 42, # The int value.
4965                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
4966                        &quot;type&quot;: 42, # The type of the value.
4967                      },
4968                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
4969                    },
4970                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
4971                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
4972                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
4973                        &quot;intVal&quot;: 42, # The int value.
4974                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
4975                        &quot;type&quot;: 42, # The type of the value.
4976                      },
4977                    },
4978                  },
4979                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
4980                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
4981                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
4982                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
4983                },
4984                &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
4985                  &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
4986                    &quot;a_key&quot;: &quot;A String&quot;,
4987                  },
4988                  &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
4989                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
4990                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
4991                    },
4992                  },
4993                  &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
4994                    &quot;a_key&quot;: &quot;A String&quot;,
4995                  },
4996                  &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
4997                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
4998                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
4999                    },
5000                  },
5001                },
5002                &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
5003                  &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
5004                  &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
5005                    &quot;add&quot;: [ # Added capabilities +optional
5006                      &quot;A String&quot;,
5007                    ],
5008                    &quot;drop&quot;: [ # Removed capabilities +optional
5009                      &quot;A String&quot;,
5010                    ],
5011                  },
5012                  &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
5013                  &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
5014                  &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
5015                  &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
5016                  &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
5017                  &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
5018                    &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
5019                    &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
5020                    &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
5021                    &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
5022                  },
5023                },
5024                &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
5025                &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
5026                &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
5027                &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
5028                &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
5029                &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
5030                  { # volumeDevice describes a mapping of a raw block device within a container.
5031                    &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
5032                    &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
5033                  },
5034                ],
5035                &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
5036                  { # VolumeMount describes a mounting of a Volume within a container.
5037                    &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
5038                    &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
5039                    &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
5040                    &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
5041                    &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
5042                  },
5043                ],
5044                &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
5045              },
5046            ],
5047            &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
5048            &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
5049            &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources are in for this Revision. Users must not specify this when creating a revision. It is expected that the system will manipulate this based on routability and load. Populated by the system. Read-only.
5050            &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Not currently used by Cloud Run.
5051            &quot;volumes&quot;: [
5052              { # Volume represents a named volume in a container.
5053                &quot;configMap&quot;: { # Adapts a ConfigMap into a volume. The contents of the target ConfigMap&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.
5054                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
5055                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
5056                    { # Maps a string key to a path within a volume.
5057                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
5058                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
5059                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
5060                    },
5061                  ],
5062                  &quot;name&quot;: &quot;A String&quot;, # Name of the config.
5063                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
5064                },
5065                &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
5066                &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names.
5067                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
5068                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
5069                    { # Maps a string key to a path within a volume.
5070                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
5071                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
5072                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
5073                    },
5074                  ],
5075                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
5076                  &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
5077                },
5078              },
5079            ],
5080          },
5081        },
5082        &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190 # Template holds the latest specification for the Revision to be stamped out.
5083          &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only). To set maximum instances for this revision, use the &quot;autoscaling.knative.dev/maxScale&quot; annotation key. To set Cloud SQL connections for the revision, use the &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be comma separated.
5084            &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
5085              &quot;a_key&quot;: &quot;A String&quot;,
5086            },
5087            &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
5088            &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
5089            &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
5090            &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
5091            &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
5092              &quot;A String&quot;,
5093            ],
5094            &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
5095            &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
5096            &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
5097              &quot;a_key&quot;: &quot;A String&quot;,
5098            },
5099            &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
5100            &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
5101            &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
5102              { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
5103                &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
5104                &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
5105                &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
5106                &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
5107                &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
5108                &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
5109              },
5110            ],
5111            &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
5112            &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
5113            &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
5114          },
5115          &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).
5116            &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model (Single or Multi) for the Revision. Defaults to Multi. Deprecated in favor of ContainerConcurrency. +optional
5117            &quot;container&quot;: { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime. # Container defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of the fields of this Container, including: name, ports, and volumeMounts. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
5118              &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
5119                &quot;A String&quot;,
5120              ],
5121              &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
5122                &quot;A String&quot;,
5123              ],
5124              &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
5125                { # EnvVar represents an environment variable present in a Container.
5126                  &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
5127                  &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
5128                  &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
5129                    &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
5130                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
5131                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
5132                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
5133                      },
5134                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
5135                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
5136                    },
5137                    &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
5138                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
5139                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
5140                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
5141                      },
5142                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
5143                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
5144                    },
5145                  },
5146                },
5147              ],
5148              &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
5149                { # EnvFromSource represents the source of a set of ConfigMaps
5150                  &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
5151                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
5152                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
5153                    },
5154                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
5155                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
5156                  },
5157                  &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
5158                  &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
5159                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
5160                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
5161                    },
5162                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
5163                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
5164                  },
5165                },
5166              ],
5167              &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
5168              &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
5169              &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
5170                &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
5171                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
5172                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
5173                      &quot;A String&quot;,
5174                    ],
5175                  },
5176                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
5177                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
5178                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
5179                      { # HTTPHeader describes a custom header to be used in HTTP probes
5180                        &quot;name&quot;: &quot;A String&quot;, # The header field name
5181                        &quot;value&quot;: &quot;A String&quot;, # The header field value
5182                      },
5183                    ],
5184                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
5185                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
5186                      &quot;intVal&quot;: 42, # The int value.
5187                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
5188                      &quot;type&quot;: 42, # The type of the value.
5189                    },
5190                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
5191                  },
5192                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
5193                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
5194                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
5195                      &quot;intVal&quot;: 42, # The int value.
5196                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
5197                      &quot;type&quot;: 42, # The type of the value.
5198                    },
5199                  },
5200                },
5201                &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
5202                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
5203                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
5204                      &quot;A String&quot;,
5205                    ],
5206                  },
5207                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
5208                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
5209                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
5210                      { # HTTPHeader describes a custom header to be used in HTTP probes
5211                        &quot;name&quot;: &quot;A String&quot;, # The header field name
5212                        &quot;value&quot;: &quot;A String&quot;, # The header field value
5213                      },
5214                    ],
5215                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
5216                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
5217                      &quot;intVal&quot;: 42, # The int value.
5218                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
5219                      &quot;type&quot;: 42, # The type of the value.
5220                    },
5221                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
5222                  },
5223                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
5224                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
5225                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
5226                      &quot;intVal&quot;: 42, # The int value.
5227                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
5228                      &quot;type&quot;: 42, # The type of the value.
5229                    },
5230                  },
5231                },
5232              },
5233              &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
5234                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
5235                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
5236                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
5237                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
5238                      &quot;A String&quot;,
5239                    ],
5240                  },
5241                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
5242                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
5243                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
5244                      { # HTTPHeader describes a custom header to be used in HTTP probes
5245                        &quot;name&quot;: &quot;A String&quot;, # The header field name
5246                        &quot;value&quot;: &quot;A String&quot;, # The header field value
5247                      },
5248                    ],
5249                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
5250                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
5251                      &quot;intVal&quot;: 42, # The int value.
5252                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
5253                      &quot;type&quot;: 42, # The type of the value.
5254                    },
5255                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
5256                  },
5257                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
5258                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
5259                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
5260                      &quot;intVal&quot;: 42, # The int value.
5261                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
5262                      &quot;type&quot;: 42, # The type of the value.
5263                    },
5264                  },
5265                },
5266                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
5267                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
5268                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
5269                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
5270              },
5271              &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
5272              &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
5273                { # ContainerPort represents a network port in a single container.
5274                  &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
5275                  &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
5276                  &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
5277                  &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
5278                  &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
5279                },
5280              ],
5281              &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
5282                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
5283                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
5284                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
5285                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
5286                      &quot;A String&quot;,
5287                    ],
5288                  },
5289                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
5290                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
5291                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
5292                      { # HTTPHeader describes a custom header to be used in HTTP probes
5293                        &quot;name&quot;: &quot;A String&quot;, # The header field name
5294                        &quot;value&quot;: &quot;A String&quot;, # The header field value
5295                      },
5296                    ],
5297                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
5298                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
5299                      &quot;intVal&quot;: 42, # The int value.
5300                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
5301                      &quot;type&quot;: 42, # The type of the value.
5302                    },
5303                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
5304                  },
5305                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
5306                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
5307                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
5308                      &quot;intVal&quot;: 42, # The int value.
5309                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
5310                      &quot;type&quot;: 42, # The type of the value.
5311                    },
5312                  },
5313                },
5314                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
5315                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
5316                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
5317                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
5318              },
5319              &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
5320                &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
5321                  &quot;a_key&quot;: &quot;A String&quot;,
5322                },
5323                &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
5324                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
5325                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
5326                  },
5327                },
5328                &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
5329                  &quot;a_key&quot;: &quot;A String&quot;,
5330                },
5331                &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
5332                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
5333                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
5334                  },
5335                },
5336              },
5337              &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
5338                &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
5339                &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
5340                  &quot;add&quot;: [ # Added capabilities +optional
5341                    &quot;A String&quot;,
5342                  ],
5343                  &quot;drop&quot;: [ # Removed capabilities +optional
5344                    &quot;A String&quot;,
5345                  ],
5346                },
5347                &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
5348                &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
5349                &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
5350                &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
5351                &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
5352                &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
5353                  &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
5354                  &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
5355                  &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
5356                  &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
5357                },
5358              },
5359              &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
5360              &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
5361              &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
5362              &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
5363              &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
5364              &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
5365                { # volumeDevice describes a mapping of a raw block device within a container.
5366                  &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
5367                  &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
5368                },
5369              ],
5370              &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
5371                { # VolumeMount describes a mounting of a Volume within a container.
5372                  &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
5373                  &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
5374                  &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
5375                  &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
5376                  &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
5377                },
5378              ],
5379              &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
5380            },
5381            &quot;containerConcurrency&quot;: 42, # (Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run on GKE: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
5382            &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided.
5383              { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
5384                &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
5385                  &quot;A String&quot;,
5386                ],
5387                &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
5388                  &quot;A String&quot;,
5389                ],
5390                &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
5391                  { # EnvVar represents an environment variable present in a Container.
5392                    &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
5393                    &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
5394                    &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
5395                      &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
5396                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
5397                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
5398                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
5399                        },
5400                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
5401                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
5402                      },
5403                      &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
5404                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
5405                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
5406                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
5407                        },
5408                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
5409                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
5410                      },
5411                    },
5412                  },
5413                ],
5414                &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
5415                  { # EnvFromSource represents the source of a set of ConfigMaps
5416                    &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
5417                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
5418                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
5419                      },
5420                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
5421                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
5422                    },
5423                    &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
5424                    &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
5425                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
5426                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
5427                      },
5428                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
5429                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
5430                    },
5431                  },
5432                ],
5433                &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
5434                &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
5435                &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
5436                  &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
5437                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
5438                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
5439                        &quot;A String&quot;,
5440                      ],
5441                    },
5442                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
5443                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
5444                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
5445                        { # HTTPHeader describes a custom header to be used in HTTP probes
5446                          &quot;name&quot;: &quot;A String&quot;, # The header field name
5447                          &quot;value&quot;: &quot;A String&quot;, # The header field value
5448                        },
5449                      ],
5450                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
5451                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
5452                        &quot;intVal&quot;: 42, # The int value.
5453                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
5454                        &quot;type&quot;: 42, # The type of the value.
5455                      },
5456                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
5457                    },
5458                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
5459                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
5460                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
5461                        &quot;intVal&quot;: 42, # The int value.
5462                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
5463                        &quot;type&quot;: 42, # The type of the value.
5464                      },
5465                    },
5466                  },
5467                  &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
5468                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
5469                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
5470                        &quot;A String&quot;,
5471                      ],
5472                    },
5473                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
5474                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
5475                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
5476                        { # HTTPHeader describes a custom header to be used in HTTP probes
5477                          &quot;name&quot;: &quot;A String&quot;, # The header field name
5478                          &quot;value&quot;: &quot;A String&quot;, # The header field value
5479                        },
5480                      ],
5481                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
5482                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
5483                        &quot;intVal&quot;: 42, # The int value.
5484                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
5485                        &quot;type&quot;: 42, # The type of the value.
5486                      },
5487                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
5488                    },
5489                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
5490                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
5491                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
5492                        &quot;intVal&quot;: 42, # The int value.
5493                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
5494                        &quot;type&quot;: 42, # The type of the value.
5495                      },
5496                    },
5497                  },
5498                },
5499                &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
5500                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
5501                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
5502                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
5503                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
5504                        &quot;A String&quot;,
5505                      ],
5506                    },
5507                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
5508                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
5509                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
5510                        { # HTTPHeader describes a custom header to be used in HTTP probes
5511                          &quot;name&quot;: &quot;A String&quot;, # The header field name
5512                          &quot;value&quot;: &quot;A String&quot;, # The header field value
5513                        },
5514                      ],
5515                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
5516                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
5517                        &quot;intVal&quot;: 42, # The int value.
5518                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
5519                        &quot;type&quot;: 42, # The type of the value.
5520                      },
5521                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
5522                    },
5523                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
5524                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
5525                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
5526                        &quot;intVal&quot;: 42, # The int value.
5527                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
5528                        &quot;type&quot;: 42, # The type of the value.
5529                      },
5530                    },
5531                  },
5532                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
5533                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
5534                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
5535                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
5536                },
5537                &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
5538                &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
5539                  { # ContainerPort represents a network port in a single container.
5540                    &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
5541                    &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
5542                    &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
5543                    &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
5544                    &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
5545                  },
5546                ],
5547                &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
5548                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
5549                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
5550                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
5551                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
5552                        &quot;A String&quot;,
5553                      ],
5554                    },
5555                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
5556                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
5557                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
5558                        { # HTTPHeader describes a custom header to be used in HTTP probes
5559                          &quot;name&quot;: &quot;A String&quot;, # The header field name
5560                          &quot;value&quot;: &quot;A String&quot;, # The header field value
5561                        },
5562                      ],
5563                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
5564                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
5565                        &quot;intVal&quot;: 42, # The int value.
5566                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
5567                        &quot;type&quot;: 42, # The type of the value.
5568                      },
5569                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
5570                    },
5571                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
5572                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
5573                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
5574                        &quot;intVal&quot;: 42, # The int value.
5575                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
5576                        &quot;type&quot;: 42, # The type of the value.
5577                      },
5578                    },
5579                  },
5580                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
5581                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
5582                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
5583                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
5584                },
5585                &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
5586                  &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
5587                    &quot;a_key&quot;: &quot;A String&quot;,
5588                  },
5589                  &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
5590                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
5591                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
5592                    },
5593                  },
5594                  &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
5595                    &quot;a_key&quot;: &quot;A String&quot;,
5596                  },
5597                  &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
5598                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
5599                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
5600                    },
5601                  },
5602                },
5603                &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
5604                  &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
5605                  &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
5606                    &quot;add&quot;: [ # Added capabilities +optional
5607                      &quot;A String&quot;,
5608                    ],
5609                    &quot;drop&quot;: [ # Removed capabilities +optional
5610                      &quot;A String&quot;,
5611                    ],
5612                  },
5613                  &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
5614                  &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
5615                  &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
5616                  &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
5617                  &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
5618                  &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
5619                    &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
5620                    &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
5621                    &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
5622                    &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
5623                  },
5624                },
5625                &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
5626                &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
5627                &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
5628                &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
5629                &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
5630                &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
5631                  { # volumeDevice describes a mapping of a raw block device within a container.
5632                    &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
5633                    &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
5634                  },
5635                ],
5636                &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
5637                  { # VolumeMount describes a mounting of a Volume within a container.
5638                    &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
5639                    &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
5640                    &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
5641                    &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
5642                    &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
5643                  },
5644                ],
5645                &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
5646              },
5647            ],
5648            &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
5649            &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
5650            &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources are in for this Revision. Users must not specify this when creating a revision. It is expected that the system will manipulate this based on routability and load. Populated by the system. Read-only.
5651            &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Not currently used by Cloud Run.
5652            &quot;volumes&quot;: [
5653              { # Volume represents a named volume in a container.
5654                &quot;configMap&quot;: { # Adapts a ConfigMap into a volume. The contents of the target ConfigMap&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.
5655                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
5656                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
5657                    { # Maps a string key to a path within a volume.
5658                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
5659                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
5660                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
5661                    },
5662                  ],
5663                  &quot;name&quot;: &quot;A String&quot;, # Name of the config.
5664                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
5665                },
5666                &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
5667                &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names.
5668                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
5669                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
5670                    { # Maps a string key to a path within a volume.
5671                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
5672                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
5673                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
5674                    },
5675                  ],
5676                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
5677                  &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
5678                },
5679              },
5680            ],
5681          },
5682        },
5683      },
5684      &quot;revisionName&quot;: &quot;A String&quot;, # The revision name to pin this service to until changed to a different service type.
5685    },
5686    &quot;release&quot;: { # ServiceSpecReleaseType contains the options for slowly releasing revisions. See ServiceSpec for more details. Not currently supported by Cloud Run. # Release enables gradual promotion of new revisions by allowing traffic to be split between two revisions. This type replaces the deprecated Pinned type. Not currently supported by Cloud Run.
5687      &quot;configuration&quot;: { # ConfigurationSpec holds the desired state of the Configuration (from the client). # The configuration for this service. All revisions from this service must come from a single configuration.
5688        &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
5689        &quot;revisionTemplate&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190 # RevisionTemplate holds the latest specification for the Revision to be stamped out. The template references the container image, and may also include labels and annotations that should be attached to the Revision. To correlate a Revision, and/or to force a Revision to be created when the spec doesn&#x27;t otherwise change, a nonce label may be provided in the template metadata. For more details, see: https://github.com/knative/serving/blob/master/docs/client-conventions.md#associate-modifications-with-revisions Cloud Run does not currently support referencing a build that is responsible for materializing the container image from source.
5690          &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only). To set maximum instances for this revision, use the &quot;autoscaling.knative.dev/maxScale&quot; annotation key. To set Cloud SQL connections for the revision, use the &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be comma separated.
5691            &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
5692              &quot;a_key&quot;: &quot;A String&quot;,
5693            },
5694            &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
5695            &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
5696            &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
5697            &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
5698            &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
5699              &quot;A String&quot;,
5700            ],
5701            &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
5702            &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
5703            &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
5704              &quot;a_key&quot;: &quot;A String&quot;,
5705            },
5706            &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
5707            &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
5708            &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
5709              { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
5710                &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
5711                &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
5712                &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
5713                &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
5714                &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
5715                &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
5716              },
5717            ],
5718            &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
5719            &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
5720            &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
5721          },
5722          &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).
5723            &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model (Single or Multi) for the Revision. Defaults to Multi. Deprecated in favor of ContainerConcurrency. +optional
5724            &quot;container&quot;: { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime. # Container defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of the fields of this Container, including: name, ports, and volumeMounts. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
5725              &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
5726                &quot;A String&quot;,
5727              ],
5728              &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
5729                &quot;A String&quot;,
5730              ],
5731              &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
5732                { # EnvVar represents an environment variable present in a Container.
5733                  &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
5734                  &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
5735                  &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
5736                    &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
5737                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
5738                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
5739                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
5740                      },
5741                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
5742                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
5743                    },
5744                    &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
5745                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
5746                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
5747                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
5748                      },
5749                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
5750                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
5751                    },
5752                  },
5753                },
5754              ],
5755              &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
5756                { # EnvFromSource represents the source of a set of ConfigMaps
5757                  &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
5758                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
5759                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
5760                    },
5761                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
5762                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
5763                  },
5764                  &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
5765                  &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
5766                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
5767                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
5768                    },
5769                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
5770                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
5771                  },
5772                },
5773              ],
5774              &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
5775              &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
5776              &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
5777                &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
5778                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
5779                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
5780                      &quot;A String&quot;,
5781                    ],
5782                  },
5783                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
5784                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
5785                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
5786                      { # HTTPHeader describes a custom header to be used in HTTP probes
5787                        &quot;name&quot;: &quot;A String&quot;, # The header field name
5788                        &quot;value&quot;: &quot;A String&quot;, # The header field value
5789                      },
5790                    ],
5791                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
5792                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
5793                      &quot;intVal&quot;: 42, # The int value.
5794                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
5795                      &quot;type&quot;: 42, # The type of the value.
5796                    },
5797                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
5798                  },
5799                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
5800                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
5801                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
5802                      &quot;intVal&quot;: 42, # The int value.
5803                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
5804                      &quot;type&quot;: 42, # The type of the value.
5805                    },
5806                  },
5807                },
5808                &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
5809                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
5810                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
5811                      &quot;A String&quot;,
5812                    ],
5813                  },
5814                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
5815                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
5816                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
5817                      { # HTTPHeader describes a custom header to be used in HTTP probes
5818                        &quot;name&quot;: &quot;A String&quot;, # The header field name
5819                        &quot;value&quot;: &quot;A String&quot;, # The header field value
5820                      },
5821                    ],
5822                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
5823                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
5824                      &quot;intVal&quot;: 42, # The int value.
5825                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
5826                      &quot;type&quot;: 42, # The type of the value.
5827                    },
5828                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
5829                  },
5830                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
5831                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
5832                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
5833                      &quot;intVal&quot;: 42, # The int value.
5834                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
5835                      &quot;type&quot;: 42, # The type of the value.
5836                    },
5837                  },
5838                },
5839              },
5840              &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
5841                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
5842                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
5843                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
5844                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
5845                      &quot;A String&quot;,
5846                    ],
5847                  },
5848                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
5849                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
5850                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
5851                      { # HTTPHeader describes a custom header to be used in HTTP probes
5852                        &quot;name&quot;: &quot;A String&quot;, # The header field name
5853                        &quot;value&quot;: &quot;A String&quot;, # The header field value
5854                      },
5855                    ],
5856                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
5857                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
5858                      &quot;intVal&quot;: 42, # The int value.
5859                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
5860                      &quot;type&quot;: 42, # The type of the value.
5861                    },
5862                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
5863                  },
5864                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
5865                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
5866                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
5867                      &quot;intVal&quot;: 42, # The int value.
5868                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
5869                      &quot;type&quot;: 42, # The type of the value.
5870                    },
5871                  },
5872                },
5873                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
5874                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
5875                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
5876                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
5877              },
5878              &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
5879              &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
5880                { # ContainerPort represents a network port in a single container.
5881                  &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
5882                  &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
5883                  &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
5884                  &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
5885                  &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
5886                },
5887              ],
5888              &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
5889                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
5890                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
5891                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
5892                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
5893                      &quot;A String&quot;,
5894                    ],
5895                  },
5896                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
5897                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
5898                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
5899                      { # HTTPHeader describes a custom header to be used in HTTP probes
5900                        &quot;name&quot;: &quot;A String&quot;, # The header field name
5901                        &quot;value&quot;: &quot;A String&quot;, # The header field value
5902                      },
5903                    ],
5904                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
5905                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
5906                      &quot;intVal&quot;: 42, # The int value.
5907                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
5908                      &quot;type&quot;: 42, # The type of the value.
5909                    },
5910                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
5911                  },
5912                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
5913                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
5914                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
5915                      &quot;intVal&quot;: 42, # The int value.
5916                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
5917                      &quot;type&quot;: 42, # The type of the value.
5918                    },
5919                  },
5920                },
5921                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
5922                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
5923                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
5924                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
5925              },
5926              &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
5927                &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
5928                  &quot;a_key&quot;: &quot;A String&quot;,
5929                },
5930                &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
5931                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
5932                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
5933                  },
5934                },
5935                &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
5936                  &quot;a_key&quot;: &quot;A String&quot;,
5937                },
5938                &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
5939                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
5940                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
5941                  },
5942                },
5943              },
5944              &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
5945                &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
5946                &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
5947                  &quot;add&quot;: [ # Added capabilities +optional
5948                    &quot;A String&quot;,
5949                  ],
5950                  &quot;drop&quot;: [ # Removed capabilities +optional
5951                    &quot;A String&quot;,
5952                  ],
5953                },
5954                &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
5955                &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
5956                &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
5957                &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
5958                &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
5959                &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
5960                  &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
5961                  &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
5962                  &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
5963                  &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
5964                },
5965              },
5966              &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
5967              &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
5968              &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
5969              &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
5970              &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
5971              &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
5972                { # volumeDevice describes a mapping of a raw block device within a container.
5973                  &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
5974                  &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
5975                },
5976              ],
5977              &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
5978                { # VolumeMount describes a mounting of a Volume within a container.
5979                  &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
5980                  &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
5981                  &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
5982                  &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
5983                  &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
5984                },
5985              ],
5986              &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
5987            },
5988            &quot;containerConcurrency&quot;: 42, # (Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run on GKE: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
5989            &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided.
5990              { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
5991                &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
5992                  &quot;A String&quot;,
5993                ],
5994                &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
5995                  &quot;A String&quot;,
5996                ],
5997                &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
5998                  { # EnvVar represents an environment variable present in a Container.
5999                    &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
6000                    &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
6001                    &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
6002                      &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
6003                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
6004                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
6005                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
6006                        },
6007                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
6008                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
6009                      },
6010                      &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
6011                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
6012                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
6013                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
6014                        },
6015                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
6016                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
6017                      },
6018                    },
6019                  },
6020                ],
6021                &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
6022                  { # EnvFromSource represents the source of a set of ConfigMaps
6023                    &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
6024                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
6025                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
6026                      },
6027                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
6028                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
6029                    },
6030                    &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
6031                    &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
6032                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
6033                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
6034                      },
6035                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
6036                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
6037                    },
6038                  },
6039                ],
6040                &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
6041                &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
6042                &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
6043                  &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
6044                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
6045                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
6046                        &quot;A String&quot;,
6047                      ],
6048                    },
6049                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
6050                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
6051                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
6052                        { # HTTPHeader describes a custom header to be used in HTTP probes
6053                          &quot;name&quot;: &quot;A String&quot;, # The header field name
6054                          &quot;value&quot;: &quot;A String&quot;, # The header field value
6055                        },
6056                      ],
6057                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
6058                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
6059                        &quot;intVal&quot;: 42, # The int value.
6060                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
6061                        &quot;type&quot;: 42, # The type of the value.
6062                      },
6063                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
6064                    },
6065                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
6066                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
6067                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
6068                        &quot;intVal&quot;: 42, # The int value.
6069                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
6070                        &quot;type&quot;: 42, # The type of the value.
6071                      },
6072                    },
6073                  },
6074                  &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
6075                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
6076                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
6077                        &quot;A String&quot;,
6078                      ],
6079                    },
6080                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
6081                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
6082                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
6083                        { # HTTPHeader describes a custom header to be used in HTTP probes
6084                          &quot;name&quot;: &quot;A String&quot;, # The header field name
6085                          &quot;value&quot;: &quot;A String&quot;, # The header field value
6086                        },
6087                      ],
6088                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
6089                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
6090                        &quot;intVal&quot;: 42, # The int value.
6091                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
6092                        &quot;type&quot;: 42, # The type of the value.
6093                      },
6094                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
6095                    },
6096                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
6097                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
6098                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
6099                        &quot;intVal&quot;: 42, # The int value.
6100                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
6101                        &quot;type&quot;: 42, # The type of the value.
6102                      },
6103                    },
6104                  },
6105                },
6106                &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
6107                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
6108                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
6109                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
6110                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
6111                        &quot;A String&quot;,
6112                      ],
6113                    },
6114                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
6115                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
6116                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
6117                        { # HTTPHeader describes a custom header to be used in HTTP probes
6118                          &quot;name&quot;: &quot;A String&quot;, # The header field name
6119                          &quot;value&quot;: &quot;A String&quot;, # The header field value
6120                        },
6121                      ],
6122                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
6123                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
6124                        &quot;intVal&quot;: 42, # The int value.
6125                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
6126                        &quot;type&quot;: 42, # The type of the value.
6127                      },
6128                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
6129                    },
6130                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
6131                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
6132                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
6133                        &quot;intVal&quot;: 42, # The int value.
6134                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
6135                        &quot;type&quot;: 42, # The type of the value.
6136                      },
6137                    },
6138                  },
6139                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
6140                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
6141                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
6142                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
6143                },
6144                &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
6145                &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
6146                  { # ContainerPort represents a network port in a single container.
6147                    &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
6148                    &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
6149                    &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
6150                    &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
6151                    &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
6152                  },
6153                ],
6154                &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
6155                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
6156                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
6157                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
6158                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
6159                        &quot;A String&quot;,
6160                      ],
6161                    },
6162                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
6163                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
6164                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
6165                        { # HTTPHeader describes a custom header to be used in HTTP probes
6166                          &quot;name&quot;: &quot;A String&quot;, # The header field name
6167                          &quot;value&quot;: &quot;A String&quot;, # The header field value
6168                        },
6169                      ],
6170                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
6171                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
6172                        &quot;intVal&quot;: 42, # The int value.
6173                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
6174                        &quot;type&quot;: 42, # The type of the value.
6175                      },
6176                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
6177                    },
6178                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
6179                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
6180                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
6181                        &quot;intVal&quot;: 42, # The int value.
6182                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
6183                        &quot;type&quot;: 42, # The type of the value.
6184                      },
6185                    },
6186                  },
6187                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
6188                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
6189                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
6190                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
6191                },
6192                &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
6193                  &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
6194                    &quot;a_key&quot;: &quot;A String&quot;,
6195                  },
6196                  &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
6197                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
6198                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
6199                    },
6200                  },
6201                  &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
6202                    &quot;a_key&quot;: &quot;A String&quot;,
6203                  },
6204                  &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
6205                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
6206                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
6207                    },
6208                  },
6209                },
6210                &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
6211                  &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
6212                  &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
6213                    &quot;add&quot;: [ # Added capabilities +optional
6214                      &quot;A String&quot;,
6215                    ],
6216                    &quot;drop&quot;: [ # Removed capabilities +optional
6217                      &quot;A String&quot;,
6218                    ],
6219                  },
6220                  &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
6221                  &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
6222                  &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
6223                  &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
6224                  &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
6225                  &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
6226                    &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
6227                    &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
6228                    &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
6229                    &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
6230                  },
6231                },
6232                &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
6233                &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
6234                &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
6235                &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
6236                &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
6237                &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
6238                  { # volumeDevice describes a mapping of a raw block device within a container.
6239                    &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
6240                    &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
6241                  },
6242                ],
6243                &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
6244                  { # VolumeMount describes a mounting of a Volume within a container.
6245                    &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
6246                    &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
6247                    &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
6248                    &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
6249                    &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
6250                  },
6251                ],
6252                &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
6253              },
6254            ],
6255            &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
6256            &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
6257            &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources are in for this Revision. Users must not specify this when creating a revision. It is expected that the system will manipulate this based on routability and load. Populated by the system. Read-only.
6258            &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Not currently used by Cloud Run.
6259            &quot;volumes&quot;: [
6260              { # Volume represents a named volume in a container.
6261                &quot;configMap&quot;: { # Adapts a ConfigMap into a volume. The contents of the target ConfigMap&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.
6262                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
6263                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
6264                    { # Maps a string key to a path within a volume.
6265                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
6266                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
6267                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
6268                    },
6269                  ],
6270                  &quot;name&quot;: &quot;A String&quot;, # Name of the config.
6271                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
6272                },
6273                &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
6274                &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names.
6275                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
6276                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
6277                    { # Maps a string key to a path within a volume.
6278                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
6279                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
6280                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
6281                    },
6282                  ],
6283                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
6284                  &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
6285                },
6286              },
6287            ],
6288          },
6289        },
6290        &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190 # Template holds the latest specification for the Revision to be stamped out.
6291          &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only). To set maximum instances for this revision, use the &quot;autoscaling.knative.dev/maxScale&quot; annotation key. To set Cloud SQL connections for the revision, use the &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be comma separated.
6292            &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
6293              &quot;a_key&quot;: &quot;A String&quot;,
6294            },
6295            &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
6296            &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
6297            &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
6298            &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
6299            &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
6300              &quot;A String&quot;,
6301            ],
6302            &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
6303            &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
6304            &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
6305              &quot;a_key&quot;: &quot;A String&quot;,
6306            },
6307            &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
6308            &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
6309            &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
6310              { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
6311                &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
6312                &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
6313                &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
6314                &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
6315                &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
6316                &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
6317              },
6318            ],
6319            &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
6320            &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
6321            &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
6322          },
6323          &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).
6324            &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model (Single or Multi) for the Revision. Defaults to Multi. Deprecated in favor of ContainerConcurrency. +optional
6325            &quot;container&quot;: { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime. # Container defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of the fields of this Container, including: name, ports, and volumeMounts. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
6326              &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
6327                &quot;A String&quot;,
6328              ],
6329              &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
6330                &quot;A String&quot;,
6331              ],
6332              &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
6333                { # EnvVar represents an environment variable present in a Container.
6334                  &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
6335                  &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
6336                  &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
6337                    &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
6338                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
6339                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
6340                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
6341                      },
6342                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
6343                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
6344                    },
6345                    &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
6346                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
6347                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
6348                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
6349                      },
6350                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
6351                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
6352                    },
6353                  },
6354                },
6355              ],
6356              &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
6357                { # EnvFromSource represents the source of a set of ConfigMaps
6358                  &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
6359                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
6360                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
6361                    },
6362                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
6363                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
6364                  },
6365                  &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
6366                  &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
6367                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
6368                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
6369                    },
6370                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
6371                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
6372                  },
6373                },
6374              ],
6375              &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
6376              &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
6377              &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
6378                &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
6379                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
6380                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
6381                      &quot;A String&quot;,
6382                    ],
6383                  },
6384                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
6385                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
6386                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
6387                      { # HTTPHeader describes a custom header to be used in HTTP probes
6388                        &quot;name&quot;: &quot;A String&quot;, # The header field name
6389                        &quot;value&quot;: &quot;A String&quot;, # The header field value
6390                      },
6391                    ],
6392                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
6393                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
6394                      &quot;intVal&quot;: 42, # The int value.
6395                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
6396                      &quot;type&quot;: 42, # The type of the value.
6397                    },
6398                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
6399                  },
6400                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
6401                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
6402                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
6403                      &quot;intVal&quot;: 42, # The int value.
6404                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
6405                      &quot;type&quot;: 42, # The type of the value.
6406                    },
6407                  },
6408                },
6409                &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
6410                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
6411                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
6412                      &quot;A String&quot;,
6413                    ],
6414                  },
6415                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
6416                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
6417                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
6418                      { # HTTPHeader describes a custom header to be used in HTTP probes
6419                        &quot;name&quot;: &quot;A String&quot;, # The header field name
6420                        &quot;value&quot;: &quot;A String&quot;, # The header field value
6421                      },
6422                    ],
6423                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
6424                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
6425                      &quot;intVal&quot;: 42, # The int value.
6426                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
6427                      &quot;type&quot;: 42, # The type of the value.
6428                    },
6429                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
6430                  },
6431                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
6432                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
6433                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
6434                      &quot;intVal&quot;: 42, # The int value.
6435                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
6436                      &quot;type&quot;: 42, # The type of the value.
6437                    },
6438                  },
6439                },
6440              },
6441              &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
6442                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
6443                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
6444                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
6445                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
6446                      &quot;A String&quot;,
6447                    ],
6448                  },
6449                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
6450                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
6451                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
6452                      { # HTTPHeader describes a custom header to be used in HTTP probes
6453                        &quot;name&quot;: &quot;A String&quot;, # The header field name
6454                        &quot;value&quot;: &quot;A String&quot;, # The header field value
6455                      },
6456                    ],
6457                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
6458                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
6459                      &quot;intVal&quot;: 42, # The int value.
6460                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
6461                      &quot;type&quot;: 42, # The type of the value.
6462                    },
6463                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
6464                  },
6465                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
6466                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
6467                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
6468                      &quot;intVal&quot;: 42, # The int value.
6469                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
6470                      &quot;type&quot;: 42, # The type of the value.
6471                    },
6472                  },
6473                },
6474                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
6475                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
6476                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
6477                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
6478              },
6479              &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
6480              &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
6481                { # ContainerPort represents a network port in a single container.
6482                  &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
6483                  &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
6484                  &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
6485                  &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
6486                  &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
6487                },
6488              ],
6489              &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
6490                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
6491                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
6492                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
6493                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
6494                      &quot;A String&quot;,
6495                    ],
6496                  },
6497                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
6498                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
6499                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
6500                      { # HTTPHeader describes a custom header to be used in HTTP probes
6501                        &quot;name&quot;: &quot;A String&quot;, # The header field name
6502                        &quot;value&quot;: &quot;A String&quot;, # The header field value
6503                      },
6504                    ],
6505                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
6506                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
6507                      &quot;intVal&quot;: 42, # The int value.
6508                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
6509                      &quot;type&quot;: 42, # The type of the value.
6510                    },
6511                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
6512                  },
6513                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
6514                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
6515                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
6516                      &quot;intVal&quot;: 42, # The int value.
6517                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
6518                      &quot;type&quot;: 42, # The type of the value.
6519                    },
6520                  },
6521                },
6522                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
6523                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
6524                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
6525                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
6526              },
6527              &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
6528                &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
6529                  &quot;a_key&quot;: &quot;A String&quot;,
6530                },
6531                &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
6532                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
6533                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
6534                  },
6535                },
6536                &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
6537                  &quot;a_key&quot;: &quot;A String&quot;,
6538                },
6539                &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
6540                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
6541                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
6542                  },
6543                },
6544              },
6545              &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
6546                &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
6547                &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
6548                  &quot;add&quot;: [ # Added capabilities +optional
6549                    &quot;A String&quot;,
6550                  ],
6551                  &quot;drop&quot;: [ # Removed capabilities +optional
6552                    &quot;A String&quot;,
6553                  ],
6554                },
6555                &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
6556                &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
6557                &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
6558                &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
6559                &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
6560                &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
6561                  &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
6562                  &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
6563                  &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
6564                  &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
6565                },
6566              },
6567              &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
6568              &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
6569              &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
6570              &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
6571              &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
6572              &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
6573                { # volumeDevice describes a mapping of a raw block device within a container.
6574                  &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
6575                  &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
6576                },
6577              ],
6578              &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
6579                { # VolumeMount describes a mounting of a Volume within a container.
6580                  &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
6581                  &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
6582                  &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
6583                  &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
6584                  &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
6585                },
6586              ],
6587              &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
6588            },
6589            &quot;containerConcurrency&quot;: 42, # (Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run on GKE: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
6590            &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided.
6591              { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
6592                &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
6593                  &quot;A String&quot;,
6594                ],
6595                &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
6596                  &quot;A String&quot;,
6597                ],
6598                &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
6599                  { # EnvVar represents an environment variable present in a Container.
6600                    &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
6601                    &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
6602                    &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
6603                      &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
6604                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
6605                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
6606                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
6607                        },
6608                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
6609                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
6610                      },
6611                      &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
6612                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
6613                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
6614                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
6615                        },
6616                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
6617                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
6618                      },
6619                    },
6620                  },
6621                ],
6622                &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
6623                  { # EnvFromSource represents the source of a set of ConfigMaps
6624                    &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
6625                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
6626                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
6627                      },
6628                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
6629                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
6630                    },
6631                    &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
6632                    &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
6633                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
6634                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
6635                      },
6636                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
6637                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
6638                    },
6639                  },
6640                ],
6641                &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
6642                &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
6643                &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
6644                  &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
6645                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
6646                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
6647                        &quot;A String&quot;,
6648                      ],
6649                    },
6650                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
6651                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
6652                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
6653                        { # HTTPHeader describes a custom header to be used in HTTP probes
6654                          &quot;name&quot;: &quot;A String&quot;, # The header field name
6655                          &quot;value&quot;: &quot;A String&quot;, # The header field value
6656                        },
6657                      ],
6658                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
6659                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
6660                        &quot;intVal&quot;: 42, # The int value.
6661                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
6662                        &quot;type&quot;: 42, # The type of the value.
6663                      },
6664                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
6665                    },
6666                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
6667                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
6668                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
6669                        &quot;intVal&quot;: 42, # The int value.
6670                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
6671                        &quot;type&quot;: 42, # The type of the value.
6672                      },
6673                    },
6674                  },
6675                  &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
6676                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
6677                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
6678                        &quot;A String&quot;,
6679                      ],
6680                    },
6681                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
6682                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
6683                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
6684                        { # HTTPHeader describes a custom header to be used in HTTP probes
6685                          &quot;name&quot;: &quot;A String&quot;, # The header field name
6686                          &quot;value&quot;: &quot;A String&quot;, # The header field value
6687                        },
6688                      ],
6689                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
6690                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
6691                        &quot;intVal&quot;: 42, # The int value.
6692                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
6693                        &quot;type&quot;: 42, # The type of the value.
6694                      },
6695                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
6696                    },
6697                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
6698                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
6699                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
6700                        &quot;intVal&quot;: 42, # The int value.
6701                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
6702                        &quot;type&quot;: 42, # The type of the value.
6703                      },
6704                    },
6705                  },
6706                },
6707                &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
6708                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
6709                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
6710                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
6711                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
6712                        &quot;A String&quot;,
6713                      ],
6714                    },
6715                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
6716                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
6717                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
6718                        { # HTTPHeader describes a custom header to be used in HTTP probes
6719                          &quot;name&quot;: &quot;A String&quot;, # The header field name
6720                          &quot;value&quot;: &quot;A String&quot;, # The header field value
6721                        },
6722                      ],
6723                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
6724                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
6725                        &quot;intVal&quot;: 42, # The int value.
6726                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
6727                        &quot;type&quot;: 42, # The type of the value.
6728                      },
6729                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
6730                    },
6731                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
6732                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
6733                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
6734                        &quot;intVal&quot;: 42, # The int value.
6735                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
6736                        &quot;type&quot;: 42, # The type of the value.
6737                      },
6738                    },
6739                  },
6740                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
6741                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
6742                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
6743                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
6744                },
6745                &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
6746                &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
6747                  { # ContainerPort represents a network port in a single container.
6748                    &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
6749                    &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
6750                    &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
6751                    &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
6752                    &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
6753                  },
6754                ],
6755                &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
6756                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
6757                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
6758                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
6759                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
6760                        &quot;A String&quot;,
6761                      ],
6762                    },
6763                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
6764                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
6765                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
6766                        { # HTTPHeader describes a custom header to be used in HTTP probes
6767                          &quot;name&quot;: &quot;A String&quot;, # The header field name
6768                          &quot;value&quot;: &quot;A String&quot;, # The header field value
6769                        },
6770                      ],
6771                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
6772                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
6773                        &quot;intVal&quot;: 42, # The int value.
6774                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
6775                        &quot;type&quot;: 42, # The type of the value.
6776                      },
6777                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
6778                    },
6779                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
6780                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
6781                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
6782                        &quot;intVal&quot;: 42, # The int value.
6783                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
6784                        &quot;type&quot;: 42, # The type of the value.
6785                      },
6786                    },
6787                  },
6788                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
6789                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
6790                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
6791                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
6792                },
6793                &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
6794                  &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
6795                    &quot;a_key&quot;: &quot;A String&quot;,
6796                  },
6797                  &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
6798                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
6799                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
6800                    },
6801                  },
6802                  &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
6803                    &quot;a_key&quot;: &quot;A String&quot;,
6804                  },
6805                  &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
6806                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
6807                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
6808                    },
6809                  },
6810                },
6811                &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
6812                  &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
6813                  &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
6814                    &quot;add&quot;: [ # Added capabilities +optional
6815                      &quot;A String&quot;,
6816                    ],
6817                    &quot;drop&quot;: [ # Removed capabilities +optional
6818                      &quot;A String&quot;,
6819                    ],
6820                  },
6821                  &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
6822                  &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
6823                  &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
6824                  &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
6825                  &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
6826                  &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
6827                    &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
6828                    &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
6829                    &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
6830                    &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
6831                  },
6832                },
6833                &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
6834                &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
6835                &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
6836                &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
6837                &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
6838                &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
6839                  { # volumeDevice describes a mapping of a raw block device within a container.
6840                    &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
6841                    &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
6842                  },
6843                ],
6844                &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
6845                  { # VolumeMount describes a mounting of a Volume within a container.
6846                    &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
6847                    &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
6848                    &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
6849                    &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
6850                    &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
6851                  },
6852                ],
6853                &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
6854              },
6855            ],
6856            &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
6857            &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
6858            &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources are in for this Revision. Users must not specify this when creating a revision. It is expected that the system will manipulate this based on routability and load. Populated by the system. Read-only.
6859            &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Not currently used by Cloud Run.
6860            &quot;volumes&quot;: [
6861              { # Volume represents a named volume in a container.
6862                &quot;configMap&quot;: { # Adapts a ConfigMap into a volume. The contents of the target ConfigMap&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.
6863                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
6864                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
6865                    { # Maps a string key to a path within a volume.
6866                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
6867                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
6868                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
6869                    },
6870                  ],
6871                  &quot;name&quot;: &quot;A String&quot;, # Name of the config.
6872                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
6873                },
6874                &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
6875                &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names.
6876                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
6877                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
6878                    { # Maps a string key to a path within a volume.
6879                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
6880                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
6881                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
6882                    },
6883                  ],
6884                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
6885                  &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
6886                },
6887              },
6888            ],
6889          },
6890        },
6891      },
6892      &quot;revisions&quot;: [ # Revisions is an ordered list of 1 or 2 revisions. The first is the current revision, and the second is the candidate revision. If a single revision is provided, traffic will be pinned at that revision. &quot;@latest&quot; is a shortcut for usage that refers to the latest created revision by the configuration.
6893        &quot;A String&quot;,
6894      ],
6895      &quot;rolloutPercent&quot;: 42, # RolloutPercent is the percent of traffic that should be sent to the candidate revision, i.e. the 2nd revision in the revisions list. Valid values are between 0 and 99 inclusive.
6896    },
6897    &quot;runLatest&quot;: { # ServiceSpecRunLatest contains the options for always having a route to the latest configuration. See ServiceSpec for more details. # RunLatest defines a simple Service. It will automatically configure a route that keeps the latest ready revision from the supplied configuration running. +optional
6898      &quot;configuration&quot;: { # ConfigurationSpec holds the desired state of the Configuration (from the client). # The configuration for this service.
6899        &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
6900        &quot;revisionTemplate&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190 # RevisionTemplate holds the latest specification for the Revision to be stamped out. The template references the container image, and may also include labels and annotations that should be attached to the Revision. To correlate a Revision, and/or to force a Revision to be created when the spec doesn&#x27;t otherwise change, a nonce label may be provided in the template metadata. For more details, see: https://github.com/knative/serving/blob/master/docs/client-conventions.md#associate-modifications-with-revisions Cloud Run does not currently support referencing a build that is responsible for materializing the container image from source.
6901          &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only). To set maximum instances for this revision, use the &quot;autoscaling.knative.dev/maxScale&quot; annotation key. To set Cloud SQL connections for the revision, use the &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be comma separated.
6902            &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
6903              &quot;a_key&quot;: &quot;A String&quot;,
6904            },
6905            &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
6906            &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
6907            &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
6908            &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
6909            &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
6910              &quot;A String&quot;,
6911            ],
6912            &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
6913            &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
6914            &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
6915              &quot;a_key&quot;: &quot;A String&quot;,
6916            },
6917            &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
6918            &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
6919            &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
6920              { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
6921                &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
6922                &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
6923                &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
6924                &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
6925                &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
6926                &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
6927              },
6928            ],
6929            &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
6930            &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
6931            &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
6932          },
6933          &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).
6934            &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model (Single or Multi) for the Revision. Defaults to Multi. Deprecated in favor of ContainerConcurrency. +optional
6935            &quot;container&quot;: { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime. # Container defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of the fields of this Container, including: name, ports, and volumeMounts. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
6936              &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
6937                &quot;A String&quot;,
6938              ],
6939              &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
6940                &quot;A String&quot;,
6941              ],
6942              &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
6943                { # EnvVar represents an environment variable present in a Container.
6944                  &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
6945                  &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
6946                  &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
6947                    &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
6948                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
6949                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
6950                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
6951                      },
6952                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
6953                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
6954                    },
6955                    &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
6956                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
6957                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
6958                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
6959                      },
6960                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
6961                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
6962                    },
6963                  },
6964                },
6965              ],
6966              &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
6967                { # EnvFromSource represents the source of a set of ConfigMaps
6968                  &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
6969                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
6970                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
6971                    },
6972                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
6973                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
6974                  },
6975                  &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
6976                  &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
6977                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
6978                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
6979                    },
6980                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
6981                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
6982                  },
6983                },
6984              ],
6985              &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
6986              &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
6987              &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
6988                &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
6989                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
6990                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
6991                      &quot;A String&quot;,
6992                    ],
6993                  },
6994                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
6995                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
6996                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
6997                      { # HTTPHeader describes a custom header to be used in HTTP probes
6998                        &quot;name&quot;: &quot;A String&quot;, # The header field name
6999                        &quot;value&quot;: &quot;A String&quot;, # The header field value
7000                      },
7001                    ],
7002                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
7003                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
7004                      &quot;intVal&quot;: 42, # The int value.
7005                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
7006                      &quot;type&quot;: 42, # The type of the value.
7007                    },
7008                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
7009                  },
7010                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
7011                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
7012                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
7013                      &quot;intVal&quot;: 42, # The int value.
7014                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
7015                      &quot;type&quot;: 42, # The type of the value.
7016                    },
7017                  },
7018                },
7019                &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
7020                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
7021                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
7022                      &quot;A String&quot;,
7023                    ],
7024                  },
7025                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
7026                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
7027                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
7028                      { # HTTPHeader describes a custom header to be used in HTTP probes
7029                        &quot;name&quot;: &quot;A String&quot;, # The header field name
7030                        &quot;value&quot;: &quot;A String&quot;, # The header field value
7031                      },
7032                    ],
7033                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
7034                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
7035                      &quot;intVal&quot;: 42, # The int value.
7036                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
7037                      &quot;type&quot;: 42, # The type of the value.
7038                    },
7039                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
7040                  },
7041                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
7042                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
7043                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
7044                      &quot;intVal&quot;: 42, # The int value.
7045                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
7046                      &quot;type&quot;: 42, # The type of the value.
7047                    },
7048                  },
7049                },
7050              },
7051              &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
7052                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
7053                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
7054                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
7055                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
7056                      &quot;A String&quot;,
7057                    ],
7058                  },
7059                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
7060                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
7061                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
7062                      { # HTTPHeader describes a custom header to be used in HTTP probes
7063                        &quot;name&quot;: &quot;A String&quot;, # The header field name
7064                        &quot;value&quot;: &quot;A String&quot;, # The header field value
7065                      },
7066                    ],
7067                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
7068                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
7069                      &quot;intVal&quot;: 42, # The int value.
7070                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
7071                      &quot;type&quot;: 42, # The type of the value.
7072                    },
7073                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
7074                  },
7075                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
7076                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
7077                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
7078                      &quot;intVal&quot;: 42, # The int value.
7079                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
7080                      &quot;type&quot;: 42, # The type of the value.
7081                    },
7082                  },
7083                },
7084                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
7085                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
7086                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
7087                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
7088              },
7089              &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
7090              &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
7091                { # ContainerPort represents a network port in a single container.
7092                  &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
7093                  &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
7094                  &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
7095                  &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
7096                  &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
7097                },
7098              ],
7099              &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
7100                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
7101                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
7102                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
7103                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
7104                      &quot;A String&quot;,
7105                    ],
7106                  },
7107                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
7108                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
7109                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
7110                      { # HTTPHeader describes a custom header to be used in HTTP probes
7111                        &quot;name&quot;: &quot;A String&quot;, # The header field name
7112                        &quot;value&quot;: &quot;A String&quot;, # The header field value
7113                      },
7114                    ],
7115                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
7116                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
7117                      &quot;intVal&quot;: 42, # The int value.
7118                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
7119                      &quot;type&quot;: 42, # The type of the value.
7120                    },
7121                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
7122                  },
7123                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
7124                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
7125                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
7126                      &quot;intVal&quot;: 42, # The int value.
7127                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
7128                      &quot;type&quot;: 42, # The type of the value.
7129                    },
7130                  },
7131                },
7132                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
7133                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
7134                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
7135                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
7136              },
7137              &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
7138                &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
7139                  &quot;a_key&quot;: &quot;A String&quot;,
7140                },
7141                &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
7142                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
7143                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
7144                  },
7145                },
7146                &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
7147                  &quot;a_key&quot;: &quot;A String&quot;,
7148                },
7149                &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
7150                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
7151                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
7152                  },
7153                },
7154              },
7155              &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
7156                &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
7157                &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
7158                  &quot;add&quot;: [ # Added capabilities +optional
7159                    &quot;A String&quot;,
7160                  ],
7161                  &quot;drop&quot;: [ # Removed capabilities +optional
7162                    &quot;A String&quot;,
7163                  ],
7164                },
7165                &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
7166                &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
7167                &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
7168                &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
7169                &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
7170                &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
7171                  &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
7172                  &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
7173                  &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
7174                  &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
7175                },
7176              },
7177              &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
7178              &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
7179              &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
7180              &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
7181              &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
7182              &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
7183                { # volumeDevice describes a mapping of a raw block device within a container.
7184                  &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
7185                  &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
7186                },
7187              ],
7188              &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
7189                { # VolumeMount describes a mounting of a Volume within a container.
7190                  &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
7191                  &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
7192                  &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
7193                  &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
7194                  &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
7195                },
7196              ],
7197              &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
7198            },
7199            &quot;containerConcurrency&quot;: 42, # (Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run on GKE: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
7200            &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided.
7201              { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
7202                &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
7203                  &quot;A String&quot;,
7204                ],
7205                &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
7206                  &quot;A String&quot;,
7207                ],
7208                &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
7209                  { # EnvVar represents an environment variable present in a Container.
7210                    &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
7211                    &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
7212                    &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
7213                      &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
7214                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
7215                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
7216                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
7217                        },
7218                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
7219                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
7220                      },
7221                      &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
7222                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
7223                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
7224                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
7225                        },
7226                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
7227                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
7228                      },
7229                    },
7230                  },
7231                ],
7232                &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
7233                  { # EnvFromSource represents the source of a set of ConfigMaps
7234                    &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
7235                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
7236                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
7237                      },
7238                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
7239                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
7240                    },
7241                    &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
7242                    &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
7243                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
7244                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
7245                      },
7246                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
7247                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
7248                    },
7249                  },
7250                ],
7251                &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
7252                &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
7253                &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
7254                  &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
7255                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
7256                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
7257                        &quot;A String&quot;,
7258                      ],
7259                    },
7260                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
7261                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
7262                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
7263                        { # HTTPHeader describes a custom header to be used in HTTP probes
7264                          &quot;name&quot;: &quot;A String&quot;, # The header field name
7265                          &quot;value&quot;: &quot;A String&quot;, # The header field value
7266                        },
7267                      ],
7268                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
7269                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
7270                        &quot;intVal&quot;: 42, # The int value.
7271                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
7272                        &quot;type&quot;: 42, # The type of the value.
7273                      },
7274                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
7275                    },
7276                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
7277                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
7278                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
7279                        &quot;intVal&quot;: 42, # The int value.
7280                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
7281                        &quot;type&quot;: 42, # The type of the value.
7282                      },
7283                    },
7284                  },
7285                  &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
7286                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
7287                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
7288                        &quot;A String&quot;,
7289                      ],
7290                    },
7291                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
7292                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
7293                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
7294                        { # HTTPHeader describes a custom header to be used in HTTP probes
7295                          &quot;name&quot;: &quot;A String&quot;, # The header field name
7296                          &quot;value&quot;: &quot;A String&quot;, # The header field value
7297                        },
7298                      ],
7299                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
7300                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
7301                        &quot;intVal&quot;: 42, # The int value.
7302                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
7303                        &quot;type&quot;: 42, # The type of the value.
7304                      },
7305                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
7306                    },
7307                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
7308                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
7309                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
7310                        &quot;intVal&quot;: 42, # The int value.
7311                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
7312                        &quot;type&quot;: 42, # The type of the value.
7313                      },
7314                    },
7315                  },
7316                },
7317                &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
7318                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
7319                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
7320                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
7321                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
7322                        &quot;A String&quot;,
7323                      ],
7324                    },
7325                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
7326                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
7327                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
7328                        { # HTTPHeader describes a custom header to be used in HTTP probes
7329                          &quot;name&quot;: &quot;A String&quot;, # The header field name
7330                          &quot;value&quot;: &quot;A String&quot;, # The header field value
7331                        },
7332                      ],
7333                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
7334                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
7335                        &quot;intVal&quot;: 42, # The int value.
7336                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
7337                        &quot;type&quot;: 42, # The type of the value.
7338                      },
7339                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
7340                    },
7341                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
7342                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
7343                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
7344                        &quot;intVal&quot;: 42, # The int value.
7345                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
7346                        &quot;type&quot;: 42, # The type of the value.
7347                      },
7348                    },
7349                  },
7350                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
7351                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
7352                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
7353                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
7354                },
7355                &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
7356                &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
7357                  { # ContainerPort represents a network port in a single container.
7358                    &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
7359                    &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
7360                    &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
7361                    &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
7362                    &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
7363                  },
7364                ],
7365                &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
7366                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
7367                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
7368                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
7369                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
7370                        &quot;A String&quot;,
7371                      ],
7372                    },
7373                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
7374                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
7375                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
7376                        { # HTTPHeader describes a custom header to be used in HTTP probes
7377                          &quot;name&quot;: &quot;A String&quot;, # The header field name
7378                          &quot;value&quot;: &quot;A String&quot;, # The header field value
7379                        },
7380                      ],
7381                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
7382                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
7383                        &quot;intVal&quot;: 42, # The int value.
7384                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
7385                        &quot;type&quot;: 42, # The type of the value.
7386                      },
7387                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
7388                    },
7389                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
7390                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
7391                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
7392                        &quot;intVal&quot;: 42, # The int value.
7393                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
7394                        &quot;type&quot;: 42, # The type of the value.
7395                      },
7396                    },
7397                  },
7398                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
7399                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
7400                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
7401                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
7402                },
7403                &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
7404                  &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
7405                    &quot;a_key&quot;: &quot;A String&quot;,
7406                  },
7407                  &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
7408                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
7409                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
7410                    },
7411                  },
7412                  &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
7413                    &quot;a_key&quot;: &quot;A String&quot;,
7414                  },
7415                  &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
7416                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
7417                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
7418                    },
7419                  },
7420                },
7421                &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
7422                  &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
7423                  &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
7424                    &quot;add&quot;: [ # Added capabilities +optional
7425                      &quot;A String&quot;,
7426                    ],
7427                    &quot;drop&quot;: [ # Removed capabilities +optional
7428                      &quot;A String&quot;,
7429                    ],
7430                  },
7431                  &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
7432                  &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
7433                  &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
7434                  &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
7435                  &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
7436                  &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
7437                    &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
7438                    &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
7439                    &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
7440                    &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
7441                  },
7442                },
7443                &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
7444                &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
7445                &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
7446                &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
7447                &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
7448                &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
7449                  { # volumeDevice describes a mapping of a raw block device within a container.
7450                    &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
7451                    &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
7452                  },
7453                ],
7454                &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
7455                  { # VolumeMount describes a mounting of a Volume within a container.
7456                    &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
7457                    &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
7458                    &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
7459                    &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
7460                    &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
7461                  },
7462                ],
7463                &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
7464              },
7465            ],
7466            &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
7467            &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
7468            &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources are in for this Revision. Users must not specify this when creating a revision. It is expected that the system will manipulate this based on routability and load. Populated by the system. Read-only.
7469            &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Not currently used by Cloud Run.
7470            &quot;volumes&quot;: [
7471              { # Volume represents a named volume in a container.
7472                &quot;configMap&quot;: { # Adapts a ConfigMap into a volume. The contents of the target ConfigMap&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.
7473                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
7474                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
7475                    { # Maps a string key to a path within a volume.
7476                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
7477                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
7478                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
7479                    },
7480                  ],
7481                  &quot;name&quot;: &quot;A String&quot;, # Name of the config.
7482                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
7483                },
7484                &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
7485                &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names.
7486                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
7487                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
7488                    { # Maps a string key to a path within a volume.
7489                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
7490                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
7491                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
7492                    },
7493                  ],
7494                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
7495                  &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
7496                },
7497              },
7498            ],
7499          },
7500        },
7501        &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190 # Template holds the latest specification for the Revision to be stamped out.
7502          &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only). To set maximum instances for this revision, use the &quot;autoscaling.knative.dev/maxScale&quot; annotation key. To set Cloud SQL connections for the revision, use the &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be comma separated.
7503            &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
7504              &quot;a_key&quot;: &quot;A String&quot;,
7505            },
7506            &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
7507            &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
7508            &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
7509            &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
7510            &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
7511              &quot;A String&quot;,
7512            ],
7513            &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
7514            &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
7515            &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
7516              &quot;a_key&quot;: &quot;A String&quot;,
7517            },
7518            &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
7519            &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
7520            &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
7521              { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
7522                &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
7523                &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
7524                &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
7525                &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
7526                &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
7527                &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
7528              },
7529            ],
7530            &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
7531            &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
7532            &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
7533          },
7534          &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).
7535            &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model (Single or Multi) for the Revision. Defaults to Multi. Deprecated in favor of ContainerConcurrency. +optional
7536            &quot;container&quot;: { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime. # Container defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of the fields of this Container, including: name, ports, and volumeMounts. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
7537              &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
7538                &quot;A String&quot;,
7539              ],
7540              &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
7541                &quot;A String&quot;,
7542              ],
7543              &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
7544                { # EnvVar represents an environment variable present in a Container.
7545                  &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
7546                  &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
7547                  &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
7548                    &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
7549                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
7550                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
7551                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
7552                      },
7553                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
7554                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
7555                    },
7556                    &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
7557                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
7558                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
7559                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
7560                      },
7561                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
7562                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
7563                    },
7564                  },
7565                },
7566              ],
7567              &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
7568                { # EnvFromSource represents the source of a set of ConfigMaps
7569                  &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
7570                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
7571                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
7572                    },
7573                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
7574                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
7575                  },
7576                  &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
7577                  &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
7578                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
7579                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
7580                    },
7581                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
7582                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
7583                  },
7584                },
7585              ],
7586              &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
7587              &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
7588              &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
7589                &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
7590                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
7591                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
7592                      &quot;A String&quot;,
7593                    ],
7594                  },
7595                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
7596                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
7597                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
7598                      { # HTTPHeader describes a custom header to be used in HTTP probes
7599                        &quot;name&quot;: &quot;A String&quot;, # The header field name
7600                        &quot;value&quot;: &quot;A String&quot;, # The header field value
7601                      },
7602                    ],
7603                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
7604                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
7605                      &quot;intVal&quot;: 42, # The int value.
7606                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
7607                      &quot;type&quot;: 42, # The type of the value.
7608                    },
7609                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
7610                  },
7611                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
7612                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
7613                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
7614                      &quot;intVal&quot;: 42, # The int value.
7615                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
7616                      &quot;type&quot;: 42, # The type of the value.
7617                    },
7618                  },
7619                },
7620                &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
7621                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
7622                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
7623                      &quot;A String&quot;,
7624                    ],
7625                  },
7626                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
7627                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
7628                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
7629                      { # HTTPHeader describes a custom header to be used in HTTP probes
7630                        &quot;name&quot;: &quot;A String&quot;, # The header field name
7631                        &quot;value&quot;: &quot;A String&quot;, # The header field value
7632                      },
7633                    ],
7634                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
7635                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
7636                      &quot;intVal&quot;: 42, # The int value.
7637                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
7638                      &quot;type&quot;: 42, # The type of the value.
7639                    },
7640                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
7641                  },
7642                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
7643                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
7644                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
7645                      &quot;intVal&quot;: 42, # The int value.
7646                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
7647                      &quot;type&quot;: 42, # The type of the value.
7648                    },
7649                  },
7650                },
7651              },
7652              &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
7653                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
7654                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
7655                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
7656                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
7657                      &quot;A String&quot;,
7658                    ],
7659                  },
7660                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
7661                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
7662                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
7663                      { # HTTPHeader describes a custom header to be used in HTTP probes
7664                        &quot;name&quot;: &quot;A String&quot;, # The header field name
7665                        &quot;value&quot;: &quot;A String&quot;, # The header field value
7666                      },
7667                    ],
7668                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
7669                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
7670                      &quot;intVal&quot;: 42, # The int value.
7671                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
7672                      &quot;type&quot;: 42, # The type of the value.
7673                    },
7674                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
7675                  },
7676                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
7677                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
7678                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
7679                      &quot;intVal&quot;: 42, # The int value.
7680                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
7681                      &quot;type&quot;: 42, # The type of the value.
7682                    },
7683                  },
7684                },
7685                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
7686                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
7687                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
7688                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
7689              },
7690              &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
7691              &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
7692                { # ContainerPort represents a network port in a single container.
7693                  &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
7694                  &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
7695                  &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
7696                  &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
7697                  &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
7698                },
7699              ],
7700              &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
7701                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
7702                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
7703                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
7704                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
7705                      &quot;A String&quot;,
7706                    ],
7707                  },
7708                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
7709                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
7710                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
7711                      { # HTTPHeader describes a custom header to be used in HTTP probes
7712                        &quot;name&quot;: &quot;A String&quot;, # The header field name
7713                        &quot;value&quot;: &quot;A String&quot;, # The header field value
7714                      },
7715                    ],
7716                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
7717                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
7718                      &quot;intVal&quot;: 42, # The int value.
7719                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
7720                      &quot;type&quot;: 42, # The type of the value.
7721                    },
7722                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
7723                  },
7724                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
7725                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
7726                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
7727                      &quot;intVal&quot;: 42, # The int value.
7728                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
7729                      &quot;type&quot;: 42, # The type of the value.
7730                    },
7731                  },
7732                },
7733                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
7734                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
7735                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
7736                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
7737              },
7738              &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
7739                &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
7740                  &quot;a_key&quot;: &quot;A String&quot;,
7741                },
7742                &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
7743                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
7744                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
7745                  },
7746                },
7747                &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
7748                  &quot;a_key&quot;: &quot;A String&quot;,
7749                },
7750                &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
7751                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
7752                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
7753                  },
7754                },
7755              },
7756              &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
7757                &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
7758                &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
7759                  &quot;add&quot;: [ # Added capabilities +optional
7760                    &quot;A String&quot;,
7761                  ],
7762                  &quot;drop&quot;: [ # Removed capabilities +optional
7763                    &quot;A String&quot;,
7764                  ],
7765                },
7766                &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
7767                &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
7768                &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
7769                &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
7770                &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
7771                &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
7772                  &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
7773                  &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
7774                  &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
7775                  &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
7776                },
7777              },
7778              &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
7779              &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
7780              &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
7781              &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
7782              &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
7783              &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
7784                { # volumeDevice describes a mapping of a raw block device within a container.
7785                  &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
7786                  &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
7787                },
7788              ],
7789              &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
7790                { # VolumeMount describes a mounting of a Volume within a container.
7791                  &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
7792                  &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
7793                  &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
7794                  &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
7795                  &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
7796                },
7797              ],
7798              &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
7799            },
7800            &quot;containerConcurrency&quot;: 42, # (Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run on GKE: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
7801            &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided.
7802              { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
7803                &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
7804                  &quot;A String&quot;,
7805                ],
7806                &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
7807                  &quot;A String&quot;,
7808                ],
7809                &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
7810                  { # EnvVar represents an environment variable present in a Container.
7811                    &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
7812                    &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
7813                    &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
7814                      &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
7815                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
7816                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
7817                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
7818                        },
7819                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
7820                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
7821                      },
7822                      &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
7823                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
7824                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
7825                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
7826                        },
7827                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
7828                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
7829                      },
7830                    },
7831                  },
7832                ],
7833                &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
7834                  { # EnvFromSource represents the source of a set of ConfigMaps
7835                    &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
7836                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
7837                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
7838                      },
7839                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
7840                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
7841                    },
7842                    &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
7843                    &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
7844                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
7845                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
7846                      },
7847                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
7848                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
7849                    },
7850                  },
7851                ],
7852                &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
7853                &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
7854                &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
7855                  &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
7856                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
7857                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
7858                        &quot;A String&quot;,
7859                      ],
7860                    },
7861                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
7862                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
7863                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
7864                        { # HTTPHeader describes a custom header to be used in HTTP probes
7865                          &quot;name&quot;: &quot;A String&quot;, # The header field name
7866                          &quot;value&quot;: &quot;A String&quot;, # The header field value
7867                        },
7868                      ],
7869                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
7870                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
7871                        &quot;intVal&quot;: 42, # The int value.
7872                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
7873                        &quot;type&quot;: 42, # The type of the value.
7874                      },
7875                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
7876                    },
7877                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
7878                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
7879                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
7880                        &quot;intVal&quot;: 42, # The int value.
7881                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
7882                        &quot;type&quot;: 42, # The type of the value.
7883                      },
7884                    },
7885                  },
7886                  &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
7887                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
7888                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
7889                        &quot;A String&quot;,
7890                      ],
7891                    },
7892                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
7893                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
7894                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
7895                        { # HTTPHeader describes a custom header to be used in HTTP probes
7896                          &quot;name&quot;: &quot;A String&quot;, # The header field name
7897                          &quot;value&quot;: &quot;A String&quot;, # The header field value
7898                        },
7899                      ],
7900                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
7901                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
7902                        &quot;intVal&quot;: 42, # The int value.
7903                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
7904                        &quot;type&quot;: 42, # The type of the value.
7905                      },
7906                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
7907                    },
7908                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
7909                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
7910                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
7911                        &quot;intVal&quot;: 42, # The int value.
7912                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
7913                        &quot;type&quot;: 42, # The type of the value.
7914                      },
7915                    },
7916                  },
7917                },
7918                &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
7919                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
7920                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
7921                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
7922                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
7923                        &quot;A String&quot;,
7924                      ],
7925                    },
7926                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
7927                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
7928                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
7929                        { # HTTPHeader describes a custom header to be used in HTTP probes
7930                          &quot;name&quot;: &quot;A String&quot;, # The header field name
7931                          &quot;value&quot;: &quot;A String&quot;, # The header field value
7932                        },
7933                      ],
7934                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
7935                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
7936                        &quot;intVal&quot;: 42, # The int value.
7937                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
7938                        &quot;type&quot;: 42, # The type of the value.
7939                      },
7940                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
7941                    },
7942                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
7943                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
7944                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
7945                        &quot;intVal&quot;: 42, # The int value.
7946                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
7947                        &quot;type&quot;: 42, # The type of the value.
7948                      },
7949                    },
7950                  },
7951                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
7952                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
7953                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
7954                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
7955                },
7956                &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
7957                &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
7958                  { # ContainerPort represents a network port in a single container.
7959                    &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
7960                    &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
7961                    &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
7962                    &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
7963                    &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
7964                  },
7965                ],
7966                &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
7967                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
7968                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
7969                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
7970                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
7971                        &quot;A String&quot;,
7972                      ],
7973                    },
7974                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
7975                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
7976                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
7977                        { # HTTPHeader describes a custom header to be used in HTTP probes
7978                          &quot;name&quot;: &quot;A String&quot;, # The header field name
7979                          &quot;value&quot;: &quot;A String&quot;, # The header field value
7980                        },
7981                      ],
7982                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
7983                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
7984                        &quot;intVal&quot;: 42, # The int value.
7985                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
7986                        &quot;type&quot;: 42, # The type of the value.
7987                      },
7988                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
7989                    },
7990                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
7991                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
7992                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
7993                        &quot;intVal&quot;: 42, # The int value.
7994                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
7995                        &quot;type&quot;: 42, # The type of the value.
7996                      },
7997                    },
7998                  },
7999                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
8000                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
8001                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
8002                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
8003                },
8004                &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
8005                  &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
8006                    &quot;a_key&quot;: &quot;A String&quot;,
8007                  },
8008                  &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
8009                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
8010                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
8011                    },
8012                  },
8013                  &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
8014                    &quot;a_key&quot;: &quot;A String&quot;,
8015                  },
8016                  &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
8017                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
8018                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
8019                    },
8020                  },
8021                },
8022                &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
8023                  &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
8024                  &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
8025                    &quot;add&quot;: [ # Added capabilities +optional
8026                      &quot;A String&quot;,
8027                    ],
8028                    &quot;drop&quot;: [ # Removed capabilities +optional
8029                      &quot;A String&quot;,
8030                    ],
8031                  },
8032                  &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
8033                  &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
8034                  &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
8035                  &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
8036                  &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
8037                  &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
8038                    &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
8039                    &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
8040                    &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
8041                    &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
8042                  },
8043                },
8044                &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
8045                &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
8046                &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
8047                &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
8048                &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
8049                &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
8050                  { # volumeDevice describes a mapping of a raw block device within a container.
8051                    &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
8052                    &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
8053                  },
8054                ],
8055                &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
8056                  { # VolumeMount describes a mounting of a Volume within a container.
8057                    &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
8058                    &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
8059                    &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
8060                    &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
8061                    &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
8062                  },
8063                ],
8064                &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
8065              },
8066            ],
8067            &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
8068            &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
8069            &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources are in for this Revision. Users must not specify this when creating a revision. It is expected that the system will manipulate this based on routability and load. Populated by the system. Read-only.
8070            &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Not currently used by Cloud Run.
8071            &quot;volumes&quot;: [
8072              { # Volume represents a named volume in a container.
8073                &quot;configMap&quot;: { # Adapts a ConfigMap into a volume. The contents of the target ConfigMap&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.
8074                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
8075                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
8076                    { # Maps a string key to a path within a volume.
8077                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
8078                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
8079                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
8080                    },
8081                  ],
8082                  &quot;name&quot;: &quot;A String&quot;, # Name of the config.
8083                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
8084                },
8085                &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
8086                &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names.
8087                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
8088                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
8089                    { # Maps a string key to a path within a volume.
8090                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
8091                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
8092                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
8093                    },
8094                  ],
8095                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
8096                  &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
8097                },
8098              },
8099            ],
8100          },
8101        },
8102      },
8103    },
8104    &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190 # Template holds the latest specification for the Revision to be stamped out.
8105      &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only). To set maximum instances for this revision, use the &quot;autoscaling.knative.dev/maxScale&quot; annotation key. To set Cloud SQL connections for the revision, use the &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be comma separated.
8106        &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
8107          &quot;a_key&quot;: &quot;A String&quot;,
8108        },
8109        &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
8110        &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
8111        &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
8112        &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
8113        &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
8114          &quot;A String&quot;,
8115        ],
8116        &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
8117        &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
8118        &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
8119          &quot;a_key&quot;: &quot;A String&quot;,
8120        },
8121        &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
8122        &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
8123        &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
8124          { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
8125            &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
8126            &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
8127            &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
8128            &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
8129            &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
8130            &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
8131          },
8132        ],
8133        &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
8134        &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
8135        &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
8136      },
8137      &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).
8138        &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model (Single or Multi) for the Revision. Defaults to Multi. Deprecated in favor of ContainerConcurrency. +optional
8139        &quot;container&quot;: { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime. # Container defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of the fields of this Container, including: name, ports, and volumeMounts. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
8140          &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
8141            &quot;A String&quot;,
8142          ],
8143          &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
8144            &quot;A String&quot;,
8145          ],
8146          &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
8147            { # EnvVar represents an environment variable present in a Container.
8148              &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
8149              &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
8150              &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
8151                &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
8152                  &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
8153                  &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
8154                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
8155                  },
8156                  &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
8157                  &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
8158                },
8159                &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
8160                  &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
8161                  &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
8162                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
8163                  },
8164                  &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
8165                  &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
8166                },
8167              },
8168            },
8169          ],
8170          &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
8171            { # EnvFromSource represents the source of a set of ConfigMaps
8172              &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
8173                &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
8174                  &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
8175                },
8176                &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
8177                &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
8178              },
8179              &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
8180              &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
8181                &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
8182                  &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
8183                },
8184                &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
8185                &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
8186              },
8187            },
8188          ],
8189          &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
8190          &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
8191          &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
8192            &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
8193              &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
8194                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
8195                  &quot;A String&quot;,
8196                ],
8197              },
8198              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
8199                &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
8200                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
8201                  { # HTTPHeader describes a custom header to be used in HTTP probes
8202                    &quot;name&quot;: &quot;A String&quot;, # The header field name
8203                    &quot;value&quot;: &quot;A String&quot;, # The header field value
8204                  },
8205                ],
8206                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
8207                &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
8208                  &quot;intVal&quot;: 42, # The int value.
8209                  &quot;strVal&quot;: &quot;A String&quot;, # The string value.
8210                  &quot;type&quot;: 42, # The type of the value.
8211                },
8212                &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
8213              },
8214              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
8215                &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
8216                &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
8217                  &quot;intVal&quot;: 42, # The int value.
8218                  &quot;strVal&quot;: &quot;A String&quot;, # The string value.
8219                  &quot;type&quot;: 42, # The type of the value.
8220                },
8221              },
8222            },
8223            &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
8224              &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
8225                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
8226                  &quot;A String&quot;,
8227                ],
8228              },
8229              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
8230                &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
8231                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
8232                  { # HTTPHeader describes a custom header to be used in HTTP probes
8233                    &quot;name&quot;: &quot;A String&quot;, # The header field name
8234                    &quot;value&quot;: &quot;A String&quot;, # The header field value
8235                  },
8236                ],
8237                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
8238                &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
8239                  &quot;intVal&quot;: 42, # The int value.
8240                  &quot;strVal&quot;: &quot;A String&quot;, # The string value.
8241                  &quot;type&quot;: 42, # The type of the value.
8242                },
8243                &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
8244              },
8245              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
8246                &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
8247                &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
8248                  &quot;intVal&quot;: 42, # The int value.
8249                  &quot;strVal&quot;: &quot;A String&quot;, # The string value.
8250                  &quot;type&quot;: 42, # The type of the value.
8251                },
8252              },
8253            },
8254          },
8255          &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
8256            &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
8257            &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
8258              &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
8259                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
8260                  &quot;A String&quot;,
8261                ],
8262              },
8263              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
8264                &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
8265                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
8266                  { # HTTPHeader describes a custom header to be used in HTTP probes
8267                    &quot;name&quot;: &quot;A String&quot;, # The header field name
8268                    &quot;value&quot;: &quot;A String&quot;, # The header field value
8269                  },
8270                ],
8271                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
8272                &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
8273                  &quot;intVal&quot;: 42, # The int value.
8274                  &quot;strVal&quot;: &quot;A String&quot;, # The string value.
8275                  &quot;type&quot;: 42, # The type of the value.
8276                },
8277                &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
8278              },
8279              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
8280                &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
8281                &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
8282                  &quot;intVal&quot;: 42, # The int value.
8283                  &quot;strVal&quot;: &quot;A String&quot;, # The string value.
8284                  &quot;type&quot;: 42, # The type of the value.
8285                },
8286              },
8287            },
8288            &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
8289            &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
8290            &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
8291            &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
8292          },
8293          &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
8294          &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
8295            { # ContainerPort represents a network port in a single container.
8296              &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
8297              &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
8298              &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
8299              &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
8300              &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
8301            },
8302          ],
8303          &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
8304            &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
8305            &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
8306              &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
8307                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
8308                  &quot;A String&quot;,
8309                ],
8310              },
8311              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
8312                &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
8313                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
8314                  { # HTTPHeader describes a custom header to be used in HTTP probes
8315                    &quot;name&quot;: &quot;A String&quot;, # The header field name
8316                    &quot;value&quot;: &quot;A String&quot;, # The header field value
8317                  },
8318                ],
8319                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
8320                &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
8321                  &quot;intVal&quot;: 42, # The int value.
8322                  &quot;strVal&quot;: &quot;A String&quot;, # The string value.
8323                  &quot;type&quot;: 42, # The type of the value.
8324                },
8325                &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
8326              },
8327              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
8328                &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
8329                &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
8330                  &quot;intVal&quot;: 42, # The int value.
8331                  &quot;strVal&quot;: &quot;A String&quot;, # The string value.
8332                  &quot;type&quot;: 42, # The type of the value.
8333                },
8334              },
8335            },
8336            &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
8337            &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
8338            &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
8339            &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
8340          },
8341          &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
8342            &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
8343              &quot;a_key&quot;: &quot;A String&quot;,
8344            },
8345            &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
8346              &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
8347                &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
8348              },
8349            },
8350            &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
8351              &quot;a_key&quot;: &quot;A String&quot;,
8352            },
8353            &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
8354              &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
8355                &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
8356              },
8357            },
8358          },
8359          &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
8360            &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
8361            &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
8362              &quot;add&quot;: [ # Added capabilities +optional
8363                &quot;A String&quot;,
8364              ],
8365              &quot;drop&quot;: [ # Removed capabilities +optional
8366                &quot;A String&quot;,
8367              ],
8368            },
8369            &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
8370            &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
8371            &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
8372            &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
8373            &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
8374            &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
8375              &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
8376              &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
8377              &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
8378              &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
8379            },
8380          },
8381          &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
8382          &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
8383          &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
8384          &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
8385          &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
8386          &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
8387            { # volumeDevice describes a mapping of a raw block device within a container.
8388              &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
8389              &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
8390            },
8391          ],
8392          &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
8393            { # VolumeMount describes a mounting of a Volume within a container.
8394              &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
8395              &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
8396              &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
8397              &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
8398              &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
8399            },
8400          ],
8401          &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
8402        },
8403        &quot;containerConcurrency&quot;: 42, # (Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run on GKE: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
8404        &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided.
8405          { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
8406            &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
8407              &quot;A String&quot;,
8408            ],
8409            &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
8410              &quot;A String&quot;,
8411            ],
8412            &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
8413              { # EnvVar represents an environment variable present in a Container.
8414                &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
8415                &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
8416                &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
8417                  &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
8418                    &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
8419                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
8420                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
8421                    },
8422                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
8423                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
8424                  },
8425                  &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
8426                    &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
8427                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
8428                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
8429                    },
8430                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
8431                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
8432                  },
8433                },
8434              },
8435            ],
8436            &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
8437              { # EnvFromSource represents the source of a set of ConfigMaps
8438                &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
8439                  &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
8440                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
8441                  },
8442                  &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
8443                  &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
8444                },
8445                &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
8446                &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
8447                  &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
8448                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
8449                  },
8450                  &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
8451                  &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
8452                },
8453              },
8454            ],
8455            &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
8456            &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
8457            &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
8458              &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
8459                &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
8460                  &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
8461                    &quot;A String&quot;,
8462                  ],
8463                },
8464                &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
8465                  &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
8466                  &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
8467                    { # HTTPHeader describes a custom header to be used in HTTP probes
8468                      &quot;name&quot;: &quot;A String&quot;, # The header field name
8469                      &quot;value&quot;: &quot;A String&quot;, # The header field value
8470                    },
8471                  ],
8472                  &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
8473                  &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
8474                    &quot;intVal&quot;: 42, # The int value.
8475                    &quot;strVal&quot;: &quot;A String&quot;, # The string value.
8476                    &quot;type&quot;: 42, # The type of the value.
8477                  },
8478                  &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
8479                },
8480                &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
8481                  &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
8482                  &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
8483                    &quot;intVal&quot;: 42, # The int value.
8484                    &quot;strVal&quot;: &quot;A String&quot;, # The string value.
8485                    &quot;type&quot;: 42, # The type of the value.
8486                  },
8487                },
8488              },
8489              &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
8490                &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
8491                  &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
8492                    &quot;A String&quot;,
8493                  ],
8494                },
8495                &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
8496                  &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
8497                  &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
8498                    { # HTTPHeader describes a custom header to be used in HTTP probes
8499                      &quot;name&quot;: &quot;A String&quot;, # The header field name
8500                      &quot;value&quot;: &quot;A String&quot;, # The header field value
8501                    },
8502                  ],
8503                  &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
8504                  &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
8505                    &quot;intVal&quot;: 42, # The int value.
8506                    &quot;strVal&quot;: &quot;A String&quot;, # The string value.
8507                    &quot;type&quot;: 42, # The type of the value.
8508                  },
8509                  &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
8510                },
8511                &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
8512                  &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
8513                  &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
8514                    &quot;intVal&quot;: 42, # The int value.
8515                    &quot;strVal&quot;: &quot;A String&quot;, # The string value.
8516                    &quot;type&quot;: 42, # The type of the value.
8517                  },
8518                },
8519              },
8520            },
8521            &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
8522              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
8523              &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
8524                &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
8525                  &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
8526                    &quot;A String&quot;,
8527                  ],
8528                },
8529                &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
8530                  &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
8531                  &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
8532                    { # HTTPHeader describes a custom header to be used in HTTP probes
8533                      &quot;name&quot;: &quot;A String&quot;, # The header field name
8534                      &quot;value&quot;: &quot;A String&quot;, # The header field value
8535                    },
8536                  ],
8537                  &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
8538                  &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
8539                    &quot;intVal&quot;: 42, # The int value.
8540                    &quot;strVal&quot;: &quot;A String&quot;, # The string value.
8541                    &quot;type&quot;: 42, # The type of the value.
8542                  },
8543                  &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
8544                },
8545                &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
8546                  &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
8547                  &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
8548                    &quot;intVal&quot;: 42, # The int value.
8549                    &quot;strVal&quot;: &quot;A String&quot;, # The string value.
8550                    &quot;type&quot;: 42, # The type of the value.
8551                  },
8552                },
8553              },
8554              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
8555              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
8556              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
8557              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
8558            },
8559            &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
8560            &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
8561              { # ContainerPort represents a network port in a single container.
8562                &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
8563                &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
8564                &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
8565                &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
8566                &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
8567              },
8568            ],
8569            &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
8570              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
8571              &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
8572                &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
8573                  &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
8574                    &quot;A String&quot;,
8575                  ],
8576                },
8577                &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
8578                  &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
8579                  &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
8580                    { # HTTPHeader describes a custom header to be used in HTTP probes
8581                      &quot;name&quot;: &quot;A String&quot;, # The header field name
8582                      &quot;value&quot;: &quot;A String&quot;, # The header field value
8583                    },
8584                  ],
8585                  &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
8586                  &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
8587                    &quot;intVal&quot;: 42, # The int value.
8588                    &quot;strVal&quot;: &quot;A String&quot;, # The string value.
8589                    &quot;type&quot;: 42, # The type of the value.
8590                  },
8591                  &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
8592                },
8593                &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
8594                  &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
8595                  &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
8596                    &quot;intVal&quot;: 42, # The int value.
8597                    &quot;strVal&quot;: &quot;A String&quot;, # The string value.
8598                    &quot;type&quot;: 42, # The type of the value.
8599                  },
8600                },
8601              },
8602              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
8603              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
8604              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
8605              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
8606            },
8607            &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
8608              &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
8609                &quot;a_key&quot;: &quot;A String&quot;,
8610              },
8611              &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
8612                &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
8613                  &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
8614                },
8615              },
8616              &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
8617                &quot;a_key&quot;: &quot;A String&quot;,
8618              },
8619              &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
8620                &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
8621                  &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
8622                },
8623              },
8624            },
8625            &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
8626              &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
8627              &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
8628                &quot;add&quot;: [ # Added capabilities +optional
8629                  &quot;A String&quot;,
8630                ],
8631                &quot;drop&quot;: [ # Removed capabilities +optional
8632                  &quot;A String&quot;,
8633                ],
8634              },
8635              &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
8636              &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
8637              &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
8638              &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
8639              &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
8640              &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
8641                &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
8642                &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
8643                &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
8644                &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
8645              },
8646            },
8647            &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
8648            &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
8649            &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
8650            &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
8651            &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
8652            &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
8653              { # volumeDevice describes a mapping of a raw block device within a container.
8654                &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
8655                &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
8656              },
8657            ],
8658            &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
8659              { # VolumeMount describes a mounting of a Volume within a container.
8660                &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
8661                &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
8662                &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
8663                &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
8664                &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
8665              },
8666            ],
8667            &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
8668          },
8669        ],
8670        &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
8671        &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
8672        &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources are in for this Revision. Users must not specify this when creating a revision. It is expected that the system will manipulate this based on routability and load. Populated by the system. Read-only.
8673        &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Not currently used by Cloud Run.
8674        &quot;volumes&quot;: [
8675          { # Volume represents a named volume in a container.
8676            &quot;configMap&quot;: { # Adapts a ConfigMap into a volume. The contents of the target ConfigMap&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.
8677              &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
8678              &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
8679                { # Maps a string key to a path within a volume.
8680                  &quot;key&quot;: &quot;A String&quot;, # The key to project.
8681                  &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
8682                  &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
8683                },
8684              ],
8685              &quot;name&quot;: &quot;A String&quot;, # Name of the config.
8686              &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
8687            },
8688            &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
8689            &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names.
8690              &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
8691              &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
8692                { # Maps a string key to a path within a volume.
8693                  &quot;key&quot;: &quot;A String&quot;, # The key to project.
8694                  &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
8695                  &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
8696                },
8697              ],
8698              &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
8699              &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
8700            },
8701          },
8702        ],
8703      },
8704    },
8705    &quot;traffic&quot;: [ # Traffic specifies how to distribute traffic over a collection of Knative Revisions and Configurations.
8706      { # TrafficTarget holds a single entry of the routing table for a Route.
8707        &quot;configurationName&quot;: &quot;A String&quot;, # ConfigurationName of a configuration to whose latest revision we will send this portion of traffic. When the &quot;status.latestReadyRevisionName&quot; of the referenced configuration changes, we will automatically migrate traffic from the prior &quot;latest ready&quot; revision to the new one. This field is never set in Route&#x27;s status, only its spec. This is mutually exclusive with RevisionName. Cloud Run currently supports a single ConfigurationName.
8708        &quot;latestRevision&quot;: True or False, # LatestRevision may be optionally provided to indicate that the latest ready Revision of the Configuration should be used for this traffic target. When provided LatestRevision must be true if RevisionName is empty; it must be false when RevisionName is non-empty. +optional
8709        &quot;name&quot;: &quot;A String&quot;, # Name is optionally used to expose a dedicated hostname for referencing this target exclusively. Not currently supported by Cloud Run. +optional
8710        &quot;percent&quot;: 42, # Percent specifies percent of the traffic to this Revision or Configuration. This defaults to zero if unspecified. Cloud Run currently requires 100 percent for a single ConfigurationName TrafficTarget entry.
8711        &quot;revisionName&quot;: &quot;A String&quot;, # RevisionName of a specific revision to which to send this portion of traffic. This is mutually exclusive with ConfigurationName. Providing RevisionName in spec is not currently supported by Cloud Run.
8712        &quot;tag&quot;: &quot;A String&quot;, # Tag is optionally used to expose a dedicated url for referencing this target exclusively. Not currently supported in Cloud Run. +optional
8713        &quot;url&quot;: &quot;A String&quot;, # Output only. URL displays the URL for accessing named traffic targets. URL is displayed in status, and is disallowed on spec. URL must contain a scheme (e.g. http://) and a hostname, but may not contain anything else (e.g. basic auth, url path, etc. Not currently supported in Cloud Run.
8714      },
8715    ],
8716  },
8717  &quot;status&quot;: { # The current state of the Service. Output only. # Status communicates the observed state of the Service (from the controller).
8718    &quot;address&quot;: { # Information for connecting over HTTP(s). # From RouteStatus. Similar to url, information on where the service is available on HTTP.
8719      &quot;hostname&quot;: &quot;A String&quot;, # Deprecated - use url instead.
8720      &quot;url&quot;: &quot;A String&quot;,
8721    },
8722    &quot;conditions&quot;: [ # Conditions communicates information about ongoing/complete reconciliation processes that bring the &quot;spec&quot; inline with the observed state of the world.
8723      { # ServiceCondition defines a readiness condition for a Service.
8724        &quot;lastTransitionTime&quot;: &quot;A String&quot;, # Last time the condition transitioned from one status to another. +optional
8725        &quot;message&quot;: &quot;A String&quot;, # Human-readable message indicating details about last transition. +optional
8726        &quot;reason&quot;: &quot;A String&quot;, # One-word CamelCase reason for the condition&#x27;s last transition. +optional
8727        &quot;severity&quot;: &quot;A String&quot;, # How to interpret failures of this condition, one of Error, Warning, Info +optional
8728        &quot;status&quot;: &quot;A String&quot;, # Status of the condition, one of True, False, Unknown.
8729        &quot;type&quot;: &quot;A String&quot;, # ServiceConditionType is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types include: &quot;Ready&quot;, &quot;ConfigurationsReady&quot;, and &quot;RoutesReady&quot;. &quot;Ready&quot; will be true when the underlying Route and Configuration are ready.
8730      },
8731    ],
8732    &quot;domain&quot;: &quot;A String&quot;, # From RouteStatus. Domain holds the top-level domain that will distribute traffic over the provided targets. It generally has the form https://{route-hash}-{project-hash}-{cluster-level-suffix}.a.run.app
8733    &quot;latestCreatedRevisionName&quot;: &quot;A String&quot;, # From ConfigurationStatus. LatestCreatedRevisionName is the last revision that was created from this Service&#x27;s Configuration. It might not be ready yet, for that use LatestReadyRevisionName.
8734    &quot;latestReadyRevisionName&quot;: &quot;A String&quot;, # From ConfigurationStatus. LatestReadyRevisionName holds the name of the latest Revision stamped out from this Service&#x27;s Configuration that has had its &quot;Ready&quot; condition become &quot;True&quot;.
8735    &quot;observedGeneration&quot;: 42, # ObservedGeneration is the &#x27;Generation&#x27; of the Route that was last processed by the controller. Clients polling for completed reconciliation should poll until observedGeneration = metadata.generation and the Ready condition&#x27;s status is True or False.
8736    &quot;traffic&quot;: [ # From RouteStatus. Traffic holds the configured traffic distribution. These entries will always contain RevisionName references. When ConfigurationName appears in the spec, this will hold the LatestReadyRevisionName that we last observed.
8737      { # TrafficTarget holds a single entry of the routing table for a Route.
8738        &quot;configurationName&quot;: &quot;A String&quot;, # ConfigurationName of a configuration to whose latest revision we will send this portion of traffic. When the &quot;status.latestReadyRevisionName&quot; of the referenced configuration changes, we will automatically migrate traffic from the prior &quot;latest ready&quot; revision to the new one. This field is never set in Route&#x27;s status, only its spec. This is mutually exclusive with RevisionName. Cloud Run currently supports a single ConfigurationName.
8739        &quot;latestRevision&quot;: True or False, # LatestRevision may be optionally provided to indicate that the latest ready Revision of the Configuration should be used for this traffic target. When provided LatestRevision must be true if RevisionName is empty; it must be false when RevisionName is non-empty. +optional
8740        &quot;name&quot;: &quot;A String&quot;, # Name is optionally used to expose a dedicated hostname for referencing this target exclusively. Not currently supported by Cloud Run. +optional
8741        &quot;percent&quot;: 42, # Percent specifies percent of the traffic to this Revision or Configuration. This defaults to zero if unspecified. Cloud Run currently requires 100 percent for a single ConfigurationName TrafficTarget entry.
8742        &quot;revisionName&quot;: &quot;A String&quot;, # RevisionName of a specific revision to which to send this portion of traffic. This is mutually exclusive with ConfigurationName. Providing RevisionName in spec is not currently supported by Cloud Run.
8743        &quot;tag&quot;: &quot;A String&quot;, # Tag is optionally used to expose a dedicated url for referencing this target exclusively. Not currently supported in Cloud Run. +optional
8744        &quot;url&quot;: &quot;A String&quot;, # Output only. URL displays the URL for accessing named traffic targets. URL is displayed in status, and is disallowed on spec. URL must contain a scheme (e.g. http://) and a hostname, but may not contain anything else (e.g. basic auth, url path, etc. Not currently supported in Cloud Run.
8745      },
8746    ],
8747    &quot;url&quot;: &quot;A String&quot;, # From RouteStatus. URL holds the url that will distribute traffic over the provided traffic targets. It generally has the form https://{route-hash}-{project-hash}-{cluster-level-suffix}.a.run.app
8748  },
8749}</pre>
8750</div>
8751
8752<div class="method">
8753    <code class="details" id="delete">delete(name, apiVersion=None, kind=None, orphanDependents=None, propagationPolicy=None, x__xgafv=None)</code>
8754  <pre>Rpc to delete a service. This will cause the Service to stop serving traffic and will delete the child entities like Routes, Configurations and Revisions.
8755
8756Args:
8757  name: string, The name of the service being deleted. If needed, replace {namespace_id} with the project ID. (required)
8758  apiVersion: string, Cloud Run currently ignores this parameter.
8759  kind: string, Cloud Run currently ignores this parameter.
8760  orphanDependents: boolean, Deprecated. Specifies the cascade behavior on delete. Cloud Run only supports cascading behavior, so this must be false. This attribute is deprecated, and is now replaced with PropagationPolicy See https://github.com/kubernetes/kubernetes/issues/46659 for more info.
8761  propagationPolicy: string, Specifies the propagation policy of delete. Cloud Run currently ignores this setting, and deletes in the background. Please see kubernetes.io/docs/concepts/workloads/controllers/garbage-collection/ for more information.
8762  x__xgafv: string, V1 error format.
8763    Allowed values
8764      1 - v1 error format
8765      2 - v2 error format
8766
8767Returns:
8768  An object of the form:
8769
8770    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.
8771}</pre>
8772</div>
8773
8774<div class="method">
8775    <code class="details" id="get">get(name, x__xgafv=None)</code>
8776  <pre>Rpc to get information about a service.
8777
8778Args:
8779  name: string, The name of the service being retrieved. If needed, replace {namespace_id} with the project ID. (required)
8780  x__xgafv: string, V1 error format.
8781    Allowed values
8782      1 - v1 error format
8783      2 - v2 error format
8784
8785Returns:
8786  An object of the form:
8787
8788    { # Service acts as a top-level container that manages a set of Routes and Configurations which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets). The Service&#x27;s controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#service
8789  &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1alpha1&quot;.
8790  &quot;kind&quot;: &quot;A String&quot;, # The kind of resource, in this case &quot;Service&quot;.
8791  &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Service, including name, namespace, labels, and annotations.
8792    &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
8793      &quot;a_key&quot;: &quot;A String&quot;,
8794    },
8795    &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
8796    &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
8797    &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
8798    &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
8799    &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
8800      &quot;A String&quot;,
8801    ],
8802    &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
8803    &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
8804    &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
8805      &quot;a_key&quot;: &quot;A String&quot;,
8806    },
8807    &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
8808    &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
8809    &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
8810      { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
8811        &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
8812        &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
8813        &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
8814        &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
8815        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
8816        &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
8817      },
8818    ],
8819    &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
8820    &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
8821    &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
8822  },
8823  &quot;spec&quot;: { # ServiceSpec holds the desired state of the Route (from the client), which is used to manipulate the underlying Route and Configuration(s). # Spec holds the desired state of the Service (from the client).
8824    &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
8825    &quot;manual&quot;: { # ServiceSpecManualType contains the options for configuring a manual service. See ServiceSpec for more details. Not currently supported by Cloud Run. # Manual contains the options for configuring a manual service. See ServiceSpec for more details. Not currently supported by Cloud Run.
8826    },
8827    &quot;pinned&quot;: { # ServiceSpecPinnedType Pins this service to a specific revision name. The revision must be owned by the configuration provided. Deprecated and not supported by Cloud Run. # Pins this service to a specific revision name. The revision must be owned by the configuration provided. Deprecated and not supported by Cloud Run. +optional
8828      &quot;configuration&quot;: { # ConfigurationSpec holds the desired state of the Configuration (from the client). # The configuration for this service.
8829        &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
8830        &quot;revisionTemplate&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190 # RevisionTemplate holds the latest specification for the Revision to be stamped out. The template references the container image, and may also include labels and annotations that should be attached to the Revision. To correlate a Revision, and/or to force a Revision to be created when the spec doesn&#x27;t otherwise change, a nonce label may be provided in the template metadata. For more details, see: https://github.com/knative/serving/blob/master/docs/client-conventions.md#associate-modifications-with-revisions Cloud Run does not currently support referencing a build that is responsible for materializing the container image from source.
8831          &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only). To set maximum instances for this revision, use the &quot;autoscaling.knative.dev/maxScale&quot; annotation key. To set Cloud SQL connections for the revision, use the &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be comma separated.
8832            &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
8833              &quot;a_key&quot;: &quot;A String&quot;,
8834            },
8835            &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
8836            &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
8837            &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
8838            &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
8839            &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
8840              &quot;A String&quot;,
8841            ],
8842            &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
8843            &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
8844            &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
8845              &quot;a_key&quot;: &quot;A String&quot;,
8846            },
8847            &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
8848            &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
8849            &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
8850              { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
8851                &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
8852                &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
8853                &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
8854                &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
8855                &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
8856                &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
8857              },
8858            ],
8859            &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
8860            &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
8861            &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
8862          },
8863          &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).
8864            &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model (Single or Multi) for the Revision. Defaults to Multi. Deprecated in favor of ContainerConcurrency. +optional
8865            &quot;container&quot;: { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime. # Container defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of the fields of this Container, including: name, ports, and volumeMounts. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
8866              &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
8867                &quot;A String&quot;,
8868              ],
8869              &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
8870                &quot;A String&quot;,
8871              ],
8872              &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
8873                { # EnvVar represents an environment variable present in a Container.
8874                  &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
8875                  &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
8876                  &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
8877                    &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
8878                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
8879                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
8880                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
8881                      },
8882                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
8883                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
8884                    },
8885                    &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
8886                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
8887                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
8888                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
8889                      },
8890                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
8891                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
8892                    },
8893                  },
8894                },
8895              ],
8896              &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
8897                { # EnvFromSource represents the source of a set of ConfigMaps
8898                  &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
8899                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
8900                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
8901                    },
8902                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
8903                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
8904                  },
8905                  &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
8906                  &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
8907                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
8908                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
8909                    },
8910                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
8911                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
8912                  },
8913                },
8914              ],
8915              &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
8916              &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
8917              &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
8918                &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
8919                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
8920                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
8921                      &quot;A String&quot;,
8922                    ],
8923                  },
8924                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
8925                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
8926                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
8927                      { # HTTPHeader describes a custom header to be used in HTTP probes
8928                        &quot;name&quot;: &quot;A String&quot;, # The header field name
8929                        &quot;value&quot;: &quot;A String&quot;, # The header field value
8930                      },
8931                    ],
8932                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
8933                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
8934                      &quot;intVal&quot;: 42, # The int value.
8935                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
8936                      &quot;type&quot;: 42, # The type of the value.
8937                    },
8938                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
8939                  },
8940                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
8941                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
8942                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
8943                      &quot;intVal&quot;: 42, # The int value.
8944                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
8945                      &quot;type&quot;: 42, # The type of the value.
8946                    },
8947                  },
8948                },
8949                &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
8950                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
8951                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
8952                      &quot;A String&quot;,
8953                    ],
8954                  },
8955                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
8956                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
8957                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
8958                      { # HTTPHeader describes a custom header to be used in HTTP probes
8959                        &quot;name&quot;: &quot;A String&quot;, # The header field name
8960                        &quot;value&quot;: &quot;A String&quot;, # The header field value
8961                      },
8962                    ],
8963                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
8964                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
8965                      &quot;intVal&quot;: 42, # The int value.
8966                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
8967                      &quot;type&quot;: 42, # The type of the value.
8968                    },
8969                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
8970                  },
8971                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
8972                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
8973                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
8974                      &quot;intVal&quot;: 42, # The int value.
8975                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
8976                      &quot;type&quot;: 42, # The type of the value.
8977                    },
8978                  },
8979                },
8980              },
8981              &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
8982                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
8983                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
8984                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
8985                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
8986                      &quot;A String&quot;,
8987                    ],
8988                  },
8989                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
8990                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
8991                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
8992                      { # HTTPHeader describes a custom header to be used in HTTP probes
8993                        &quot;name&quot;: &quot;A String&quot;, # The header field name
8994                        &quot;value&quot;: &quot;A String&quot;, # The header field value
8995                      },
8996                    ],
8997                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
8998                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
8999                      &quot;intVal&quot;: 42, # The int value.
9000                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
9001                      &quot;type&quot;: 42, # The type of the value.
9002                    },
9003                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
9004                  },
9005                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
9006                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
9007                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
9008                      &quot;intVal&quot;: 42, # The int value.
9009                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
9010                      &quot;type&quot;: 42, # The type of the value.
9011                    },
9012                  },
9013                },
9014                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
9015                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
9016                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
9017                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
9018              },
9019              &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
9020              &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
9021                { # ContainerPort represents a network port in a single container.
9022                  &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
9023                  &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
9024                  &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
9025                  &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
9026                  &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
9027                },
9028              ],
9029              &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
9030                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
9031                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
9032                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
9033                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
9034                      &quot;A String&quot;,
9035                    ],
9036                  },
9037                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
9038                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
9039                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
9040                      { # HTTPHeader describes a custom header to be used in HTTP probes
9041                        &quot;name&quot;: &quot;A String&quot;, # The header field name
9042                        &quot;value&quot;: &quot;A String&quot;, # The header field value
9043                      },
9044                    ],
9045                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
9046                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
9047                      &quot;intVal&quot;: 42, # The int value.
9048                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
9049                      &quot;type&quot;: 42, # The type of the value.
9050                    },
9051                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
9052                  },
9053                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
9054                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
9055                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
9056                      &quot;intVal&quot;: 42, # The int value.
9057                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
9058                      &quot;type&quot;: 42, # The type of the value.
9059                    },
9060                  },
9061                },
9062                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
9063                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
9064                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
9065                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
9066              },
9067              &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
9068                &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
9069                  &quot;a_key&quot;: &quot;A String&quot;,
9070                },
9071                &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
9072                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
9073                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
9074                  },
9075                },
9076                &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
9077                  &quot;a_key&quot;: &quot;A String&quot;,
9078                },
9079                &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
9080                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
9081                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
9082                  },
9083                },
9084              },
9085              &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
9086                &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
9087                &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
9088                  &quot;add&quot;: [ # Added capabilities +optional
9089                    &quot;A String&quot;,
9090                  ],
9091                  &quot;drop&quot;: [ # Removed capabilities +optional
9092                    &quot;A String&quot;,
9093                  ],
9094                },
9095                &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
9096                &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
9097                &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
9098                &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
9099                &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
9100                &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
9101                  &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
9102                  &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
9103                  &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
9104                  &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
9105                },
9106              },
9107              &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
9108              &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
9109              &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
9110              &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
9111              &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
9112              &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
9113                { # volumeDevice describes a mapping of a raw block device within a container.
9114                  &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
9115                  &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
9116                },
9117              ],
9118              &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
9119                { # VolumeMount describes a mounting of a Volume within a container.
9120                  &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
9121                  &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
9122                  &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
9123                  &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
9124                  &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
9125                },
9126              ],
9127              &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
9128            },
9129            &quot;containerConcurrency&quot;: 42, # (Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run on GKE: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
9130            &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided.
9131              { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
9132                &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
9133                  &quot;A String&quot;,
9134                ],
9135                &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
9136                  &quot;A String&quot;,
9137                ],
9138                &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
9139                  { # EnvVar represents an environment variable present in a Container.
9140                    &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
9141                    &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
9142                    &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
9143                      &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
9144                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
9145                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
9146                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
9147                        },
9148                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
9149                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
9150                      },
9151                      &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
9152                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
9153                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
9154                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
9155                        },
9156                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
9157                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
9158                      },
9159                    },
9160                  },
9161                ],
9162                &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
9163                  { # EnvFromSource represents the source of a set of ConfigMaps
9164                    &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
9165                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
9166                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
9167                      },
9168                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
9169                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
9170                    },
9171                    &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
9172                    &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
9173                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
9174                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
9175                      },
9176                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
9177                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
9178                    },
9179                  },
9180                ],
9181                &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
9182                &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
9183                &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
9184                  &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
9185                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
9186                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
9187                        &quot;A String&quot;,
9188                      ],
9189                    },
9190                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
9191                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
9192                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
9193                        { # HTTPHeader describes a custom header to be used in HTTP probes
9194                          &quot;name&quot;: &quot;A String&quot;, # The header field name
9195                          &quot;value&quot;: &quot;A String&quot;, # The header field value
9196                        },
9197                      ],
9198                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
9199                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
9200                        &quot;intVal&quot;: 42, # The int value.
9201                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
9202                        &quot;type&quot;: 42, # The type of the value.
9203                      },
9204                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
9205                    },
9206                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
9207                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
9208                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
9209                        &quot;intVal&quot;: 42, # The int value.
9210                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
9211                        &quot;type&quot;: 42, # The type of the value.
9212                      },
9213                    },
9214                  },
9215                  &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
9216                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
9217                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
9218                        &quot;A String&quot;,
9219                      ],
9220                    },
9221                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
9222                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
9223                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
9224                        { # HTTPHeader describes a custom header to be used in HTTP probes
9225                          &quot;name&quot;: &quot;A String&quot;, # The header field name
9226                          &quot;value&quot;: &quot;A String&quot;, # The header field value
9227                        },
9228                      ],
9229                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
9230                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
9231                        &quot;intVal&quot;: 42, # The int value.
9232                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
9233                        &quot;type&quot;: 42, # The type of the value.
9234                      },
9235                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
9236                    },
9237                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
9238                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
9239                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
9240                        &quot;intVal&quot;: 42, # The int value.
9241                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
9242                        &quot;type&quot;: 42, # The type of the value.
9243                      },
9244                    },
9245                  },
9246                },
9247                &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
9248                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
9249                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
9250                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
9251                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
9252                        &quot;A String&quot;,
9253                      ],
9254                    },
9255                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
9256                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
9257                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
9258                        { # HTTPHeader describes a custom header to be used in HTTP probes
9259                          &quot;name&quot;: &quot;A String&quot;, # The header field name
9260                          &quot;value&quot;: &quot;A String&quot;, # The header field value
9261                        },
9262                      ],
9263                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
9264                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
9265                        &quot;intVal&quot;: 42, # The int value.
9266                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
9267                        &quot;type&quot;: 42, # The type of the value.
9268                      },
9269                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
9270                    },
9271                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
9272                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
9273                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
9274                        &quot;intVal&quot;: 42, # The int value.
9275                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
9276                        &quot;type&quot;: 42, # The type of the value.
9277                      },
9278                    },
9279                  },
9280                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
9281                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
9282                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
9283                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
9284                },
9285                &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
9286                &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
9287                  { # ContainerPort represents a network port in a single container.
9288                    &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
9289                    &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
9290                    &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
9291                    &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
9292                    &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
9293                  },
9294                ],
9295                &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
9296                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
9297                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
9298                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
9299                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
9300                        &quot;A String&quot;,
9301                      ],
9302                    },
9303                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
9304                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
9305                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
9306                        { # HTTPHeader describes a custom header to be used in HTTP probes
9307                          &quot;name&quot;: &quot;A String&quot;, # The header field name
9308                          &quot;value&quot;: &quot;A String&quot;, # The header field value
9309                        },
9310                      ],
9311                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
9312                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
9313                        &quot;intVal&quot;: 42, # The int value.
9314                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
9315                        &quot;type&quot;: 42, # The type of the value.
9316                      },
9317                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
9318                    },
9319                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
9320                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
9321                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
9322                        &quot;intVal&quot;: 42, # The int value.
9323                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
9324                        &quot;type&quot;: 42, # The type of the value.
9325                      },
9326                    },
9327                  },
9328                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
9329                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
9330                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
9331                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
9332                },
9333                &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
9334                  &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
9335                    &quot;a_key&quot;: &quot;A String&quot;,
9336                  },
9337                  &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
9338                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
9339                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
9340                    },
9341                  },
9342                  &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
9343                    &quot;a_key&quot;: &quot;A String&quot;,
9344                  },
9345                  &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
9346                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
9347                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
9348                    },
9349                  },
9350                },
9351                &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
9352                  &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
9353                  &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
9354                    &quot;add&quot;: [ # Added capabilities +optional
9355                      &quot;A String&quot;,
9356                    ],
9357                    &quot;drop&quot;: [ # Removed capabilities +optional
9358                      &quot;A String&quot;,
9359                    ],
9360                  },
9361                  &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
9362                  &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
9363                  &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
9364                  &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
9365                  &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
9366                  &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
9367                    &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
9368                    &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
9369                    &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
9370                    &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
9371                  },
9372                },
9373                &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
9374                &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
9375                &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
9376                &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
9377                &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
9378                &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
9379                  { # volumeDevice describes a mapping of a raw block device within a container.
9380                    &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
9381                    &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
9382                  },
9383                ],
9384                &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
9385                  { # VolumeMount describes a mounting of a Volume within a container.
9386                    &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
9387                    &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
9388                    &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
9389                    &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
9390                    &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
9391                  },
9392                ],
9393                &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
9394              },
9395            ],
9396            &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
9397            &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
9398            &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources are in for this Revision. Users must not specify this when creating a revision. It is expected that the system will manipulate this based on routability and load. Populated by the system. Read-only.
9399            &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Not currently used by Cloud Run.
9400            &quot;volumes&quot;: [
9401              { # Volume represents a named volume in a container.
9402                &quot;configMap&quot;: { # Adapts a ConfigMap into a volume. The contents of the target ConfigMap&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.
9403                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
9404                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
9405                    { # Maps a string key to a path within a volume.
9406                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
9407                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
9408                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
9409                    },
9410                  ],
9411                  &quot;name&quot;: &quot;A String&quot;, # Name of the config.
9412                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
9413                },
9414                &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
9415                &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names.
9416                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
9417                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
9418                    { # Maps a string key to a path within a volume.
9419                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
9420                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
9421                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
9422                    },
9423                  ],
9424                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
9425                  &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
9426                },
9427              },
9428            ],
9429          },
9430        },
9431        &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190 # Template holds the latest specification for the Revision to be stamped out.
9432          &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only). To set maximum instances for this revision, use the &quot;autoscaling.knative.dev/maxScale&quot; annotation key. To set Cloud SQL connections for the revision, use the &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be comma separated.
9433            &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
9434              &quot;a_key&quot;: &quot;A String&quot;,
9435            },
9436            &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
9437            &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
9438            &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
9439            &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
9440            &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
9441              &quot;A String&quot;,
9442            ],
9443            &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
9444            &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
9445            &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
9446              &quot;a_key&quot;: &quot;A String&quot;,
9447            },
9448            &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
9449            &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
9450            &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
9451              { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
9452                &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
9453                &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
9454                &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
9455                &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
9456                &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
9457                &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
9458              },
9459            ],
9460            &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
9461            &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
9462            &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
9463          },
9464          &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).
9465            &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model (Single or Multi) for the Revision. Defaults to Multi. Deprecated in favor of ContainerConcurrency. +optional
9466            &quot;container&quot;: { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime. # Container defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of the fields of this Container, including: name, ports, and volumeMounts. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
9467              &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
9468                &quot;A String&quot;,
9469              ],
9470              &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
9471                &quot;A String&quot;,
9472              ],
9473              &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
9474                { # EnvVar represents an environment variable present in a Container.
9475                  &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
9476                  &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
9477                  &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
9478                    &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
9479                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
9480                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
9481                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
9482                      },
9483                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
9484                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
9485                    },
9486                    &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
9487                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
9488                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
9489                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
9490                      },
9491                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
9492                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
9493                    },
9494                  },
9495                },
9496              ],
9497              &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
9498                { # EnvFromSource represents the source of a set of ConfigMaps
9499                  &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
9500                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
9501                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
9502                    },
9503                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
9504                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
9505                  },
9506                  &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
9507                  &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
9508                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
9509                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
9510                    },
9511                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
9512                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
9513                  },
9514                },
9515              ],
9516              &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
9517              &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
9518              &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
9519                &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
9520                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
9521                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
9522                      &quot;A String&quot;,
9523                    ],
9524                  },
9525                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
9526                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
9527                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
9528                      { # HTTPHeader describes a custom header to be used in HTTP probes
9529                        &quot;name&quot;: &quot;A String&quot;, # The header field name
9530                        &quot;value&quot;: &quot;A String&quot;, # The header field value
9531                      },
9532                    ],
9533                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
9534                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
9535                      &quot;intVal&quot;: 42, # The int value.
9536                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
9537                      &quot;type&quot;: 42, # The type of the value.
9538                    },
9539                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
9540                  },
9541                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
9542                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
9543                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
9544                      &quot;intVal&quot;: 42, # The int value.
9545                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
9546                      &quot;type&quot;: 42, # The type of the value.
9547                    },
9548                  },
9549                },
9550                &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
9551                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
9552                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
9553                      &quot;A String&quot;,
9554                    ],
9555                  },
9556                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
9557                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
9558                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
9559                      { # HTTPHeader describes a custom header to be used in HTTP probes
9560                        &quot;name&quot;: &quot;A String&quot;, # The header field name
9561                        &quot;value&quot;: &quot;A String&quot;, # The header field value
9562                      },
9563                    ],
9564                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
9565                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
9566                      &quot;intVal&quot;: 42, # The int value.
9567                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
9568                      &quot;type&quot;: 42, # The type of the value.
9569                    },
9570                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
9571                  },
9572                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
9573                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
9574                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
9575                      &quot;intVal&quot;: 42, # The int value.
9576                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
9577                      &quot;type&quot;: 42, # The type of the value.
9578                    },
9579                  },
9580                },
9581              },
9582              &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
9583                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
9584                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
9585                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
9586                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
9587                      &quot;A String&quot;,
9588                    ],
9589                  },
9590                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
9591                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
9592                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
9593                      { # HTTPHeader describes a custom header to be used in HTTP probes
9594                        &quot;name&quot;: &quot;A String&quot;, # The header field name
9595                        &quot;value&quot;: &quot;A String&quot;, # The header field value
9596                      },
9597                    ],
9598                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
9599                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
9600                      &quot;intVal&quot;: 42, # The int value.
9601                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
9602                      &quot;type&quot;: 42, # The type of the value.
9603                    },
9604                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
9605                  },
9606                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
9607                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
9608                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
9609                      &quot;intVal&quot;: 42, # The int value.
9610                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
9611                      &quot;type&quot;: 42, # The type of the value.
9612                    },
9613                  },
9614                },
9615                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
9616                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
9617                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
9618                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
9619              },
9620              &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
9621              &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
9622                { # ContainerPort represents a network port in a single container.
9623                  &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
9624                  &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
9625                  &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
9626                  &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
9627                  &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
9628                },
9629              ],
9630              &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
9631                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
9632                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
9633                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
9634                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
9635                      &quot;A String&quot;,
9636                    ],
9637                  },
9638                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
9639                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
9640                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
9641                      { # HTTPHeader describes a custom header to be used in HTTP probes
9642                        &quot;name&quot;: &quot;A String&quot;, # The header field name
9643                        &quot;value&quot;: &quot;A String&quot;, # The header field value
9644                      },
9645                    ],
9646                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
9647                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
9648                      &quot;intVal&quot;: 42, # The int value.
9649                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
9650                      &quot;type&quot;: 42, # The type of the value.
9651                    },
9652                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
9653                  },
9654                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
9655                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
9656                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
9657                      &quot;intVal&quot;: 42, # The int value.
9658                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
9659                      &quot;type&quot;: 42, # The type of the value.
9660                    },
9661                  },
9662                },
9663                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
9664                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
9665                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
9666                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
9667              },
9668              &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
9669                &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
9670                  &quot;a_key&quot;: &quot;A String&quot;,
9671                },
9672                &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
9673                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
9674                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
9675                  },
9676                },
9677                &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
9678                  &quot;a_key&quot;: &quot;A String&quot;,
9679                },
9680                &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
9681                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
9682                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
9683                  },
9684                },
9685              },
9686              &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
9687                &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
9688                &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
9689                  &quot;add&quot;: [ # Added capabilities +optional
9690                    &quot;A String&quot;,
9691                  ],
9692                  &quot;drop&quot;: [ # Removed capabilities +optional
9693                    &quot;A String&quot;,
9694                  ],
9695                },
9696                &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
9697                &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
9698                &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
9699                &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
9700                &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
9701                &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
9702                  &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
9703                  &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
9704                  &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
9705                  &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
9706                },
9707              },
9708              &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
9709              &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
9710              &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
9711              &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
9712              &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
9713              &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
9714                { # volumeDevice describes a mapping of a raw block device within a container.
9715                  &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
9716                  &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
9717                },
9718              ],
9719              &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
9720                { # VolumeMount describes a mounting of a Volume within a container.
9721                  &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
9722                  &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
9723                  &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
9724                  &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
9725                  &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
9726                },
9727              ],
9728              &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
9729            },
9730            &quot;containerConcurrency&quot;: 42, # (Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run on GKE: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
9731            &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided.
9732              { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
9733                &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
9734                  &quot;A String&quot;,
9735                ],
9736                &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
9737                  &quot;A String&quot;,
9738                ],
9739                &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
9740                  { # EnvVar represents an environment variable present in a Container.
9741                    &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
9742                    &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
9743                    &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
9744                      &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
9745                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
9746                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
9747                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
9748                        },
9749                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
9750                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
9751                      },
9752                      &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
9753                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
9754                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
9755                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
9756                        },
9757                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
9758                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
9759                      },
9760                    },
9761                  },
9762                ],
9763                &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
9764                  { # EnvFromSource represents the source of a set of ConfigMaps
9765                    &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
9766                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
9767                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
9768                      },
9769                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
9770                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
9771                    },
9772                    &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
9773                    &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
9774                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
9775                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
9776                      },
9777                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
9778                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
9779                    },
9780                  },
9781                ],
9782                &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
9783                &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
9784                &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
9785                  &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
9786                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
9787                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
9788                        &quot;A String&quot;,
9789                      ],
9790                    },
9791                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
9792                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
9793                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
9794                        { # HTTPHeader describes a custom header to be used in HTTP probes
9795                          &quot;name&quot;: &quot;A String&quot;, # The header field name
9796                          &quot;value&quot;: &quot;A String&quot;, # The header field value
9797                        },
9798                      ],
9799                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
9800                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
9801                        &quot;intVal&quot;: 42, # The int value.
9802                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
9803                        &quot;type&quot;: 42, # The type of the value.
9804                      },
9805                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
9806                    },
9807                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
9808                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
9809                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
9810                        &quot;intVal&quot;: 42, # The int value.
9811                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
9812                        &quot;type&quot;: 42, # The type of the value.
9813                      },
9814                    },
9815                  },
9816                  &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
9817                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
9818                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
9819                        &quot;A String&quot;,
9820                      ],
9821                    },
9822                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
9823                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
9824                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
9825                        { # HTTPHeader describes a custom header to be used in HTTP probes
9826                          &quot;name&quot;: &quot;A String&quot;, # The header field name
9827                          &quot;value&quot;: &quot;A String&quot;, # The header field value
9828                        },
9829                      ],
9830                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
9831                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
9832                        &quot;intVal&quot;: 42, # The int value.
9833                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
9834                        &quot;type&quot;: 42, # The type of the value.
9835                      },
9836                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
9837                    },
9838                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
9839                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
9840                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
9841                        &quot;intVal&quot;: 42, # The int value.
9842                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
9843                        &quot;type&quot;: 42, # The type of the value.
9844                      },
9845                    },
9846                  },
9847                },
9848                &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
9849                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
9850                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
9851                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
9852                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
9853                        &quot;A String&quot;,
9854                      ],
9855                    },
9856                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
9857                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
9858                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
9859                        { # HTTPHeader describes a custom header to be used in HTTP probes
9860                          &quot;name&quot;: &quot;A String&quot;, # The header field name
9861                          &quot;value&quot;: &quot;A String&quot;, # The header field value
9862                        },
9863                      ],
9864                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
9865                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
9866                        &quot;intVal&quot;: 42, # The int value.
9867                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
9868                        &quot;type&quot;: 42, # The type of the value.
9869                      },
9870                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
9871                    },
9872                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
9873                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
9874                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
9875                        &quot;intVal&quot;: 42, # The int value.
9876                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
9877                        &quot;type&quot;: 42, # The type of the value.
9878                      },
9879                    },
9880                  },
9881                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
9882                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
9883                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
9884                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
9885                },
9886                &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
9887                &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
9888                  { # ContainerPort represents a network port in a single container.
9889                    &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
9890                    &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
9891                    &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
9892                    &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
9893                    &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
9894                  },
9895                ],
9896                &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
9897                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
9898                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
9899                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
9900                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
9901                        &quot;A String&quot;,
9902                      ],
9903                    },
9904                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
9905                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
9906                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
9907                        { # HTTPHeader describes a custom header to be used in HTTP probes
9908                          &quot;name&quot;: &quot;A String&quot;, # The header field name
9909                          &quot;value&quot;: &quot;A String&quot;, # The header field value
9910                        },
9911                      ],
9912                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
9913                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
9914                        &quot;intVal&quot;: 42, # The int value.
9915                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
9916                        &quot;type&quot;: 42, # The type of the value.
9917                      },
9918                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
9919                    },
9920                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
9921                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
9922                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
9923                        &quot;intVal&quot;: 42, # The int value.
9924                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
9925                        &quot;type&quot;: 42, # The type of the value.
9926                      },
9927                    },
9928                  },
9929                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
9930                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
9931                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
9932                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
9933                },
9934                &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
9935                  &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
9936                    &quot;a_key&quot;: &quot;A String&quot;,
9937                  },
9938                  &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
9939                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
9940                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
9941                    },
9942                  },
9943                  &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
9944                    &quot;a_key&quot;: &quot;A String&quot;,
9945                  },
9946                  &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
9947                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
9948                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
9949                    },
9950                  },
9951                },
9952                &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
9953                  &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
9954                  &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
9955                    &quot;add&quot;: [ # Added capabilities +optional
9956                      &quot;A String&quot;,
9957                    ],
9958                    &quot;drop&quot;: [ # Removed capabilities +optional
9959                      &quot;A String&quot;,
9960                    ],
9961                  },
9962                  &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
9963                  &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
9964                  &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
9965                  &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
9966                  &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
9967                  &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
9968                    &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
9969                    &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
9970                    &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
9971                    &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
9972                  },
9973                },
9974                &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
9975                &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
9976                &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
9977                &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
9978                &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
9979                &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
9980                  { # volumeDevice describes a mapping of a raw block device within a container.
9981                    &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
9982                    &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
9983                  },
9984                ],
9985                &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
9986                  { # VolumeMount describes a mounting of a Volume within a container.
9987                    &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
9988                    &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
9989                    &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
9990                    &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
9991                    &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
9992                  },
9993                ],
9994                &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
9995              },
9996            ],
9997            &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
9998            &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
9999            &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources are in for this Revision. Users must not specify this when creating a revision. It is expected that the system will manipulate this based on routability and load. Populated by the system. Read-only.
10000            &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Not currently used by Cloud Run.
10001            &quot;volumes&quot;: [
10002              { # Volume represents a named volume in a container.
10003                &quot;configMap&quot;: { # Adapts a ConfigMap into a volume. The contents of the target ConfigMap&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.
10004                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
10005                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
10006                    { # Maps a string key to a path within a volume.
10007                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
10008                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
10009                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
10010                    },
10011                  ],
10012                  &quot;name&quot;: &quot;A String&quot;, # Name of the config.
10013                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
10014                },
10015                &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
10016                &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names.
10017                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
10018                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
10019                    { # Maps a string key to a path within a volume.
10020                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
10021                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
10022                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
10023                    },
10024                  ],
10025                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
10026                  &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
10027                },
10028              },
10029            ],
10030          },
10031        },
10032      },
10033      &quot;revisionName&quot;: &quot;A String&quot;, # The revision name to pin this service to until changed to a different service type.
10034    },
10035    &quot;release&quot;: { # ServiceSpecReleaseType contains the options for slowly releasing revisions. See ServiceSpec for more details. Not currently supported by Cloud Run. # Release enables gradual promotion of new revisions by allowing traffic to be split between two revisions. This type replaces the deprecated Pinned type. Not currently supported by Cloud Run.
10036      &quot;configuration&quot;: { # ConfigurationSpec holds the desired state of the Configuration (from the client). # The configuration for this service. All revisions from this service must come from a single configuration.
10037        &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
10038        &quot;revisionTemplate&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190 # RevisionTemplate holds the latest specification for the Revision to be stamped out. The template references the container image, and may also include labels and annotations that should be attached to the Revision. To correlate a Revision, and/or to force a Revision to be created when the spec doesn&#x27;t otherwise change, a nonce label may be provided in the template metadata. For more details, see: https://github.com/knative/serving/blob/master/docs/client-conventions.md#associate-modifications-with-revisions Cloud Run does not currently support referencing a build that is responsible for materializing the container image from source.
10039          &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only). To set maximum instances for this revision, use the &quot;autoscaling.knative.dev/maxScale&quot; annotation key. To set Cloud SQL connections for the revision, use the &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be comma separated.
10040            &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
10041              &quot;a_key&quot;: &quot;A String&quot;,
10042            },
10043            &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
10044            &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
10045            &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
10046            &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
10047            &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
10048              &quot;A String&quot;,
10049            ],
10050            &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
10051            &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
10052            &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
10053              &quot;a_key&quot;: &quot;A String&quot;,
10054            },
10055            &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
10056            &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
10057            &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
10058              { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
10059                &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
10060                &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
10061                &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
10062                &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
10063                &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
10064                &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
10065              },
10066            ],
10067            &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
10068            &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
10069            &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
10070          },
10071          &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).
10072            &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model (Single or Multi) for the Revision. Defaults to Multi. Deprecated in favor of ContainerConcurrency. +optional
10073            &quot;container&quot;: { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime. # Container defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of the fields of this Container, including: name, ports, and volumeMounts. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
10074              &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
10075                &quot;A String&quot;,
10076              ],
10077              &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
10078                &quot;A String&quot;,
10079              ],
10080              &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
10081                { # EnvVar represents an environment variable present in a Container.
10082                  &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
10083                  &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
10084                  &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
10085                    &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
10086                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
10087                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
10088                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
10089                      },
10090                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
10091                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
10092                    },
10093                    &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
10094                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
10095                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
10096                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
10097                      },
10098                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
10099                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
10100                    },
10101                  },
10102                },
10103              ],
10104              &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
10105                { # EnvFromSource represents the source of a set of ConfigMaps
10106                  &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
10107                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
10108                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
10109                    },
10110                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
10111                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
10112                  },
10113                  &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
10114                  &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
10115                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
10116                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
10117                    },
10118                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
10119                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
10120                  },
10121                },
10122              ],
10123              &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
10124              &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
10125              &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
10126                &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
10127                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
10128                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
10129                      &quot;A String&quot;,
10130                    ],
10131                  },
10132                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
10133                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
10134                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
10135                      { # HTTPHeader describes a custom header to be used in HTTP probes
10136                        &quot;name&quot;: &quot;A String&quot;, # The header field name
10137                        &quot;value&quot;: &quot;A String&quot;, # The header field value
10138                      },
10139                    ],
10140                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
10141                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
10142                      &quot;intVal&quot;: 42, # The int value.
10143                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
10144                      &quot;type&quot;: 42, # The type of the value.
10145                    },
10146                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
10147                  },
10148                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
10149                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
10150                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
10151                      &quot;intVal&quot;: 42, # The int value.
10152                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
10153                      &quot;type&quot;: 42, # The type of the value.
10154                    },
10155                  },
10156                },
10157                &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
10158                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
10159                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
10160                      &quot;A String&quot;,
10161                    ],
10162                  },
10163                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
10164                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
10165                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
10166                      { # HTTPHeader describes a custom header to be used in HTTP probes
10167                        &quot;name&quot;: &quot;A String&quot;, # The header field name
10168                        &quot;value&quot;: &quot;A String&quot;, # The header field value
10169                      },
10170                    ],
10171                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
10172                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
10173                      &quot;intVal&quot;: 42, # The int value.
10174                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
10175                      &quot;type&quot;: 42, # The type of the value.
10176                    },
10177                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
10178                  },
10179                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
10180                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
10181                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
10182                      &quot;intVal&quot;: 42, # The int value.
10183                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
10184                      &quot;type&quot;: 42, # The type of the value.
10185                    },
10186                  },
10187                },
10188              },
10189              &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
10190                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
10191                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
10192                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
10193                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
10194                      &quot;A String&quot;,
10195                    ],
10196                  },
10197                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
10198                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
10199                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
10200                      { # HTTPHeader describes a custom header to be used in HTTP probes
10201                        &quot;name&quot;: &quot;A String&quot;, # The header field name
10202                        &quot;value&quot;: &quot;A String&quot;, # The header field value
10203                      },
10204                    ],
10205                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
10206                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
10207                      &quot;intVal&quot;: 42, # The int value.
10208                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
10209                      &quot;type&quot;: 42, # The type of the value.
10210                    },
10211                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
10212                  },
10213                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
10214                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
10215                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
10216                      &quot;intVal&quot;: 42, # The int value.
10217                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
10218                      &quot;type&quot;: 42, # The type of the value.
10219                    },
10220                  },
10221                },
10222                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
10223                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
10224                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
10225                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
10226              },
10227              &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
10228              &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
10229                { # ContainerPort represents a network port in a single container.
10230                  &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
10231                  &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
10232                  &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
10233                  &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
10234                  &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
10235                },
10236              ],
10237              &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
10238                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
10239                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
10240                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
10241                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
10242                      &quot;A String&quot;,
10243                    ],
10244                  },
10245                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
10246                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
10247                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
10248                      { # HTTPHeader describes a custom header to be used in HTTP probes
10249                        &quot;name&quot;: &quot;A String&quot;, # The header field name
10250                        &quot;value&quot;: &quot;A String&quot;, # The header field value
10251                      },
10252                    ],
10253                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
10254                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
10255                      &quot;intVal&quot;: 42, # The int value.
10256                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
10257                      &quot;type&quot;: 42, # The type of the value.
10258                    },
10259                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
10260                  },
10261                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
10262                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
10263                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
10264                      &quot;intVal&quot;: 42, # The int value.
10265                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
10266                      &quot;type&quot;: 42, # The type of the value.
10267                    },
10268                  },
10269                },
10270                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
10271                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
10272                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
10273                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
10274              },
10275              &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
10276                &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
10277                  &quot;a_key&quot;: &quot;A String&quot;,
10278                },
10279                &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
10280                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
10281                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
10282                  },
10283                },
10284                &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
10285                  &quot;a_key&quot;: &quot;A String&quot;,
10286                },
10287                &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
10288                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
10289                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
10290                  },
10291                },
10292              },
10293              &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
10294                &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
10295                &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
10296                  &quot;add&quot;: [ # Added capabilities +optional
10297                    &quot;A String&quot;,
10298                  ],
10299                  &quot;drop&quot;: [ # Removed capabilities +optional
10300                    &quot;A String&quot;,
10301                  ],
10302                },
10303                &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
10304                &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
10305                &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
10306                &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
10307                &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
10308                &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
10309                  &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
10310                  &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
10311                  &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
10312                  &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
10313                },
10314              },
10315              &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
10316              &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
10317              &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
10318              &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
10319              &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
10320              &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
10321                { # volumeDevice describes a mapping of a raw block device within a container.
10322                  &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
10323                  &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
10324                },
10325              ],
10326              &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
10327                { # VolumeMount describes a mounting of a Volume within a container.
10328                  &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
10329                  &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
10330                  &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
10331                  &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
10332                  &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
10333                },
10334              ],
10335              &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
10336            },
10337            &quot;containerConcurrency&quot;: 42, # (Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run on GKE: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
10338            &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided.
10339              { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
10340                &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
10341                  &quot;A String&quot;,
10342                ],
10343                &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
10344                  &quot;A String&quot;,
10345                ],
10346                &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
10347                  { # EnvVar represents an environment variable present in a Container.
10348                    &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
10349                    &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
10350                    &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
10351                      &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
10352                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
10353                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
10354                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
10355                        },
10356                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
10357                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
10358                      },
10359                      &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
10360                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
10361                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
10362                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
10363                        },
10364                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
10365                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
10366                      },
10367                    },
10368                  },
10369                ],
10370                &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
10371                  { # EnvFromSource represents the source of a set of ConfigMaps
10372                    &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
10373                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
10374                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
10375                      },
10376                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
10377                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
10378                    },
10379                    &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
10380                    &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
10381                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
10382                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
10383                      },
10384                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
10385                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
10386                    },
10387                  },
10388                ],
10389                &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
10390                &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
10391                &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
10392                  &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
10393                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
10394                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
10395                        &quot;A String&quot;,
10396                      ],
10397                    },
10398                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
10399                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
10400                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
10401                        { # HTTPHeader describes a custom header to be used in HTTP probes
10402                          &quot;name&quot;: &quot;A String&quot;, # The header field name
10403                          &quot;value&quot;: &quot;A String&quot;, # The header field value
10404                        },
10405                      ],
10406                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
10407                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
10408                        &quot;intVal&quot;: 42, # The int value.
10409                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
10410                        &quot;type&quot;: 42, # The type of the value.
10411                      },
10412                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
10413                    },
10414                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
10415                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
10416                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
10417                        &quot;intVal&quot;: 42, # The int value.
10418                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
10419                        &quot;type&quot;: 42, # The type of the value.
10420                      },
10421                    },
10422                  },
10423                  &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
10424                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
10425                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
10426                        &quot;A String&quot;,
10427                      ],
10428                    },
10429                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
10430                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
10431                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
10432                        { # HTTPHeader describes a custom header to be used in HTTP probes
10433                          &quot;name&quot;: &quot;A String&quot;, # The header field name
10434                          &quot;value&quot;: &quot;A String&quot;, # The header field value
10435                        },
10436                      ],
10437                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
10438                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
10439                        &quot;intVal&quot;: 42, # The int value.
10440                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
10441                        &quot;type&quot;: 42, # The type of the value.
10442                      },
10443                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
10444                    },
10445                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
10446                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
10447                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
10448                        &quot;intVal&quot;: 42, # The int value.
10449                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
10450                        &quot;type&quot;: 42, # The type of the value.
10451                      },
10452                    },
10453                  },
10454                },
10455                &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
10456                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
10457                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
10458                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
10459                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
10460                        &quot;A String&quot;,
10461                      ],
10462                    },
10463                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
10464                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
10465                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
10466                        { # HTTPHeader describes a custom header to be used in HTTP probes
10467                          &quot;name&quot;: &quot;A String&quot;, # The header field name
10468                          &quot;value&quot;: &quot;A String&quot;, # The header field value
10469                        },
10470                      ],
10471                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
10472                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
10473                        &quot;intVal&quot;: 42, # The int value.
10474                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
10475                        &quot;type&quot;: 42, # The type of the value.
10476                      },
10477                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
10478                    },
10479                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
10480                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
10481                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
10482                        &quot;intVal&quot;: 42, # The int value.
10483                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
10484                        &quot;type&quot;: 42, # The type of the value.
10485                      },
10486                    },
10487                  },
10488                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
10489                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
10490                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
10491                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
10492                },
10493                &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
10494                &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
10495                  { # ContainerPort represents a network port in a single container.
10496                    &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
10497                    &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
10498                    &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
10499                    &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
10500                    &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
10501                  },
10502                ],
10503                &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
10504                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
10505                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
10506                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
10507                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
10508                        &quot;A String&quot;,
10509                      ],
10510                    },
10511                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
10512                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
10513                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
10514                        { # HTTPHeader describes a custom header to be used in HTTP probes
10515                          &quot;name&quot;: &quot;A String&quot;, # The header field name
10516                          &quot;value&quot;: &quot;A String&quot;, # The header field value
10517                        },
10518                      ],
10519                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
10520                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
10521                        &quot;intVal&quot;: 42, # The int value.
10522                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
10523                        &quot;type&quot;: 42, # The type of the value.
10524                      },
10525                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
10526                    },
10527                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
10528                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
10529                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
10530                        &quot;intVal&quot;: 42, # The int value.
10531                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
10532                        &quot;type&quot;: 42, # The type of the value.
10533                      },
10534                    },
10535                  },
10536                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
10537                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
10538                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
10539                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
10540                },
10541                &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
10542                  &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
10543                    &quot;a_key&quot;: &quot;A String&quot;,
10544                  },
10545                  &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
10546                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
10547                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
10548                    },
10549                  },
10550                  &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
10551                    &quot;a_key&quot;: &quot;A String&quot;,
10552                  },
10553                  &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
10554                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
10555                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
10556                    },
10557                  },
10558                },
10559                &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
10560                  &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
10561                  &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
10562                    &quot;add&quot;: [ # Added capabilities +optional
10563                      &quot;A String&quot;,
10564                    ],
10565                    &quot;drop&quot;: [ # Removed capabilities +optional
10566                      &quot;A String&quot;,
10567                    ],
10568                  },
10569                  &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
10570                  &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
10571                  &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
10572                  &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
10573                  &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
10574                  &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
10575                    &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
10576                    &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
10577                    &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
10578                    &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
10579                  },
10580                },
10581                &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
10582                &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
10583                &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
10584                &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
10585                &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
10586                &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
10587                  { # volumeDevice describes a mapping of a raw block device within a container.
10588                    &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
10589                    &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
10590                  },
10591                ],
10592                &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
10593                  { # VolumeMount describes a mounting of a Volume within a container.
10594                    &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
10595                    &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
10596                    &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
10597                    &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
10598                    &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
10599                  },
10600                ],
10601                &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
10602              },
10603            ],
10604            &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
10605            &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
10606            &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources are in for this Revision. Users must not specify this when creating a revision. It is expected that the system will manipulate this based on routability and load. Populated by the system. Read-only.
10607            &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Not currently used by Cloud Run.
10608            &quot;volumes&quot;: [
10609              { # Volume represents a named volume in a container.
10610                &quot;configMap&quot;: { # Adapts a ConfigMap into a volume. The contents of the target ConfigMap&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.
10611                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
10612                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
10613                    { # Maps a string key to a path within a volume.
10614                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
10615                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
10616                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
10617                    },
10618                  ],
10619                  &quot;name&quot;: &quot;A String&quot;, # Name of the config.
10620                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
10621                },
10622                &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
10623                &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names.
10624                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
10625                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
10626                    { # Maps a string key to a path within a volume.
10627                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
10628                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
10629                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
10630                    },
10631                  ],
10632                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
10633                  &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
10634                },
10635              },
10636            ],
10637          },
10638        },
10639        &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190 # Template holds the latest specification for the Revision to be stamped out.
10640          &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only). To set maximum instances for this revision, use the &quot;autoscaling.knative.dev/maxScale&quot; annotation key. To set Cloud SQL connections for the revision, use the &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be comma separated.
10641            &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
10642              &quot;a_key&quot;: &quot;A String&quot;,
10643            },
10644            &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
10645            &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
10646            &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
10647            &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
10648            &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
10649              &quot;A String&quot;,
10650            ],
10651            &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
10652            &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
10653            &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
10654              &quot;a_key&quot;: &quot;A String&quot;,
10655            },
10656            &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
10657            &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
10658            &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
10659              { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
10660                &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
10661                &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
10662                &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
10663                &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
10664                &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
10665                &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
10666              },
10667            ],
10668            &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
10669            &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
10670            &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
10671          },
10672          &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).
10673            &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model (Single or Multi) for the Revision. Defaults to Multi. Deprecated in favor of ContainerConcurrency. +optional
10674            &quot;container&quot;: { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime. # Container defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of the fields of this Container, including: name, ports, and volumeMounts. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
10675              &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
10676                &quot;A String&quot;,
10677              ],
10678              &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
10679                &quot;A String&quot;,
10680              ],
10681              &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
10682                { # EnvVar represents an environment variable present in a Container.
10683                  &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
10684                  &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
10685                  &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
10686                    &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
10687                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
10688                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
10689                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
10690                      },
10691                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
10692                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
10693                    },
10694                    &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
10695                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
10696                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
10697                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
10698                      },
10699                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
10700                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
10701                    },
10702                  },
10703                },
10704              ],
10705              &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
10706                { # EnvFromSource represents the source of a set of ConfigMaps
10707                  &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
10708                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
10709                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
10710                    },
10711                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
10712                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
10713                  },
10714                  &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
10715                  &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
10716                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
10717                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
10718                    },
10719                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
10720                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
10721                  },
10722                },
10723              ],
10724              &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
10725              &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
10726              &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
10727                &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
10728                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
10729                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
10730                      &quot;A String&quot;,
10731                    ],
10732                  },
10733                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
10734                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
10735                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
10736                      { # HTTPHeader describes a custom header to be used in HTTP probes
10737                        &quot;name&quot;: &quot;A String&quot;, # The header field name
10738                        &quot;value&quot;: &quot;A String&quot;, # The header field value
10739                      },
10740                    ],
10741                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
10742                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
10743                      &quot;intVal&quot;: 42, # The int value.
10744                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
10745                      &quot;type&quot;: 42, # The type of the value.
10746                    },
10747                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
10748                  },
10749                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
10750                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
10751                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
10752                      &quot;intVal&quot;: 42, # The int value.
10753                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
10754                      &quot;type&quot;: 42, # The type of the value.
10755                    },
10756                  },
10757                },
10758                &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
10759                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
10760                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
10761                      &quot;A String&quot;,
10762                    ],
10763                  },
10764                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
10765                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
10766                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
10767                      { # HTTPHeader describes a custom header to be used in HTTP probes
10768                        &quot;name&quot;: &quot;A String&quot;, # The header field name
10769                        &quot;value&quot;: &quot;A String&quot;, # The header field value
10770                      },
10771                    ],
10772                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
10773                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
10774                      &quot;intVal&quot;: 42, # The int value.
10775                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
10776                      &quot;type&quot;: 42, # The type of the value.
10777                    },
10778                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
10779                  },
10780                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
10781                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
10782                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
10783                      &quot;intVal&quot;: 42, # The int value.
10784                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
10785                      &quot;type&quot;: 42, # The type of the value.
10786                    },
10787                  },
10788                },
10789              },
10790              &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
10791                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
10792                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
10793                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
10794                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
10795                      &quot;A String&quot;,
10796                    ],
10797                  },
10798                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
10799                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
10800                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
10801                      { # HTTPHeader describes a custom header to be used in HTTP probes
10802                        &quot;name&quot;: &quot;A String&quot;, # The header field name
10803                        &quot;value&quot;: &quot;A String&quot;, # The header field value
10804                      },
10805                    ],
10806                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
10807                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
10808                      &quot;intVal&quot;: 42, # The int value.
10809                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
10810                      &quot;type&quot;: 42, # The type of the value.
10811                    },
10812                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
10813                  },
10814                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
10815                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
10816                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
10817                      &quot;intVal&quot;: 42, # The int value.
10818                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
10819                      &quot;type&quot;: 42, # The type of the value.
10820                    },
10821                  },
10822                },
10823                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
10824                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
10825                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
10826                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
10827              },
10828              &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
10829              &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
10830                { # ContainerPort represents a network port in a single container.
10831                  &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
10832                  &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
10833                  &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
10834                  &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
10835                  &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
10836                },
10837              ],
10838              &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
10839                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
10840                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
10841                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
10842                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
10843                      &quot;A String&quot;,
10844                    ],
10845                  },
10846                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
10847                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
10848                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
10849                      { # HTTPHeader describes a custom header to be used in HTTP probes
10850                        &quot;name&quot;: &quot;A String&quot;, # The header field name
10851                        &quot;value&quot;: &quot;A String&quot;, # The header field value
10852                      },
10853                    ],
10854                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
10855                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
10856                      &quot;intVal&quot;: 42, # The int value.
10857                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
10858                      &quot;type&quot;: 42, # The type of the value.
10859                    },
10860                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
10861                  },
10862                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
10863                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
10864                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
10865                      &quot;intVal&quot;: 42, # The int value.
10866                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
10867                      &quot;type&quot;: 42, # The type of the value.
10868                    },
10869                  },
10870                },
10871                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
10872                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
10873                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
10874                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
10875              },
10876              &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
10877                &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
10878                  &quot;a_key&quot;: &quot;A String&quot;,
10879                },
10880                &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
10881                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
10882                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
10883                  },
10884                },
10885                &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
10886                  &quot;a_key&quot;: &quot;A String&quot;,
10887                },
10888                &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
10889                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
10890                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
10891                  },
10892                },
10893              },
10894              &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
10895                &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
10896                &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
10897                  &quot;add&quot;: [ # Added capabilities +optional
10898                    &quot;A String&quot;,
10899                  ],
10900                  &quot;drop&quot;: [ # Removed capabilities +optional
10901                    &quot;A String&quot;,
10902                  ],
10903                },
10904                &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
10905                &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
10906                &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
10907                &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
10908                &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
10909                &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
10910                  &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
10911                  &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
10912                  &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
10913                  &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
10914                },
10915              },
10916              &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
10917              &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
10918              &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
10919              &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
10920              &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
10921              &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
10922                { # volumeDevice describes a mapping of a raw block device within a container.
10923                  &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
10924                  &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
10925                },
10926              ],
10927              &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
10928                { # VolumeMount describes a mounting of a Volume within a container.
10929                  &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
10930                  &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
10931                  &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
10932                  &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
10933                  &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
10934                },
10935              ],
10936              &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
10937            },
10938            &quot;containerConcurrency&quot;: 42, # (Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run on GKE: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
10939            &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided.
10940              { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
10941                &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
10942                  &quot;A String&quot;,
10943                ],
10944                &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
10945                  &quot;A String&quot;,
10946                ],
10947                &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
10948                  { # EnvVar represents an environment variable present in a Container.
10949                    &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
10950                    &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
10951                    &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
10952                      &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
10953                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
10954                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
10955                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
10956                        },
10957                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
10958                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
10959                      },
10960                      &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
10961                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
10962                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
10963                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
10964                        },
10965                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
10966                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
10967                      },
10968                    },
10969                  },
10970                ],
10971                &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
10972                  { # EnvFromSource represents the source of a set of ConfigMaps
10973                    &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
10974                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
10975                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
10976                      },
10977                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
10978                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
10979                    },
10980                    &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
10981                    &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
10982                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
10983                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
10984                      },
10985                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
10986                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
10987                    },
10988                  },
10989                ],
10990                &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
10991                &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
10992                &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
10993                  &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
10994                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
10995                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
10996                        &quot;A String&quot;,
10997                      ],
10998                    },
10999                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
11000                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
11001                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
11002                        { # HTTPHeader describes a custom header to be used in HTTP probes
11003                          &quot;name&quot;: &quot;A String&quot;, # The header field name
11004                          &quot;value&quot;: &quot;A String&quot;, # The header field value
11005                        },
11006                      ],
11007                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
11008                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
11009                        &quot;intVal&quot;: 42, # The int value.
11010                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
11011                        &quot;type&quot;: 42, # The type of the value.
11012                      },
11013                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
11014                    },
11015                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
11016                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
11017                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
11018                        &quot;intVal&quot;: 42, # The int value.
11019                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
11020                        &quot;type&quot;: 42, # The type of the value.
11021                      },
11022                    },
11023                  },
11024                  &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
11025                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
11026                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
11027                        &quot;A String&quot;,
11028                      ],
11029                    },
11030                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
11031                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
11032                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
11033                        { # HTTPHeader describes a custom header to be used in HTTP probes
11034                          &quot;name&quot;: &quot;A String&quot;, # The header field name
11035                          &quot;value&quot;: &quot;A String&quot;, # The header field value
11036                        },
11037                      ],
11038                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
11039                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
11040                        &quot;intVal&quot;: 42, # The int value.
11041                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
11042                        &quot;type&quot;: 42, # The type of the value.
11043                      },
11044                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
11045                    },
11046                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
11047                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
11048                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
11049                        &quot;intVal&quot;: 42, # The int value.
11050                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
11051                        &quot;type&quot;: 42, # The type of the value.
11052                      },
11053                    },
11054                  },
11055                },
11056                &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
11057                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
11058                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
11059                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
11060                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
11061                        &quot;A String&quot;,
11062                      ],
11063                    },
11064                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
11065                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
11066                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
11067                        { # HTTPHeader describes a custom header to be used in HTTP probes
11068                          &quot;name&quot;: &quot;A String&quot;, # The header field name
11069                          &quot;value&quot;: &quot;A String&quot;, # The header field value
11070                        },
11071                      ],
11072                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
11073                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
11074                        &quot;intVal&quot;: 42, # The int value.
11075                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
11076                        &quot;type&quot;: 42, # The type of the value.
11077                      },
11078                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
11079                    },
11080                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
11081                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
11082                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
11083                        &quot;intVal&quot;: 42, # The int value.
11084                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
11085                        &quot;type&quot;: 42, # The type of the value.
11086                      },
11087                    },
11088                  },
11089                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
11090                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
11091                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
11092                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
11093                },
11094                &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
11095                &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
11096                  { # ContainerPort represents a network port in a single container.
11097                    &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
11098                    &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
11099                    &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
11100                    &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
11101                    &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
11102                  },
11103                ],
11104                &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
11105                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
11106                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
11107                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
11108                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
11109                        &quot;A String&quot;,
11110                      ],
11111                    },
11112                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
11113                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
11114                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
11115                        { # HTTPHeader describes a custom header to be used in HTTP probes
11116                          &quot;name&quot;: &quot;A String&quot;, # The header field name
11117                          &quot;value&quot;: &quot;A String&quot;, # The header field value
11118                        },
11119                      ],
11120                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
11121                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
11122                        &quot;intVal&quot;: 42, # The int value.
11123                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
11124                        &quot;type&quot;: 42, # The type of the value.
11125                      },
11126                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
11127                    },
11128                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
11129                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
11130                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
11131                        &quot;intVal&quot;: 42, # The int value.
11132                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
11133                        &quot;type&quot;: 42, # The type of the value.
11134                      },
11135                    },
11136                  },
11137                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
11138                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
11139                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
11140                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
11141                },
11142                &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
11143                  &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
11144                    &quot;a_key&quot;: &quot;A String&quot;,
11145                  },
11146                  &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
11147                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
11148                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
11149                    },
11150                  },
11151                  &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
11152                    &quot;a_key&quot;: &quot;A String&quot;,
11153                  },
11154                  &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
11155                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
11156                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
11157                    },
11158                  },
11159                },
11160                &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
11161                  &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
11162                  &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
11163                    &quot;add&quot;: [ # Added capabilities +optional
11164                      &quot;A String&quot;,
11165                    ],
11166                    &quot;drop&quot;: [ # Removed capabilities +optional
11167                      &quot;A String&quot;,
11168                    ],
11169                  },
11170                  &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
11171                  &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
11172                  &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
11173                  &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
11174                  &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
11175                  &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
11176                    &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
11177                    &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
11178                    &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
11179                    &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
11180                  },
11181                },
11182                &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
11183                &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
11184                &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
11185                &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
11186                &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
11187                &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
11188                  { # volumeDevice describes a mapping of a raw block device within a container.
11189                    &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
11190                    &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
11191                  },
11192                ],
11193                &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
11194                  { # VolumeMount describes a mounting of a Volume within a container.
11195                    &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
11196                    &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
11197                    &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
11198                    &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
11199                    &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
11200                  },
11201                ],
11202                &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
11203              },
11204            ],
11205            &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
11206            &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
11207            &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources are in for this Revision. Users must not specify this when creating a revision. It is expected that the system will manipulate this based on routability and load. Populated by the system. Read-only.
11208            &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Not currently used by Cloud Run.
11209            &quot;volumes&quot;: [
11210              { # Volume represents a named volume in a container.
11211                &quot;configMap&quot;: { # Adapts a ConfigMap into a volume. The contents of the target ConfigMap&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.
11212                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
11213                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
11214                    { # Maps a string key to a path within a volume.
11215                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
11216                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
11217                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
11218                    },
11219                  ],
11220                  &quot;name&quot;: &quot;A String&quot;, # Name of the config.
11221                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
11222                },
11223                &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
11224                &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names.
11225                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
11226                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
11227                    { # Maps a string key to a path within a volume.
11228                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
11229                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
11230                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
11231                    },
11232                  ],
11233                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
11234                  &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
11235                },
11236              },
11237            ],
11238          },
11239        },
11240      },
11241      &quot;revisions&quot;: [ # Revisions is an ordered list of 1 or 2 revisions. The first is the current revision, and the second is the candidate revision. If a single revision is provided, traffic will be pinned at that revision. &quot;@latest&quot; is a shortcut for usage that refers to the latest created revision by the configuration.
11242        &quot;A String&quot;,
11243      ],
11244      &quot;rolloutPercent&quot;: 42, # RolloutPercent is the percent of traffic that should be sent to the candidate revision, i.e. the 2nd revision in the revisions list. Valid values are between 0 and 99 inclusive.
11245    },
11246    &quot;runLatest&quot;: { # ServiceSpecRunLatest contains the options for always having a route to the latest configuration. See ServiceSpec for more details. # RunLatest defines a simple Service. It will automatically configure a route that keeps the latest ready revision from the supplied configuration running. +optional
11247      &quot;configuration&quot;: { # ConfigurationSpec holds the desired state of the Configuration (from the client). # The configuration for this service.
11248        &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
11249        &quot;revisionTemplate&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190 # RevisionTemplate holds the latest specification for the Revision to be stamped out. The template references the container image, and may also include labels and annotations that should be attached to the Revision. To correlate a Revision, and/or to force a Revision to be created when the spec doesn&#x27;t otherwise change, a nonce label may be provided in the template metadata. For more details, see: https://github.com/knative/serving/blob/master/docs/client-conventions.md#associate-modifications-with-revisions Cloud Run does not currently support referencing a build that is responsible for materializing the container image from source.
11250          &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only). To set maximum instances for this revision, use the &quot;autoscaling.knative.dev/maxScale&quot; annotation key. To set Cloud SQL connections for the revision, use the &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be comma separated.
11251            &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
11252              &quot;a_key&quot;: &quot;A String&quot;,
11253            },
11254            &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
11255            &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
11256            &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
11257            &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
11258            &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
11259              &quot;A String&quot;,
11260            ],
11261            &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
11262            &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
11263            &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
11264              &quot;a_key&quot;: &quot;A String&quot;,
11265            },
11266            &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
11267            &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
11268            &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
11269              { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
11270                &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
11271                &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
11272                &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
11273                &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
11274                &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
11275                &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
11276              },
11277            ],
11278            &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
11279            &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
11280            &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
11281          },
11282          &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).
11283            &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model (Single or Multi) for the Revision. Defaults to Multi. Deprecated in favor of ContainerConcurrency. +optional
11284            &quot;container&quot;: { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime. # Container defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of the fields of this Container, including: name, ports, and volumeMounts. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
11285              &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
11286                &quot;A String&quot;,
11287              ],
11288              &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
11289                &quot;A String&quot;,
11290              ],
11291              &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
11292                { # EnvVar represents an environment variable present in a Container.
11293                  &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
11294                  &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
11295                  &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
11296                    &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
11297                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
11298                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
11299                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
11300                      },
11301                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
11302                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
11303                    },
11304                    &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
11305                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
11306                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
11307                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
11308                      },
11309                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
11310                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
11311                    },
11312                  },
11313                },
11314              ],
11315              &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
11316                { # EnvFromSource represents the source of a set of ConfigMaps
11317                  &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
11318                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
11319                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
11320                    },
11321                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
11322                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
11323                  },
11324                  &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
11325                  &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
11326                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
11327                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
11328                    },
11329                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
11330                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
11331                  },
11332                },
11333              ],
11334              &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
11335              &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
11336              &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
11337                &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
11338                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
11339                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
11340                      &quot;A String&quot;,
11341                    ],
11342                  },
11343                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
11344                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
11345                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
11346                      { # HTTPHeader describes a custom header to be used in HTTP probes
11347                        &quot;name&quot;: &quot;A String&quot;, # The header field name
11348                        &quot;value&quot;: &quot;A String&quot;, # The header field value
11349                      },
11350                    ],
11351                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
11352                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
11353                      &quot;intVal&quot;: 42, # The int value.
11354                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
11355                      &quot;type&quot;: 42, # The type of the value.
11356                    },
11357                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
11358                  },
11359                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
11360                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
11361                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
11362                      &quot;intVal&quot;: 42, # The int value.
11363                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
11364                      &quot;type&quot;: 42, # The type of the value.
11365                    },
11366                  },
11367                },
11368                &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
11369                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
11370                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
11371                      &quot;A String&quot;,
11372                    ],
11373                  },
11374                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
11375                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
11376                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
11377                      { # HTTPHeader describes a custom header to be used in HTTP probes
11378                        &quot;name&quot;: &quot;A String&quot;, # The header field name
11379                        &quot;value&quot;: &quot;A String&quot;, # The header field value
11380                      },
11381                    ],
11382                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
11383                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
11384                      &quot;intVal&quot;: 42, # The int value.
11385                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
11386                      &quot;type&quot;: 42, # The type of the value.
11387                    },
11388                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
11389                  },
11390                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
11391                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
11392                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
11393                      &quot;intVal&quot;: 42, # The int value.
11394                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
11395                      &quot;type&quot;: 42, # The type of the value.
11396                    },
11397                  },
11398                },
11399              },
11400              &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
11401                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
11402                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
11403                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
11404                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
11405                      &quot;A String&quot;,
11406                    ],
11407                  },
11408                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
11409                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
11410                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
11411                      { # HTTPHeader describes a custom header to be used in HTTP probes
11412                        &quot;name&quot;: &quot;A String&quot;, # The header field name
11413                        &quot;value&quot;: &quot;A String&quot;, # The header field value
11414                      },
11415                    ],
11416                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
11417                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
11418                      &quot;intVal&quot;: 42, # The int value.
11419                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
11420                      &quot;type&quot;: 42, # The type of the value.
11421                    },
11422                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
11423                  },
11424                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
11425                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
11426                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
11427                      &quot;intVal&quot;: 42, # The int value.
11428                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
11429                      &quot;type&quot;: 42, # The type of the value.
11430                    },
11431                  },
11432                },
11433                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
11434                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
11435                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
11436                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
11437              },
11438              &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
11439              &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
11440                { # ContainerPort represents a network port in a single container.
11441                  &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
11442                  &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
11443                  &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
11444                  &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
11445                  &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
11446                },
11447              ],
11448              &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
11449                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
11450                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
11451                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
11452                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
11453                      &quot;A String&quot;,
11454                    ],
11455                  },
11456                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
11457                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
11458                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
11459                      { # HTTPHeader describes a custom header to be used in HTTP probes
11460                        &quot;name&quot;: &quot;A String&quot;, # The header field name
11461                        &quot;value&quot;: &quot;A String&quot;, # The header field value
11462                      },
11463                    ],
11464                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
11465                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
11466                      &quot;intVal&quot;: 42, # The int value.
11467                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
11468                      &quot;type&quot;: 42, # The type of the value.
11469                    },
11470                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
11471                  },
11472                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
11473                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
11474                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
11475                      &quot;intVal&quot;: 42, # The int value.
11476                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
11477                      &quot;type&quot;: 42, # The type of the value.
11478                    },
11479                  },
11480                },
11481                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
11482                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
11483                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
11484                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
11485              },
11486              &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
11487                &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
11488                  &quot;a_key&quot;: &quot;A String&quot;,
11489                },
11490                &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
11491                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
11492                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
11493                  },
11494                },
11495                &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
11496                  &quot;a_key&quot;: &quot;A String&quot;,
11497                },
11498                &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
11499                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
11500                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
11501                  },
11502                },
11503              },
11504              &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
11505                &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
11506                &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
11507                  &quot;add&quot;: [ # Added capabilities +optional
11508                    &quot;A String&quot;,
11509                  ],
11510                  &quot;drop&quot;: [ # Removed capabilities +optional
11511                    &quot;A String&quot;,
11512                  ],
11513                },
11514                &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
11515                &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
11516                &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
11517                &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
11518                &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
11519                &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
11520                  &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
11521                  &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
11522                  &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
11523                  &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
11524                },
11525              },
11526              &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
11527              &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
11528              &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
11529              &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
11530              &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
11531              &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
11532                { # volumeDevice describes a mapping of a raw block device within a container.
11533                  &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
11534                  &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
11535                },
11536              ],
11537              &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
11538                { # VolumeMount describes a mounting of a Volume within a container.
11539                  &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
11540                  &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
11541                  &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
11542                  &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
11543                  &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
11544                },
11545              ],
11546              &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
11547            },
11548            &quot;containerConcurrency&quot;: 42, # (Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run on GKE: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
11549            &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided.
11550              { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
11551                &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
11552                  &quot;A String&quot;,
11553                ],
11554                &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
11555                  &quot;A String&quot;,
11556                ],
11557                &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
11558                  { # EnvVar represents an environment variable present in a Container.
11559                    &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
11560                    &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
11561                    &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
11562                      &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
11563                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
11564                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
11565                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
11566                        },
11567                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
11568                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
11569                      },
11570                      &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
11571                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
11572                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
11573                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
11574                        },
11575                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
11576                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
11577                      },
11578                    },
11579                  },
11580                ],
11581                &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
11582                  { # EnvFromSource represents the source of a set of ConfigMaps
11583                    &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
11584                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
11585                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
11586                      },
11587                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
11588                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
11589                    },
11590                    &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
11591                    &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
11592                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
11593                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
11594                      },
11595                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
11596                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
11597                    },
11598                  },
11599                ],
11600                &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
11601                &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
11602                &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
11603                  &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
11604                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
11605                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
11606                        &quot;A String&quot;,
11607                      ],
11608                    },
11609                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
11610                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
11611                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
11612                        { # HTTPHeader describes a custom header to be used in HTTP probes
11613                          &quot;name&quot;: &quot;A String&quot;, # The header field name
11614                          &quot;value&quot;: &quot;A String&quot;, # The header field value
11615                        },
11616                      ],
11617                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
11618                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
11619                        &quot;intVal&quot;: 42, # The int value.
11620                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
11621                        &quot;type&quot;: 42, # The type of the value.
11622                      },
11623                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
11624                    },
11625                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
11626                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
11627                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
11628                        &quot;intVal&quot;: 42, # The int value.
11629                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
11630                        &quot;type&quot;: 42, # The type of the value.
11631                      },
11632                    },
11633                  },
11634                  &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
11635                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
11636                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
11637                        &quot;A String&quot;,
11638                      ],
11639                    },
11640                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
11641                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
11642                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
11643                        { # HTTPHeader describes a custom header to be used in HTTP probes
11644                          &quot;name&quot;: &quot;A String&quot;, # The header field name
11645                          &quot;value&quot;: &quot;A String&quot;, # The header field value
11646                        },
11647                      ],
11648                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
11649                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
11650                        &quot;intVal&quot;: 42, # The int value.
11651                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
11652                        &quot;type&quot;: 42, # The type of the value.
11653                      },
11654                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
11655                    },
11656                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
11657                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
11658                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
11659                        &quot;intVal&quot;: 42, # The int value.
11660                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
11661                        &quot;type&quot;: 42, # The type of the value.
11662                      },
11663                    },
11664                  },
11665                },
11666                &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
11667                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
11668                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
11669                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
11670                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
11671                        &quot;A String&quot;,
11672                      ],
11673                    },
11674                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
11675                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
11676                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
11677                        { # HTTPHeader describes a custom header to be used in HTTP probes
11678                          &quot;name&quot;: &quot;A String&quot;, # The header field name
11679                          &quot;value&quot;: &quot;A String&quot;, # The header field value
11680                        },
11681                      ],
11682                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
11683                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
11684                        &quot;intVal&quot;: 42, # The int value.
11685                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
11686                        &quot;type&quot;: 42, # The type of the value.
11687                      },
11688                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
11689                    },
11690                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
11691                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
11692                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
11693                        &quot;intVal&quot;: 42, # The int value.
11694                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
11695                        &quot;type&quot;: 42, # The type of the value.
11696                      },
11697                    },
11698                  },
11699                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
11700                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
11701                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
11702                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
11703                },
11704                &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
11705                &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
11706                  { # ContainerPort represents a network port in a single container.
11707                    &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
11708                    &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
11709                    &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
11710                    &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
11711                    &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
11712                  },
11713                ],
11714                &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
11715                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
11716                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
11717                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
11718                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
11719                        &quot;A String&quot;,
11720                      ],
11721                    },
11722                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
11723                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
11724                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
11725                        { # HTTPHeader describes a custom header to be used in HTTP probes
11726                          &quot;name&quot;: &quot;A String&quot;, # The header field name
11727                          &quot;value&quot;: &quot;A String&quot;, # The header field value
11728                        },
11729                      ],
11730                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
11731                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
11732                        &quot;intVal&quot;: 42, # The int value.
11733                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
11734                        &quot;type&quot;: 42, # The type of the value.
11735                      },
11736                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
11737                    },
11738                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
11739                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
11740                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
11741                        &quot;intVal&quot;: 42, # The int value.
11742                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
11743                        &quot;type&quot;: 42, # The type of the value.
11744                      },
11745                    },
11746                  },
11747                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
11748                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
11749                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
11750                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
11751                },
11752                &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
11753                  &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
11754                    &quot;a_key&quot;: &quot;A String&quot;,
11755                  },
11756                  &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
11757                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
11758                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
11759                    },
11760                  },
11761                  &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
11762                    &quot;a_key&quot;: &quot;A String&quot;,
11763                  },
11764                  &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
11765                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
11766                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
11767                    },
11768                  },
11769                },
11770                &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
11771                  &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
11772                  &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
11773                    &quot;add&quot;: [ # Added capabilities +optional
11774                      &quot;A String&quot;,
11775                    ],
11776                    &quot;drop&quot;: [ # Removed capabilities +optional
11777                      &quot;A String&quot;,
11778                    ],
11779                  },
11780                  &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
11781                  &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
11782                  &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
11783                  &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
11784                  &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
11785                  &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
11786                    &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
11787                    &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
11788                    &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
11789                    &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
11790                  },
11791                },
11792                &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
11793                &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
11794                &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
11795                &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
11796                &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
11797                &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
11798                  { # volumeDevice describes a mapping of a raw block device within a container.
11799                    &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
11800                    &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
11801                  },
11802                ],
11803                &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
11804                  { # VolumeMount describes a mounting of a Volume within a container.
11805                    &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
11806                    &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
11807                    &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
11808                    &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
11809                    &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
11810                  },
11811                ],
11812                &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
11813              },
11814            ],
11815            &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
11816            &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
11817            &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources are in for this Revision. Users must not specify this when creating a revision. It is expected that the system will manipulate this based on routability and load. Populated by the system. Read-only.
11818            &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Not currently used by Cloud Run.
11819            &quot;volumes&quot;: [
11820              { # Volume represents a named volume in a container.
11821                &quot;configMap&quot;: { # Adapts a ConfigMap into a volume. The contents of the target ConfigMap&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.
11822                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
11823                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
11824                    { # Maps a string key to a path within a volume.
11825                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
11826                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
11827                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
11828                    },
11829                  ],
11830                  &quot;name&quot;: &quot;A String&quot;, # Name of the config.
11831                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
11832                },
11833                &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
11834                &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names.
11835                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
11836                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
11837                    { # Maps a string key to a path within a volume.
11838                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
11839                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
11840                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
11841                    },
11842                  ],
11843                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
11844                  &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
11845                },
11846              },
11847            ],
11848          },
11849        },
11850        &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190 # Template holds the latest specification for the Revision to be stamped out.
11851          &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only). To set maximum instances for this revision, use the &quot;autoscaling.knative.dev/maxScale&quot; annotation key. To set Cloud SQL connections for the revision, use the &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be comma separated.
11852            &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
11853              &quot;a_key&quot;: &quot;A String&quot;,
11854            },
11855            &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
11856            &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
11857            &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
11858            &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
11859            &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
11860              &quot;A String&quot;,
11861            ],
11862            &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
11863            &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
11864            &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
11865              &quot;a_key&quot;: &quot;A String&quot;,
11866            },
11867            &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
11868            &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
11869            &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
11870              { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
11871                &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
11872                &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
11873                &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
11874                &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
11875                &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
11876                &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
11877              },
11878            ],
11879            &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
11880            &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
11881            &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
11882          },
11883          &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).
11884            &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model (Single or Multi) for the Revision. Defaults to Multi. Deprecated in favor of ContainerConcurrency. +optional
11885            &quot;container&quot;: { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime. # Container defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of the fields of this Container, including: name, ports, and volumeMounts. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
11886              &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
11887                &quot;A String&quot;,
11888              ],
11889              &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
11890                &quot;A String&quot;,
11891              ],
11892              &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
11893                { # EnvVar represents an environment variable present in a Container.
11894                  &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
11895                  &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
11896                  &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
11897                    &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
11898                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
11899                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
11900                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
11901                      },
11902                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
11903                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
11904                    },
11905                    &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
11906                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
11907                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
11908                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
11909                      },
11910                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
11911                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
11912                    },
11913                  },
11914                },
11915              ],
11916              &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
11917                { # EnvFromSource represents the source of a set of ConfigMaps
11918                  &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
11919                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
11920                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
11921                    },
11922                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
11923                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
11924                  },
11925                  &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
11926                  &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
11927                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
11928                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
11929                    },
11930                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
11931                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
11932                  },
11933                },
11934              ],
11935              &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
11936              &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
11937              &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
11938                &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
11939                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
11940                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
11941                      &quot;A String&quot;,
11942                    ],
11943                  },
11944                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
11945                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
11946                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
11947                      { # HTTPHeader describes a custom header to be used in HTTP probes
11948                        &quot;name&quot;: &quot;A String&quot;, # The header field name
11949                        &quot;value&quot;: &quot;A String&quot;, # The header field value
11950                      },
11951                    ],
11952                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
11953                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
11954                      &quot;intVal&quot;: 42, # The int value.
11955                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
11956                      &quot;type&quot;: 42, # The type of the value.
11957                    },
11958                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
11959                  },
11960                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
11961                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
11962                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
11963                      &quot;intVal&quot;: 42, # The int value.
11964                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
11965                      &quot;type&quot;: 42, # The type of the value.
11966                    },
11967                  },
11968                },
11969                &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
11970                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
11971                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
11972                      &quot;A String&quot;,
11973                    ],
11974                  },
11975                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
11976                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
11977                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
11978                      { # HTTPHeader describes a custom header to be used in HTTP probes
11979                        &quot;name&quot;: &quot;A String&quot;, # The header field name
11980                        &quot;value&quot;: &quot;A String&quot;, # The header field value
11981                      },
11982                    ],
11983                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
11984                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
11985                      &quot;intVal&quot;: 42, # The int value.
11986                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
11987                      &quot;type&quot;: 42, # The type of the value.
11988                    },
11989                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
11990                  },
11991                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
11992                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
11993                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
11994                      &quot;intVal&quot;: 42, # The int value.
11995                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
11996                      &quot;type&quot;: 42, # The type of the value.
11997                    },
11998                  },
11999                },
12000              },
12001              &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
12002                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
12003                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
12004                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
12005                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
12006                      &quot;A String&quot;,
12007                    ],
12008                  },
12009                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
12010                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
12011                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
12012                      { # HTTPHeader describes a custom header to be used in HTTP probes
12013                        &quot;name&quot;: &quot;A String&quot;, # The header field name
12014                        &quot;value&quot;: &quot;A String&quot;, # The header field value
12015                      },
12016                    ],
12017                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
12018                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
12019                      &quot;intVal&quot;: 42, # The int value.
12020                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
12021                      &quot;type&quot;: 42, # The type of the value.
12022                    },
12023                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
12024                  },
12025                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
12026                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
12027                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
12028                      &quot;intVal&quot;: 42, # The int value.
12029                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
12030                      &quot;type&quot;: 42, # The type of the value.
12031                    },
12032                  },
12033                },
12034                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
12035                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
12036                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
12037                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
12038              },
12039              &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
12040              &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
12041                { # ContainerPort represents a network port in a single container.
12042                  &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
12043                  &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
12044                  &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
12045                  &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
12046                  &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
12047                },
12048              ],
12049              &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
12050                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
12051                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
12052                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
12053                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
12054                      &quot;A String&quot;,
12055                    ],
12056                  },
12057                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
12058                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
12059                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
12060                      { # HTTPHeader describes a custom header to be used in HTTP probes
12061                        &quot;name&quot;: &quot;A String&quot;, # The header field name
12062                        &quot;value&quot;: &quot;A String&quot;, # The header field value
12063                      },
12064                    ],
12065                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
12066                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
12067                      &quot;intVal&quot;: 42, # The int value.
12068                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
12069                      &quot;type&quot;: 42, # The type of the value.
12070                    },
12071                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
12072                  },
12073                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
12074                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
12075                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
12076                      &quot;intVal&quot;: 42, # The int value.
12077                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
12078                      &quot;type&quot;: 42, # The type of the value.
12079                    },
12080                  },
12081                },
12082                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
12083                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
12084                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
12085                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
12086              },
12087              &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
12088                &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
12089                  &quot;a_key&quot;: &quot;A String&quot;,
12090                },
12091                &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
12092                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
12093                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
12094                  },
12095                },
12096                &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
12097                  &quot;a_key&quot;: &quot;A String&quot;,
12098                },
12099                &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
12100                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
12101                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
12102                  },
12103                },
12104              },
12105              &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
12106                &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
12107                &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
12108                  &quot;add&quot;: [ # Added capabilities +optional
12109                    &quot;A String&quot;,
12110                  ],
12111                  &quot;drop&quot;: [ # Removed capabilities +optional
12112                    &quot;A String&quot;,
12113                  ],
12114                },
12115                &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
12116                &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
12117                &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
12118                &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
12119                &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
12120                &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
12121                  &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
12122                  &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
12123                  &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
12124                  &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
12125                },
12126              },
12127              &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
12128              &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
12129              &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
12130              &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
12131              &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
12132              &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
12133                { # volumeDevice describes a mapping of a raw block device within a container.
12134                  &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
12135                  &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
12136                },
12137              ],
12138              &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
12139                { # VolumeMount describes a mounting of a Volume within a container.
12140                  &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
12141                  &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
12142                  &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
12143                  &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
12144                  &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
12145                },
12146              ],
12147              &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
12148            },
12149            &quot;containerConcurrency&quot;: 42, # (Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run on GKE: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
12150            &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided.
12151              { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
12152                &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
12153                  &quot;A String&quot;,
12154                ],
12155                &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
12156                  &quot;A String&quot;,
12157                ],
12158                &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
12159                  { # EnvVar represents an environment variable present in a Container.
12160                    &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
12161                    &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
12162                    &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
12163                      &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
12164                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
12165                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
12166                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
12167                        },
12168                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
12169                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
12170                      },
12171                      &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
12172                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
12173                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
12174                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
12175                        },
12176                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
12177                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
12178                      },
12179                    },
12180                  },
12181                ],
12182                &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
12183                  { # EnvFromSource represents the source of a set of ConfigMaps
12184                    &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
12185                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
12186                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
12187                      },
12188                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
12189                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
12190                    },
12191                    &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
12192                    &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
12193                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
12194                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
12195                      },
12196                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
12197                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
12198                    },
12199                  },
12200                ],
12201                &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
12202                &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
12203                &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
12204                  &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
12205                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
12206                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
12207                        &quot;A String&quot;,
12208                      ],
12209                    },
12210                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
12211                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
12212                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
12213                        { # HTTPHeader describes a custom header to be used in HTTP probes
12214                          &quot;name&quot;: &quot;A String&quot;, # The header field name
12215                          &quot;value&quot;: &quot;A String&quot;, # The header field value
12216                        },
12217                      ],
12218                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
12219                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
12220                        &quot;intVal&quot;: 42, # The int value.
12221                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
12222                        &quot;type&quot;: 42, # The type of the value.
12223                      },
12224                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
12225                    },
12226                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
12227                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
12228                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
12229                        &quot;intVal&quot;: 42, # The int value.
12230                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
12231                        &quot;type&quot;: 42, # The type of the value.
12232                      },
12233                    },
12234                  },
12235                  &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
12236                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
12237                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
12238                        &quot;A String&quot;,
12239                      ],
12240                    },
12241                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
12242                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
12243                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
12244                        { # HTTPHeader describes a custom header to be used in HTTP probes
12245                          &quot;name&quot;: &quot;A String&quot;, # The header field name
12246                          &quot;value&quot;: &quot;A String&quot;, # The header field value
12247                        },
12248                      ],
12249                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
12250                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
12251                        &quot;intVal&quot;: 42, # The int value.
12252                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
12253                        &quot;type&quot;: 42, # The type of the value.
12254                      },
12255                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
12256                    },
12257                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
12258                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
12259                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
12260                        &quot;intVal&quot;: 42, # The int value.
12261                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
12262                        &quot;type&quot;: 42, # The type of the value.
12263                      },
12264                    },
12265                  },
12266                },
12267                &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
12268                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
12269                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
12270                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
12271                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
12272                        &quot;A String&quot;,
12273                      ],
12274                    },
12275                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
12276                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
12277                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
12278                        { # HTTPHeader describes a custom header to be used in HTTP probes
12279                          &quot;name&quot;: &quot;A String&quot;, # The header field name
12280                          &quot;value&quot;: &quot;A String&quot;, # The header field value
12281                        },
12282                      ],
12283                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
12284                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
12285                        &quot;intVal&quot;: 42, # The int value.
12286                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
12287                        &quot;type&quot;: 42, # The type of the value.
12288                      },
12289                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
12290                    },
12291                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
12292                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
12293                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
12294                        &quot;intVal&quot;: 42, # The int value.
12295                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
12296                        &quot;type&quot;: 42, # The type of the value.
12297                      },
12298                    },
12299                  },
12300                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
12301                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
12302                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
12303                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
12304                },
12305                &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
12306                &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
12307                  { # ContainerPort represents a network port in a single container.
12308                    &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
12309                    &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
12310                    &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
12311                    &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
12312                    &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
12313                  },
12314                ],
12315                &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
12316                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
12317                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
12318                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
12319                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
12320                        &quot;A String&quot;,
12321                      ],
12322                    },
12323                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
12324                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
12325                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
12326                        { # HTTPHeader describes a custom header to be used in HTTP probes
12327                          &quot;name&quot;: &quot;A String&quot;, # The header field name
12328                          &quot;value&quot;: &quot;A String&quot;, # The header field value
12329                        },
12330                      ],
12331                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
12332                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
12333                        &quot;intVal&quot;: 42, # The int value.
12334                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
12335                        &quot;type&quot;: 42, # The type of the value.
12336                      },
12337                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
12338                    },
12339                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
12340                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
12341                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
12342                        &quot;intVal&quot;: 42, # The int value.
12343                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
12344                        &quot;type&quot;: 42, # The type of the value.
12345                      },
12346                    },
12347                  },
12348                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
12349                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
12350                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
12351                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
12352                },
12353                &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
12354                  &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
12355                    &quot;a_key&quot;: &quot;A String&quot;,
12356                  },
12357                  &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
12358                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
12359                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
12360                    },
12361                  },
12362                  &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
12363                    &quot;a_key&quot;: &quot;A String&quot;,
12364                  },
12365                  &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
12366                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
12367                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
12368                    },
12369                  },
12370                },
12371                &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
12372                  &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
12373                  &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
12374                    &quot;add&quot;: [ # Added capabilities +optional
12375                      &quot;A String&quot;,
12376                    ],
12377                    &quot;drop&quot;: [ # Removed capabilities +optional
12378                      &quot;A String&quot;,
12379                    ],
12380                  },
12381                  &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
12382                  &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
12383                  &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
12384                  &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
12385                  &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
12386                  &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
12387                    &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
12388                    &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
12389                    &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
12390                    &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
12391                  },
12392                },
12393                &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
12394                &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
12395                &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
12396                &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
12397                &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
12398                &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
12399                  { # volumeDevice describes a mapping of a raw block device within a container.
12400                    &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
12401                    &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
12402                  },
12403                ],
12404                &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
12405                  { # VolumeMount describes a mounting of a Volume within a container.
12406                    &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
12407                    &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
12408                    &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
12409                    &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
12410                    &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
12411                  },
12412                ],
12413                &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
12414              },
12415            ],
12416            &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
12417            &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
12418            &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources are in for this Revision. Users must not specify this when creating a revision. It is expected that the system will manipulate this based on routability and load. Populated by the system. Read-only.
12419            &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Not currently used by Cloud Run.
12420            &quot;volumes&quot;: [
12421              { # Volume represents a named volume in a container.
12422                &quot;configMap&quot;: { # Adapts a ConfigMap into a volume. The contents of the target ConfigMap&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.
12423                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
12424                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
12425                    { # Maps a string key to a path within a volume.
12426                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
12427                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
12428                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
12429                    },
12430                  ],
12431                  &quot;name&quot;: &quot;A String&quot;, # Name of the config.
12432                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
12433                },
12434                &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
12435                &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names.
12436                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
12437                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
12438                    { # Maps a string key to a path within a volume.
12439                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
12440                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
12441                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
12442                    },
12443                  ],
12444                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
12445                  &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
12446                },
12447              },
12448            ],
12449          },
12450        },
12451      },
12452    },
12453    &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190 # Template holds the latest specification for the Revision to be stamped out.
12454      &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only). To set maximum instances for this revision, use the &quot;autoscaling.knative.dev/maxScale&quot; annotation key. To set Cloud SQL connections for the revision, use the &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be comma separated.
12455        &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
12456          &quot;a_key&quot;: &quot;A String&quot;,
12457        },
12458        &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
12459        &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
12460        &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
12461        &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
12462        &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
12463          &quot;A String&quot;,
12464        ],
12465        &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
12466        &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
12467        &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
12468          &quot;a_key&quot;: &quot;A String&quot;,
12469        },
12470        &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
12471        &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
12472        &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
12473          { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
12474            &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
12475            &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
12476            &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
12477            &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
12478            &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
12479            &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
12480          },
12481        ],
12482        &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
12483        &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
12484        &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
12485      },
12486      &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).
12487        &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model (Single or Multi) for the Revision. Defaults to Multi. Deprecated in favor of ContainerConcurrency. +optional
12488        &quot;container&quot;: { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime. # Container defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of the fields of this Container, including: name, ports, and volumeMounts. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
12489          &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
12490            &quot;A String&quot;,
12491          ],
12492          &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
12493            &quot;A String&quot;,
12494          ],
12495          &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
12496            { # EnvVar represents an environment variable present in a Container.
12497              &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
12498              &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
12499              &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
12500                &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
12501                  &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
12502                  &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
12503                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
12504                  },
12505                  &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
12506                  &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
12507                },
12508                &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
12509                  &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
12510                  &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
12511                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
12512                  },
12513                  &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
12514                  &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
12515                },
12516              },
12517            },
12518          ],
12519          &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
12520            { # EnvFromSource represents the source of a set of ConfigMaps
12521              &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
12522                &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
12523                  &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
12524                },
12525                &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
12526                &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
12527              },
12528              &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
12529              &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
12530                &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
12531                  &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
12532                },
12533                &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
12534                &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
12535              },
12536            },
12537          ],
12538          &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
12539          &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
12540          &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
12541            &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
12542              &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
12543                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
12544                  &quot;A String&quot;,
12545                ],
12546              },
12547              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
12548                &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
12549                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
12550                  { # HTTPHeader describes a custom header to be used in HTTP probes
12551                    &quot;name&quot;: &quot;A String&quot;, # The header field name
12552                    &quot;value&quot;: &quot;A String&quot;, # The header field value
12553                  },
12554                ],
12555                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
12556                &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
12557                  &quot;intVal&quot;: 42, # The int value.
12558                  &quot;strVal&quot;: &quot;A String&quot;, # The string value.
12559                  &quot;type&quot;: 42, # The type of the value.
12560                },
12561                &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
12562              },
12563              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
12564                &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
12565                &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
12566                  &quot;intVal&quot;: 42, # The int value.
12567                  &quot;strVal&quot;: &quot;A String&quot;, # The string value.
12568                  &quot;type&quot;: 42, # The type of the value.
12569                },
12570              },
12571            },
12572            &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
12573              &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
12574                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
12575                  &quot;A String&quot;,
12576                ],
12577              },
12578              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
12579                &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
12580                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
12581                  { # HTTPHeader describes a custom header to be used in HTTP probes
12582                    &quot;name&quot;: &quot;A String&quot;, # The header field name
12583                    &quot;value&quot;: &quot;A String&quot;, # The header field value
12584                  },
12585                ],
12586                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
12587                &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
12588                  &quot;intVal&quot;: 42, # The int value.
12589                  &quot;strVal&quot;: &quot;A String&quot;, # The string value.
12590                  &quot;type&quot;: 42, # The type of the value.
12591                },
12592                &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
12593              },
12594              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
12595                &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
12596                &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
12597                  &quot;intVal&quot;: 42, # The int value.
12598                  &quot;strVal&quot;: &quot;A String&quot;, # The string value.
12599                  &quot;type&quot;: 42, # The type of the value.
12600                },
12601              },
12602            },
12603          },
12604          &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
12605            &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
12606            &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
12607              &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
12608                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
12609                  &quot;A String&quot;,
12610                ],
12611              },
12612              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
12613                &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
12614                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
12615                  { # HTTPHeader describes a custom header to be used in HTTP probes
12616                    &quot;name&quot;: &quot;A String&quot;, # The header field name
12617                    &quot;value&quot;: &quot;A String&quot;, # The header field value
12618                  },
12619                ],
12620                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
12621                &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
12622                  &quot;intVal&quot;: 42, # The int value.
12623                  &quot;strVal&quot;: &quot;A String&quot;, # The string value.
12624                  &quot;type&quot;: 42, # The type of the value.
12625                },
12626                &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
12627              },
12628              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
12629                &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
12630                &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
12631                  &quot;intVal&quot;: 42, # The int value.
12632                  &quot;strVal&quot;: &quot;A String&quot;, # The string value.
12633                  &quot;type&quot;: 42, # The type of the value.
12634                },
12635              },
12636            },
12637            &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
12638            &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
12639            &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
12640            &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
12641          },
12642          &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
12643          &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
12644            { # ContainerPort represents a network port in a single container.
12645              &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
12646              &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
12647              &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
12648              &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
12649              &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
12650            },
12651          ],
12652          &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
12653            &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
12654            &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
12655              &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
12656                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
12657                  &quot;A String&quot;,
12658                ],
12659              },
12660              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
12661                &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
12662                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
12663                  { # HTTPHeader describes a custom header to be used in HTTP probes
12664                    &quot;name&quot;: &quot;A String&quot;, # The header field name
12665                    &quot;value&quot;: &quot;A String&quot;, # The header field value
12666                  },
12667                ],
12668                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
12669                &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
12670                  &quot;intVal&quot;: 42, # The int value.
12671                  &quot;strVal&quot;: &quot;A String&quot;, # The string value.
12672                  &quot;type&quot;: 42, # The type of the value.
12673                },
12674                &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
12675              },
12676              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
12677                &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
12678                &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
12679                  &quot;intVal&quot;: 42, # The int value.
12680                  &quot;strVal&quot;: &quot;A String&quot;, # The string value.
12681                  &quot;type&quot;: 42, # The type of the value.
12682                },
12683              },
12684            },
12685            &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
12686            &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
12687            &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
12688            &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
12689          },
12690          &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
12691            &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
12692              &quot;a_key&quot;: &quot;A String&quot;,
12693            },
12694            &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
12695              &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
12696                &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
12697              },
12698            },
12699            &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
12700              &quot;a_key&quot;: &quot;A String&quot;,
12701            },
12702            &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
12703              &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
12704                &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
12705              },
12706            },
12707          },
12708          &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
12709            &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
12710            &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
12711              &quot;add&quot;: [ # Added capabilities +optional
12712                &quot;A String&quot;,
12713              ],
12714              &quot;drop&quot;: [ # Removed capabilities +optional
12715                &quot;A String&quot;,
12716              ],
12717            },
12718            &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
12719            &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
12720            &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
12721            &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
12722            &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
12723            &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
12724              &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
12725              &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
12726              &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
12727              &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
12728            },
12729          },
12730          &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
12731          &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
12732          &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
12733          &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
12734          &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
12735          &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
12736            { # volumeDevice describes a mapping of a raw block device within a container.
12737              &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
12738              &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
12739            },
12740          ],
12741          &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
12742            { # VolumeMount describes a mounting of a Volume within a container.
12743              &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
12744              &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
12745              &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
12746              &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
12747              &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
12748            },
12749          ],
12750          &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
12751        },
12752        &quot;containerConcurrency&quot;: 42, # (Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run on GKE: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
12753        &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided.
12754          { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
12755            &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
12756              &quot;A String&quot;,
12757            ],
12758            &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
12759              &quot;A String&quot;,
12760            ],
12761            &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
12762              { # EnvVar represents an environment variable present in a Container.
12763                &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
12764                &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
12765                &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
12766                  &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
12767                    &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
12768                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
12769                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
12770                    },
12771                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
12772                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
12773                  },
12774                  &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
12775                    &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
12776                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
12777                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
12778                    },
12779                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
12780                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
12781                  },
12782                },
12783              },
12784            ],
12785            &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
12786              { # EnvFromSource represents the source of a set of ConfigMaps
12787                &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
12788                  &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
12789                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
12790                  },
12791                  &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
12792                  &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
12793                },
12794                &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
12795                &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
12796                  &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
12797                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
12798                  },
12799                  &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
12800                  &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
12801                },
12802              },
12803            ],
12804            &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
12805            &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
12806            &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
12807              &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
12808                &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
12809                  &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
12810                    &quot;A String&quot;,
12811                  ],
12812                },
12813                &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
12814                  &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
12815                  &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
12816                    { # HTTPHeader describes a custom header to be used in HTTP probes
12817                      &quot;name&quot;: &quot;A String&quot;, # The header field name
12818                      &quot;value&quot;: &quot;A String&quot;, # The header field value
12819                    },
12820                  ],
12821                  &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
12822                  &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
12823                    &quot;intVal&quot;: 42, # The int value.
12824                    &quot;strVal&quot;: &quot;A String&quot;, # The string value.
12825                    &quot;type&quot;: 42, # The type of the value.
12826                  },
12827                  &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
12828                },
12829                &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
12830                  &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
12831                  &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
12832                    &quot;intVal&quot;: 42, # The int value.
12833                    &quot;strVal&quot;: &quot;A String&quot;, # The string value.
12834                    &quot;type&quot;: 42, # The type of the value.
12835                  },
12836                },
12837              },
12838              &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
12839                &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
12840                  &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
12841                    &quot;A String&quot;,
12842                  ],
12843                },
12844                &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
12845                  &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
12846                  &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
12847                    { # HTTPHeader describes a custom header to be used in HTTP probes
12848                      &quot;name&quot;: &quot;A String&quot;, # The header field name
12849                      &quot;value&quot;: &quot;A String&quot;, # The header field value
12850                    },
12851                  ],
12852                  &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
12853                  &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
12854                    &quot;intVal&quot;: 42, # The int value.
12855                    &quot;strVal&quot;: &quot;A String&quot;, # The string value.
12856                    &quot;type&quot;: 42, # The type of the value.
12857                  },
12858                  &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
12859                },
12860                &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
12861                  &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
12862                  &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
12863                    &quot;intVal&quot;: 42, # The int value.
12864                    &quot;strVal&quot;: &quot;A String&quot;, # The string value.
12865                    &quot;type&quot;: 42, # The type of the value.
12866                  },
12867                },
12868              },
12869            },
12870            &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
12871              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
12872              &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
12873                &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
12874                  &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
12875                    &quot;A String&quot;,
12876                  ],
12877                },
12878                &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
12879                  &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
12880                  &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
12881                    { # HTTPHeader describes a custom header to be used in HTTP probes
12882                      &quot;name&quot;: &quot;A String&quot;, # The header field name
12883                      &quot;value&quot;: &quot;A String&quot;, # The header field value
12884                    },
12885                  ],
12886                  &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
12887                  &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
12888                    &quot;intVal&quot;: 42, # The int value.
12889                    &quot;strVal&quot;: &quot;A String&quot;, # The string value.
12890                    &quot;type&quot;: 42, # The type of the value.
12891                  },
12892                  &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
12893                },
12894                &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
12895                  &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
12896                  &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
12897                    &quot;intVal&quot;: 42, # The int value.
12898                    &quot;strVal&quot;: &quot;A String&quot;, # The string value.
12899                    &quot;type&quot;: 42, # The type of the value.
12900                  },
12901                },
12902              },
12903              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
12904              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
12905              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
12906              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
12907            },
12908            &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
12909            &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
12910              { # ContainerPort represents a network port in a single container.
12911                &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
12912                &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
12913                &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
12914                &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
12915                &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
12916              },
12917            ],
12918            &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
12919              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
12920              &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
12921                &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
12922                  &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
12923                    &quot;A String&quot;,
12924                  ],
12925                },
12926                &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
12927                  &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
12928                  &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
12929                    { # HTTPHeader describes a custom header to be used in HTTP probes
12930                      &quot;name&quot;: &quot;A String&quot;, # The header field name
12931                      &quot;value&quot;: &quot;A String&quot;, # The header field value
12932                    },
12933                  ],
12934                  &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
12935                  &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
12936                    &quot;intVal&quot;: 42, # The int value.
12937                    &quot;strVal&quot;: &quot;A String&quot;, # The string value.
12938                    &quot;type&quot;: 42, # The type of the value.
12939                  },
12940                  &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
12941                },
12942                &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
12943                  &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
12944                  &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
12945                    &quot;intVal&quot;: 42, # The int value.
12946                    &quot;strVal&quot;: &quot;A String&quot;, # The string value.
12947                    &quot;type&quot;: 42, # The type of the value.
12948                  },
12949                },
12950              },
12951              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
12952              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
12953              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
12954              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
12955            },
12956            &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
12957              &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
12958                &quot;a_key&quot;: &quot;A String&quot;,
12959              },
12960              &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
12961                &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
12962                  &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
12963                },
12964              },
12965              &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
12966                &quot;a_key&quot;: &quot;A String&quot;,
12967              },
12968              &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
12969                &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
12970                  &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
12971                },
12972              },
12973            },
12974            &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
12975              &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
12976              &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
12977                &quot;add&quot;: [ # Added capabilities +optional
12978                  &quot;A String&quot;,
12979                ],
12980                &quot;drop&quot;: [ # Removed capabilities +optional
12981                  &quot;A String&quot;,
12982                ],
12983              },
12984              &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
12985              &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
12986              &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
12987              &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
12988              &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
12989              &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
12990                &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
12991                &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
12992                &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
12993                &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
12994              },
12995            },
12996            &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
12997            &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
12998            &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
12999            &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
13000            &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
13001            &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
13002              { # volumeDevice describes a mapping of a raw block device within a container.
13003                &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
13004                &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
13005              },
13006            ],
13007            &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
13008              { # VolumeMount describes a mounting of a Volume within a container.
13009                &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
13010                &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
13011                &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
13012                &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
13013                &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
13014              },
13015            ],
13016            &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
13017          },
13018        ],
13019        &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
13020        &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
13021        &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources are in for this Revision. Users must not specify this when creating a revision. It is expected that the system will manipulate this based on routability and load. Populated by the system. Read-only.
13022        &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Not currently used by Cloud Run.
13023        &quot;volumes&quot;: [
13024          { # Volume represents a named volume in a container.
13025            &quot;configMap&quot;: { # Adapts a ConfigMap into a volume. The contents of the target ConfigMap&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.
13026              &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
13027              &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
13028                { # Maps a string key to a path within a volume.
13029                  &quot;key&quot;: &quot;A String&quot;, # The key to project.
13030                  &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
13031                  &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
13032                },
13033              ],
13034              &quot;name&quot;: &quot;A String&quot;, # Name of the config.
13035              &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
13036            },
13037            &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
13038            &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names.
13039              &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
13040              &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
13041                { # Maps a string key to a path within a volume.
13042                  &quot;key&quot;: &quot;A String&quot;, # The key to project.
13043                  &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
13044                  &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
13045                },
13046              ],
13047              &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
13048              &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
13049            },
13050          },
13051        ],
13052      },
13053    },
13054    &quot;traffic&quot;: [ # Traffic specifies how to distribute traffic over a collection of Knative Revisions and Configurations.
13055      { # TrafficTarget holds a single entry of the routing table for a Route.
13056        &quot;configurationName&quot;: &quot;A String&quot;, # ConfigurationName of a configuration to whose latest revision we will send this portion of traffic. When the &quot;status.latestReadyRevisionName&quot; of the referenced configuration changes, we will automatically migrate traffic from the prior &quot;latest ready&quot; revision to the new one. This field is never set in Route&#x27;s status, only its spec. This is mutually exclusive with RevisionName. Cloud Run currently supports a single ConfigurationName.
13057        &quot;latestRevision&quot;: True or False, # LatestRevision may be optionally provided to indicate that the latest ready Revision of the Configuration should be used for this traffic target. When provided LatestRevision must be true if RevisionName is empty; it must be false when RevisionName is non-empty. +optional
13058        &quot;name&quot;: &quot;A String&quot;, # Name is optionally used to expose a dedicated hostname for referencing this target exclusively. Not currently supported by Cloud Run. +optional
13059        &quot;percent&quot;: 42, # Percent specifies percent of the traffic to this Revision or Configuration. This defaults to zero if unspecified. Cloud Run currently requires 100 percent for a single ConfigurationName TrafficTarget entry.
13060        &quot;revisionName&quot;: &quot;A String&quot;, # RevisionName of a specific revision to which to send this portion of traffic. This is mutually exclusive with ConfigurationName. Providing RevisionName in spec is not currently supported by Cloud Run.
13061        &quot;tag&quot;: &quot;A String&quot;, # Tag is optionally used to expose a dedicated url for referencing this target exclusively. Not currently supported in Cloud Run. +optional
13062        &quot;url&quot;: &quot;A String&quot;, # Output only. URL displays the URL for accessing named traffic targets. URL is displayed in status, and is disallowed on spec. URL must contain a scheme (e.g. http://) and a hostname, but may not contain anything else (e.g. basic auth, url path, etc. Not currently supported in Cloud Run.
13063      },
13064    ],
13065  },
13066  &quot;status&quot;: { # The current state of the Service. Output only. # Status communicates the observed state of the Service (from the controller).
13067    &quot;address&quot;: { # Information for connecting over HTTP(s). # From RouteStatus. Similar to url, information on where the service is available on HTTP.
13068      &quot;hostname&quot;: &quot;A String&quot;, # Deprecated - use url instead.
13069      &quot;url&quot;: &quot;A String&quot;,
13070    },
13071    &quot;conditions&quot;: [ # Conditions communicates information about ongoing/complete reconciliation processes that bring the &quot;spec&quot; inline with the observed state of the world.
13072      { # ServiceCondition defines a readiness condition for a Service.
13073        &quot;lastTransitionTime&quot;: &quot;A String&quot;, # Last time the condition transitioned from one status to another. +optional
13074        &quot;message&quot;: &quot;A String&quot;, # Human-readable message indicating details about last transition. +optional
13075        &quot;reason&quot;: &quot;A String&quot;, # One-word CamelCase reason for the condition&#x27;s last transition. +optional
13076        &quot;severity&quot;: &quot;A String&quot;, # How to interpret failures of this condition, one of Error, Warning, Info +optional
13077        &quot;status&quot;: &quot;A String&quot;, # Status of the condition, one of True, False, Unknown.
13078        &quot;type&quot;: &quot;A String&quot;, # ServiceConditionType is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types include: &quot;Ready&quot;, &quot;ConfigurationsReady&quot;, and &quot;RoutesReady&quot;. &quot;Ready&quot; will be true when the underlying Route and Configuration are ready.
13079      },
13080    ],
13081    &quot;domain&quot;: &quot;A String&quot;, # From RouteStatus. Domain holds the top-level domain that will distribute traffic over the provided targets. It generally has the form https://{route-hash}-{project-hash}-{cluster-level-suffix}.a.run.app
13082    &quot;latestCreatedRevisionName&quot;: &quot;A String&quot;, # From ConfigurationStatus. LatestCreatedRevisionName is the last revision that was created from this Service&#x27;s Configuration. It might not be ready yet, for that use LatestReadyRevisionName.
13083    &quot;latestReadyRevisionName&quot;: &quot;A String&quot;, # From ConfigurationStatus. LatestReadyRevisionName holds the name of the latest Revision stamped out from this Service&#x27;s Configuration that has had its &quot;Ready&quot; condition become &quot;True&quot;.
13084    &quot;observedGeneration&quot;: 42, # ObservedGeneration is the &#x27;Generation&#x27; of the Route that was last processed by the controller. Clients polling for completed reconciliation should poll until observedGeneration = metadata.generation and the Ready condition&#x27;s status is True or False.
13085    &quot;traffic&quot;: [ # From RouteStatus. Traffic holds the configured traffic distribution. These entries will always contain RevisionName references. When ConfigurationName appears in the spec, this will hold the LatestReadyRevisionName that we last observed.
13086      { # TrafficTarget holds a single entry of the routing table for a Route.
13087        &quot;configurationName&quot;: &quot;A String&quot;, # ConfigurationName of a configuration to whose latest revision we will send this portion of traffic. When the &quot;status.latestReadyRevisionName&quot; of the referenced configuration changes, we will automatically migrate traffic from the prior &quot;latest ready&quot; revision to the new one. This field is never set in Route&#x27;s status, only its spec. This is mutually exclusive with RevisionName. Cloud Run currently supports a single ConfigurationName.
13088        &quot;latestRevision&quot;: True or False, # LatestRevision may be optionally provided to indicate that the latest ready Revision of the Configuration should be used for this traffic target. When provided LatestRevision must be true if RevisionName is empty; it must be false when RevisionName is non-empty. +optional
13089        &quot;name&quot;: &quot;A String&quot;, # Name is optionally used to expose a dedicated hostname for referencing this target exclusively. Not currently supported by Cloud Run. +optional
13090        &quot;percent&quot;: 42, # Percent specifies percent of the traffic to this Revision or Configuration. This defaults to zero if unspecified. Cloud Run currently requires 100 percent for a single ConfigurationName TrafficTarget entry.
13091        &quot;revisionName&quot;: &quot;A String&quot;, # RevisionName of a specific revision to which to send this portion of traffic. This is mutually exclusive with ConfigurationName. Providing RevisionName in spec is not currently supported by Cloud Run.
13092        &quot;tag&quot;: &quot;A String&quot;, # Tag is optionally used to expose a dedicated url for referencing this target exclusively. Not currently supported in Cloud Run. +optional
13093        &quot;url&quot;: &quot;A String&quot;, # Output only. URL displays the URL for accessing named traffic targets. URL is displayed in status, and is disallowed on spec. URL must contain a scheme (e.g. http://) and a hostname, but may not contain anything else (e.g. basic auth, url path, etc. Not currently supported in Cloud Run.
13094      },
13095    ],
13096    &quot;url&quot;: &quot;A String&quot;, # From RouteStatus. URL holds the url that will distribute traffic over the provided traffic targets. It generally has the form https://{route-hash}-{project-hash}-{cluster-level-suffix}.a.run.app
13097  },
13098}</pre>
13099</div>
13100
13101<div class="method">
13102    <code class="details" id="getIamPolicy">getIamPolicy(resource, options_requestedPolicyVersion=None, x__xgafv=None)</code>
13103  <pre>Get the IAM Access Control policy currently in effect for the given Cloud Run service. This result does not include any inherited policies.
13104
13105Args:
13106  resource: string, REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. (required)
13107  options_requestedPolicyVersion: integer, Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
13108  x__xgafv: string, V1 error format.
13109    Allowed values
13110      1 - v1 error format
13111      2 - v2 error format
13112
13113Returns:
13114  An object of the form:
13115
13116    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:[email protected]&quot;, &quot;group:[email protected]&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:[email protected]&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:[email protected]&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:[email protected] - group:[email protected] - domain:google.com - serviceAccount:[email protected] role: roles/resourcemanager.organizationAdmin - members: - user:[email protected] role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
13117  &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
13118    { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { &quot;audit_configs&quot;: [ { &quot;service&quot;: &quot;allServices&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:[email protected]&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; }, { &quot;log_type&quot;: &quot;ADMIN_READ&quot; } ] }, { &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot; }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot;, &quot;exempted_members&quot;: [ &quot;user:[email protected]&quot; ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts [email protected] from DATA_READ logging, and [email protected] from DATA_WRITE logging.
13119      &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
13120        { # Provides the configuration for logging a type of permissions. Example: { &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:[email protected]&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; } ] } This enables &#x27;DATA_READ&#x27; and &#x27;DATA_WRITE&#x27; logging, while exempting [email protected] from DATA_READ logging.
13121          &quot;exemptedMembers&quot;: [ # Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.
13122            &quot;A String&quot;,
13123          ],
13124          &quot;logType&quot;: &quot;A String&quot;, # The log type that this config enables.
13125        },
13126      ],
13127      &quot;service&quot;: &quot;A String&quot;, # Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.
13128    },
13129  ],
13130  &quot;bindings&quot;: [ # Associates a list of `members` to a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one member.
13131    { # Associates `members` with a `role`.
13132      &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
13133        &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
13134        &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language syntax.
13135        &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
13136        &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
13137      },
13138      &quot;members&quot;: [ # Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `[email protected]` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `[email protected]`. * `group:{emailid}`: An email address that represents a Google group. For example, `[email protected]`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `[email protected]?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `[email protected]?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `[email protected]?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`.
13139        &quot;A String&quot;,
13140      ],
13141      &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
13142    },
13143  ],
13144  &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.
13145  &quot;version&quot;: 42, # Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
13146}</pre>
13147</div>
13148
13149<div class="method">
13150    <code class="details" id="list">list(parent, continue=None, fieldSelector=None, includeUninitialized=None, labelSelector=None, limit=None, resourceVersion=None, watch=None, x__xgafv=None)</code>
13151  <pre>Rpc to list services.
13152
13153Args:
13154  parent: string, The project ID or project number from which the services should be listed. (required)
13155  continue: string, Optional encoded string to continue paging.
13156  fieldSelector: string, Allows to filter resources based on a specific value for a field name. Send this in a query string format. i.e. &#x27;metadata.name%3Dlorem&#x27;. Not currently used by Cloud Run.
13157  includeUninitialized: boolean, Not currently used by Cloud Run.
13158  labelSelector: string, Allows to filter resources based on a label. Supported operations are =, !=, exists, in, and notIn.
13159  limit: integer, The maximum number of records that should be returned.
13160  resourceVersion: string, The baseline resource version from which the list or watch operation should start. Not currently used by Cloud Run.
13161  watch: boolean, Flag that indicates that the client expects to watch this resource as well. Not currently used by Cloud Run.
13162  x__xgafv: string, V1 error format.
13163    Allowed values
13164      1 - v1 error format
13165      2 - v2 error format
13166
13167Returns:
13168  An object of the form:
13169
13170    { # A list of Service resources.
13171  &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1alpha1&quot;.
13172  &quot;items&quot;: [ # List of Services.
13173    { # Service acts as a top-level container that manages a set of Routes and Configurations which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets). The Service&#x27;s controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#service
13174      &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1alpha1&quot;.
13175      &quot;kind&quot;: &quot;A String&quot;, # The kind of resource, in this case &quot;Service&quot;.
13176      &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Service, including name, namespace, labels, and annotations.
13177        &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
13178          &quot;a_key&quot;: &quot;A String&quot;,
13179        },
13180        &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
13181        &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
13182        &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
13183        &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
13184        &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
13185          &quot;A String&quot;,
13186        ],
13187        &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
13188        &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
13189        &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
13190          &quot;a_key&quot;: &quot;A String&quot;,
13191        },
13192        &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
13193        &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
13194        &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
13195          { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
13196            &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
13197            &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
13198            &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
13199            &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
13200            &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
13201            &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
13202          },
13203        ],
13204        &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
13205        &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
13206        &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
13207      },
13208      &quot;spec&quot;: { # ServiceSpec holds the desired state of the Route (from the client), which is used to manipulate the underlying Route and Configuration(s). # Spec holds the desired state of the Service (from the client).
13209        &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
13210        &quot;manual&quot;: { # ServiceSpecManualType contains the options for configuring a manual service. See ServiceSpec for more details. Not currently supported by Cloud Run. # Manual contains the options for configuring a manual service. See ServiceSpec for more details. Not currently supported by Cloud Run.
13211        },
13212        &quot;pinned&quot;: { # ServiceSpecPinnedType Pins this service to a specific revision name. The revision must be owned by the configuration provided. Deprecated and not supported by Cloud Run. # Pins this service to a specific revision name. The revision must be owned by the configuration provided. Deprecated and not supported by Cloud Run. +optional
13213          &quot;configuration&quot;: { # ConfigurationSpec holds the desired state of the Configuration (from the client). # The configuration for this service.
13214            &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
13215            &quot;revisionTemplate&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190 # RevisionTemplate holds the latest specification for the Revision to be stamped out. The template references the container image, and may also include labels and annotations that should be attached to the Revision. To correlate a Revision, and/or to force a Revision to be created when the spec doesn&#x27;t otherwise change, a nonce label may be provided in the template metadata. For more details, see: https://github.com/knative/serving/blob/master/docs/client-conventions.md#associate-modifications-with-revisions Cloud Run does not currently support referencing a build that is responsible for materializing the container image from source.
13216              &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only). To set maximum instances for this revision, use the &quot;autoscaling.knative.dev/maxScale&quot; annotation key. To set Cloud SQL connections for the revision, use the &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be comma separated.
13217                &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
13218                  &quot;a_key&quot;: &quot;A String&quot;,
13219                },
13220                &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
13221                &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
13222                &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
13223                &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
13224                &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
13225                  &quot;A String&quot;,
13226                ],
13227                &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
13228                &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
13229                &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
13230                  &quot;a_key&quot;: &quot;A String&quot;,
13231                },
13232                &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
13233                &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
13234                &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
13235                  { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
13236                    &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
13237                    &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
13238                    &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
13239                    &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
13240                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
13241                    &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
13242                  },
13243                ],
13244                &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
13245                &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
13246                &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
13247              },
13248              &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).
13249                &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model (Single or Multi) for the Revision. Defaults to Multi. Deprecated in favor of ContainerConcurrency. +optional
13250                &quot;container&quot;: { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime. # Container defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of the fields of this Container, including: name, ports, and volumeMounts. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
13251                  &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
13252                    &quot;A String&quot;,
13253                  ],
13254                  &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
13255                    &quot;A String&quot;,
13256                  ],
13257                  &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
13258                    { # EnvVar represents an environment variable present in a Container.
13259                      &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
13260                      &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
13261                      &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
13262                        &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
13263                          &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
13264                          &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
13265                            &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
13266                          },
13267                          &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
13268                          &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
13269                        },
13270                        &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
13271                          &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
13272                          &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
13273                            &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
13274                          },
13275                          &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
13276                          &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
13277                        },
13278                      },
13279                    },
13280                  ],
13281                  &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
13282                    { # EnvFromSource represents the source of a set of ConfigMaps
13283                      &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
13284                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
13285                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
13286                        },
13287                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
13288                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
13289                      },
13290                      &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
13291                      &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
13292                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
13293                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
13294                        },
13295                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
13296                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
13297                      },
13298                    },
13299                  ],
13300                  &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
13301                  &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
13302                  &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
13303                    &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
13304                      &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
13305                        &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
13306                          &quot;A String&quot;,
13307                        ],
13308                      },
13309                      &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
13310                        &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
13311                        &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
13312                          { # HTTPHeader describes a custom header to be used in HTTP probes
13313                            &quot;name&quot;: &quot;A String&quot;, # The header field name
13314                            &quot;value&quot;: &quot;A String&quot;, # The header field value
13315                          },
13316                        ],
13317                        &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
13318                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
13319                          &quot;intVal&quot;: 42, # The int value.
13320                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
13321                          &quot;type&quot;: 42, # The type of the value.
13322                        },
13323                        &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
13324                      },
13325                      &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
13326                        &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
13327                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
13328                          &quot;intVal&quot;: 42, # The int value.
13329                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
13330                          &quot;type&quot;: 42, # The type of the value.
13331                        },
13332                      },
13333                    },
13334                    &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
13335                      &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
13336                        &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
13337                          &quot;A String&quot;,
13338                        ],
13339                      },
13340                      &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
13341                        &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
13342                        &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
13343                          { # HTTPHeader describes a custom header to be used in HTTP probes
13344                            &quot;name&quot;: &quot;A String&quot;, # The header field name
13345                            &quot;value&quot;: &quot;A String&quot;, # The header field value
13346                          },
13347                        ],
13348                        &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
13349                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
13350                          &quot;intVal&quot;: 42, # The int value.
13351                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
13352                          &quot;type&quot;: 42, # The type of the value.
13353                        },
13354                        &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
13355                      },
13356                      &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
13357                        &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
13358                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
13359                          &quot;intVal&quot;: 42, # The int value.
13360                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
13361                          &quot;type&quot;: 42, # The type of the value.
13362                        },
13363                      },
13364                    },
13365                  },
13366                  &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
13367                    &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
13368                    &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
13369                      &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
13370                        &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
13371                          &quot;A String&quot;,
13372                        ],
13373                      },
13374                      &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
13375                        &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
13376                        &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
13377                          { # HTTPHeader describes a custom header to be used in HTTP probes
13378                            &quot;name&quot;: &quot;A String&quot;, # The header field name
13379                            &quot;value&quot;: &quot;A String&quot;, # The header field value
13380                          },
13381                        ],
13382                        &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
13383                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
13384                          &quot;intVal&quot;: 42, # The int value.
13385                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
13386                          &quot;type&quot;: 42, # The type of the value.
13387                        },
13388                        &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
13389                      },
13390                      &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
13391                        &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
13392                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
13393                          &quot;intVal&quot;: 42, # The int value.
13394                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
13395                          &quot;type&quot;: 42, # The type of the value.
13396                        },
13397                      },
13398                    },
13399                    &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
13400                    &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
13401                    &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
13402                    &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
13403                  },
13404                  &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
13405                  &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
13406                    { # ContainerPort represents a network port in a single container.
13407                      &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
13408                      &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
13409                      &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
13410                      &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
13411                      &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
13412                    },
13413                  ],
13414                  &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
13415                    &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
13416                    &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
13417                      &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
13418                        &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
13419                          &quot;A String&quot;,
13420                        ],
13421                      },
13422                      &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
13423                        &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
13424                        &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
13425                          { # HTTPHeader describes a custom header to be used in HTTP probes
13426                            &quot;name&quot;: &quot;A String&quot;, # The header field name
13427                            &quot;value&quot;: &quot;A String&quot;, # The header field value
13428                          },
13429                        ],
13430                        &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
13431                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
13432                          &quot;intVal&quot;: 42, # The int value.
13433                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
13434                          &quot;type&quot;: 42, # The type of the value.
13435                        },
13436                        &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
13437                      },
13438                      &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
13439                        &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
13440                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
13441                          &quot;intVal&quot;: 42, # The int value.
13442                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
13443                          &quot;type&quot;: 42, # The type of the value.
13444                        },
13445                      },
13446                    },
13447                    &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
13448                    &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
13449                    &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
13450                    &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
13451                  },
13452                  &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
13453                    &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
13454                      &quot;a_key&quot;: &quot;A String&quot;,
13455                    },
13456                    &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
13457                      &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
13458                        &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
13459                      },
13460                    },
13461                    &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
13462                      &quot;a_key&quot;: &quot;A String&quot;,
13463                    },
13464                    &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
13465                      &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
13466                        &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
13467                      },
13468                    },
13469                  },
13470                  &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
13471                    &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
13472                    &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
13473                      &quot;add&quot;: [ # Added capabilities +optional
13474                        &quot;A String&quot;,
13475                      ],
13476                      &quot;drop&quot;: [ # Removed capabilities +optional
13477                        &quot;A String&quot;,
13478                      ],
13479                    },
13480                    &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
13481                    &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
13482                    &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
13483                    &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
13484                    &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
13485                    &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
13486                      &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
13487                      &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
13488                      &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
13489                      &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
13490                    },
13491                  },
13492                  &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
13493                  &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
13494                  &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
13495                  &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
13496                  &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
13497                  &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
13498                    { # volumeDevice describes a mapping of a raw block device within a container.
13499                      &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
13500                      &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
13501                    },
13502                  ],
13503                  &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
13504                    { # VolumeMount describes a mounting of a Volume within a container.
13505                      &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
13506                      &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
13507                      &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
13508                      &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
13509                      &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
13510                    },
13511                  ],
13512                  &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
13513                },
13514                &quot;containerConcurrency&quot;: 42, # (Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run on GKE: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
13515                &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided.
13516                  { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
13517                    &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
13518                      &quot;A String&quot;,
13519                    ],
13520                    &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
13521                      &quot;A String&quot;,
13522                    ],
13523                    &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
13524                      { # EnvVar represents an environment variable present in a Container.
13525                        &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
13526                        &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
13527                        &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
13528                          &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
13529                            &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
13530                            &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
13531                              &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
13532                            },
13533                            &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
13534                            &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
13535                          },
13536                          &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
13537                            &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
13538                            &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
13539                              &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
13540                            },
13541                            &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
13542                            &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
13543                          },
13544                        },
13545                      },
13546                    ],
13547                    &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
13548                      { # EnvFromSource represents the source of a set of ConfigMaps
13549                        &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
13550                          &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
13551                            &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
13552                          },
13553                          &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
13554                          &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
13555                        },
13556                        &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
13557                        &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
13558                          &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
13559                            &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
13560                          },
13561                          &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
13562                          &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
13563                        },
13564                      },
13565                    ],
13566                    &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
13567                    &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
13568                    &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
13569                      &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
13570                        &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
13571                          &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
13572                            &quot;A String&quot;,
13573                          ],
13574                        },
13575                        &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
13576                          &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
13577                          &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
13578                            { # HTTPHeader describes a custom header to be used in HTTP probes
13579                              &quot;name&quot;: &quot;A String&quot;, # The header field name
13580                              &quot;value&quot;: &quot;A String&quot;, # The header field value
13581                            },
13582                          ],
13583                          &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
13584                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
13585                            &quot;intVal&quot;: 42, # The int value.
13586                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
13587                            &quot;type&quot;: 42, # The type of the value.
13588                          },
13589                          &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
13590                        },
13591                        &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
13592                          &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
13593                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
13594                            &quot;intVal&quot;: 42, # The int value.
13595                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
13596                            &quot;type&quot;: 42, # The type of the value.
13597                          },
13598                        },
13599                      },
13600                      &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
13601                        &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
13602                          &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
13603                            &quot;A String&quot;,
13604                          ],
13605                        },
13606                        &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
13607                          &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
13608                          &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
13609                            { # HTTPHeader describes a custom header to be used in HTTP probes
13610                              &quot;name&quot;: &quot;A String&quot;, # The header field name
13611                              &quot;value&quot;: &quot;A String&quot;, # The header field value
13612                            },
13613                          ],
13614                          &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
13615                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
13616                            &quot;intVal&quot;: 42, # The int value.
13617                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
13618                            &quot;type&quot;: 42, # The type of the value.
13619                          },
13620                          &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
13621                        },
13622                        &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
13623                          &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
13624                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
13625                            &quot;intVal&quot;: 42, # The int value.
13626                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
13627                            &quot;type&quot;: 42, # The type of the value.
13628                          },
13629                        },
13630                      },
13631                    },
13632                    &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
13633                      &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
13634                      &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
13635                        &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
13636                          &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
13637                            &quot;A String&quot;,
13638                          ],
13639                        },
13640                        &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
13641                          &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
13642                          &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
13643                            { # HTTPHeader describes a custom header to be used in HTTP probes
13644                              &quot;name&quot;: &quot;A String&quot;, # The header field name
13645                              &quot;value&quot;: &quot;A String&quot;, # The header field value
13646                            },
13647                          ],
13648                          &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
13649                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
13650                            &quot;intVal&quot;: 42, # The int value.
13651                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
13652                            &quot;type&quot;: 42, # The type of the value.
13653                          },
13654                          &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
13655                        },
13656                        &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
13657                          &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
13658                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
13659                            &quot;intVal&quot;: 42, # The int value.
13660                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
13661                            &quot;type&quot;: 42, # The type of the value.
13662                          },
13663                        },
13664                      },
13665                      &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
13666                      &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
13667                      &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
13668                      &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
13669                    },
13670                    &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
13671                    &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
13672                      { # ContainerPort represents a network port in a single container.
13673                        &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
13674                        &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
13675                        &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
13676                        &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
13677                        &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
13678                      },
13679                    ],
13680                    &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
13681                      &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
13682                      &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
13683                        &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
13684                          &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
13685                            &quot;A String&quot;,
13686                          ],
13687                        },
13688                        &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
13689                          &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
13690                          &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
13691                            { # HTTPHeader describes a custom header to be used in HTTP probes
13692                              &quot;name&quot;: &quot;A String&quot;, # The header field name
13693                              &quot;value&quot;: &quot;A String&quot;, # The header field value
13694                            },
13695                          ],
13696                          &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
13697                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
13698                            &quot;intVal&quot;: 42, # The int value.
13699                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
13700                            &quot;type&quot;: 42, # The type of the value.
13701                          },
13702                          &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
13703                        },
13704                        &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
13705                          &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
13706                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
13707                            &quot;intVal&quot;: 42, # The int value.
13708                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
13709                            &quot;type&quot;: 42, # The type of the value.
13710                          },
13711                        },
13712                      },
13713                      &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
13714                      &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
13715                      &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
13716                      &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
13717                    },
13718                    &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
13719                      &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
13720                        &quot;a_key&quot;: &quot;A String&quot;,
13721                      },
13722                      &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
13723                        &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
13724                          &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
13725                        },
13726                      },
13727                      &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
13728                        &quot;a_key&quot;: &quot;A String&quot;,
13729                      },
13730                      &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
13731                        &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
13732                          &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
13733                        },
13734                      },
13735                    },
13736                    &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
13737                      &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
13738                      &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
13739                        &quot;add&quot;: [ # Added capabilities +optional
13740                          &quot;A String&quot;,
13741                        ],
13742                        &quot;drop&quot;: [ # Removed capabilities +optional
13743                          &quot;A String&quot;,
13744                        ],
13745                      },
13746                      &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
13747                      &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
13748                      &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
13749                      &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
13750                      &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
13751                      &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
13752                        &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
13753                        &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
13754                        &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
13755                        &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
13756                      },
13757                    },
13758                    &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
13759                    &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
13760                    &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
13761                    &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
13762                    &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
13763                    &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
13764                      { # volumeDevice describes a mapping of a raw block device within a container.
13765                        &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
13766                        &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
13767                      },
13768                    ],
13769                    &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
13770                      { # VolumeMount describes a mounting of a Volume within a container.
13771                        &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
13772                        &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
13773                        &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
13774                        &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
13775                        &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
13776                      },
13777                    ],
13778                    &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
13779                  },
13780                ],
13781                &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
13782                &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
13783                &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources are in for this Revision. Users must not specify this when creating a revision. It is expected that the system will manipulate this based on routability and load. Populated by the system. Read-only.
13784                &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Not currently used by Cloud Run.
13785                &quot;volumes&quot;: [
13786                  { # Volume represents a named volume in a container.
13787                    &quot;configMap&quot;: { # Adapts a ConfigMap into a volume. The contents of the target ConfigMap&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.
13788                      &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
13789                      &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
13790                        { # Maps a string key to a path within a volume.
13791                          &quot;key&quot;: &quot;A String&quot;, # The key to project.
13792                          &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
13793                          &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
13794                        },
13795                      ],
13796                      &quot;name&quot;: &quot;A String&quot;, # Name of the config.
13797                      &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
13798                    },
13799                    &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
13800                    &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names.
13801                      &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
13802                      &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
13803                        { # Maps a string key to a path within a volume.
13804                          &quot;key&quot;: &quot;A String&quot;, # The key to project.
13805                          &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
13806                          &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
13807                        },
13808                      ],
13809                      &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
13810                      &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
13811                    },
13812                  },
13813                ],
13814              },
13815            },
13816            &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190 # Template holds the latest specification for the Revision to be stamped out.
13817              &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only). To set maximum instances for this revision, use the &quot;autoscaling.knative.dev/maxScale&quot; annotation key. To set Cloud SQL connections for the revision, use the &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be comma separated.
13818                &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
13819                  &quot;a_key&quot;: &quot;A String&quot;,
13820                },
13821                &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
13822                &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
13823                &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
13824                &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
13825                &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
13826                  &quot;A String&quot;,
13827                ],
13828                &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
13829                &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
13830                &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
13831                  &quot;a_key&quot;: &quot;A String&quot;,
13832                },
13833                &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
13834                &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
13835                &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
13836                  { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
13837                    &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
13838                    &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
13839                    &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
13840                    &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
13841                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
13842                    &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
13843                  },
13844                ],
13845                &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
13846                &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
13847                &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
13848              },
13849              &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).
13850                &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model (Single or Multi) for the Revision. Defaults to Multi. Deprecated in favor of ContainerConcurrency. +optional
13851                &quot;container&quot;: { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime. # Container defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of the fields of this Container, including: name, ports, and volumeMounts. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
13852                  &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
13853                    &quot;A String&quot;,
13854                  ],
13855                  &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
13856                    &quot;A String&quot;,
13857                  ],
13858                  &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
13859                    { # EnvVar represents an environment variable present in a Container.
13860                      &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
13861                      &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
13862                      &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
13863                        &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
13864                          &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
13865                          &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
13866                            &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
13867                          },
13868                          &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
13869                          &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
13870                        },
13871                        &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
13872                          &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
13873                          &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
13874                            &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
13875                          },
13876                          &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
13877                          &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
13878                        },
13879                      },
13880                    },
13881                  ],
13882                  &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
13883                    { # EnvFromSource represents the source of a set of ConfigMaps
13884                      &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
13885                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
13886                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
13887                        },
13888                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
13889                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
13890                      },
13891                      &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
13892                      &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
13893                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
13894                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
13895                        },
13896                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
13897                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
13898                      },
13899                    },
13900                  ],
13901                  &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
13902                  &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
13903                  &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
13904                    &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
13905                      &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
13906                        &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
13907                          &quot;A String&quot;,
13908                        ],
13909                      },
13910                      &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
13911                        &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
13912                        &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
13913                          { # HTTPHeader describes a custom header to be used in HTTP probes
13914                            &quot;name&quot;: &quot;A String&quot;, # The header field name
13915                            &quot;value&quot;: &quot;A String&quot;, # The header field value
13916                          },
13917                        ],
13918                        &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
13919                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
13920                          &quot;intVal&quot;: 42, # The int value.
13921                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
13922                          &quot;type&quot;: 42, # The type of the value.
13923                        },
13924                        &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
13925                      },
13926                      &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
13927                        &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
13928                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
13929                          &quot;intVal&quot;: 42, # The int value.
13930                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
13931                          &quot;type&quot;: 42, # The type of the value.
13932                        },
13933                      },
13934                    },
13935                    &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
13936                      &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
13937                        &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
13938                          &quot;A String&quot;,
13939                        ],
13940                      },
13941                      &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
13942                        &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
13943                        &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
13944                          { # HTTPHeader describes a custom header to be used in HTTP probes
13945                            &quot;name&quot;: &quot;A String&quot;, # The header field name
13946                            &quot;value&quot;: &quot;A String&quot;, # The header field value
13947                          },
13948                        ],
13949                        &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
13950                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
13951                          &quot;intVal&quot;: 42, # The int value.
13952                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
13953                          &quot;type&quot;: 42, # The type of the value.
13954                        },
13955                        &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
13956                      },
13957                      &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
13958                        &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
13959                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
13960                          &quot;intVal&quot;: 42, # The int value.
13961                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
13962                          &quot;type&quot;: 42, # The type of the value.
13963                        },
13964                      },
13965                    },
13966                  },
13967                  &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
13968                    &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
13969                    &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
13970                      &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
13971                        &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
13972                          &quot;A String&quot;,
13973                        ],
13974                      },
13975                      &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
13976                        &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
13977                        &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
13978                          { # HTTPHeader describes a custom header to be used in HTTP probes
13979                            &quot;name&quot;: &quot;A String&quot;, # The header field name
13980                            &quot;value&quot;: &quot;A String&quot;, # The header field value
13981                          },
13982                        ],
13983                        &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
13984                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
13985                          &quot;intVal&quot;: 42, # The int value.
13986                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
13987                          &quot;type&quot;: 42, # The type of the value.
13988                        },
13989                        &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
13990                      },
13991                      &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
13992                        &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
13993                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
13994                          &quot;intVal&quot;: 42, # The int value.
13995                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
13996                          &quot;type&quot;: 42, # The type of the value.
13997                        },
13998                      },
13999                    },
14000                    &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
14001                    &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
14002                    &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
14003                    &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
14004                  },
14005                  &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
14006                  &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
14007                    { # ContainerPort represents a network port in a single container.
14008                      &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
14009                      &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
14010                      &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
14011                      &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
14012                      &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
14013                    },
14014                  ],
14015                  &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
14016                    &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
14017                    &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
14018                      &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
14019                        &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
14020                          &quot;A String&quot;,
14021                        ],
14022                      },
14023                      &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
14024                        &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
14025                        &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
14026                          { # HTTPHeader describes a custom header to be used in HTTP probes
14027                            &quot;name&quot;: &quot;A String&quot;, # The header field name
14028                            &quot;value&quot;: &quot;A String&quot;, # The header field value
14029                          },
14030                        ],
14031                        &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
14032                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
14033                          &quot;intVal&quot;: 42, # The int value.
14034                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
14035                          &quot;type&quot;: 42, # The type of the value.
14036                        },
14037                        &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
14038                      },
14039                      &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
14040                        &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
14041                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
14042                          &quot;intVal&quot;: 42, # The int value.
14043                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
14044                          &quot;type&quot;: 42, # The type of the value.
14045                        },
14046                      },
14047                    },
14048                    &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
14049                    &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
14050                    &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
14051                    &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
14052                  },
14053                  &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
14054                    &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
14055                      &quot;a_key&quot;: &quot;A String&quot;,
14056                    },
14057                    &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
14058                      &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
14059                        &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
14060                      },
14061                    },
14062                    &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
14063                      &quot;a_key&quot;: &quot;A String&quot;,
14064                    },
14065                    &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
14066                      &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
14067                        &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
14068                      },
14069                    },
14070                  },
14071                  &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
14072                    &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
14073                    &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
14074                      &quot;add&quot;: [ # Added capabilities +optional
14075                        &quot;A String&quot;,
14076                      ],
14077                      &quot;drop&quot;: [ # Removed capabilities +optional
14078                        &quot;A String&quot;,
14079                      ],
14080                    },
14081                    &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
14082                    &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
14083                    &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
14084                    &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
14085                    &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
14086                    &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
14087                      &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
14088                      &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
14089                      &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
14090                      &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
14091                    },
14092                  },
14093                  &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
14094                  &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
14095                  &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
14096                  &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
14097                  &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
14098                  &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
14099                    { # volumeDevice describes a mapping of a raw block device within a container.
14100                      &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
14101                      &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
14102                    },
14103                  ],
14104                  &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
14105                    { # VolumeMount describes a mounting of a Volume within a container.
14106                      &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
14107                      &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
14108                      &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
14109                      &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
14110                      &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
14111                    },
14112                  ],
14113                  &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
14114                },
14115                &quot;containerConcurrency&quot;: 42, # (Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run on GKE: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
14116                &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided.
14117                  { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
14118                    &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
14119                      &quot;A String&quot;,
14120                    ],
14121                    &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
14122                      &quot;A String&quot;,
14123                    ],
14124                    &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
14125                      { # EnvVar represents an environment variable present in a Container.
14126                        &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
14127                        &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
14128                        &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
14129                          &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
14130                            &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
14131                            &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
14132                              &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
14133                            },
14134                            &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
14135                            &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
14136                          },
14137                          &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
14138                            &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
14139                            &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
14140                              &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
14141                            },
14142                            &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
14143                            &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
14144                          },
14145                        },
14146                      },
14147                    ],
14148                    &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
14149                      { # EnvFromSource represents the source of a set of ConfigMaps
14150                        &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
14151                          &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
14152                            &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
14153                          },
14154                          &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
14155                          &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
14156                        },
14157                        &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
14158                        &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
14159                          &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
14160                            &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
14161                          },
14162                          &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
14163                          &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
14164                        },
14165                      },
14166                    ],
14167                    &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
14168                    &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
14169                    &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
14170                      &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
14171                        &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
14172                          &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
14173                            &quot;A String&quot;,
14174                          ],
14175                        },
14176                        &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
14177                          &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
14178                          &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
14179                            { # HTTPHeader describes a custom header to be used in HTTP probes
14180                              &quot;name&quot;: &quot;A String&quot;, # The header field name
14181                              &quot;value&quot;: &quot;A String&quot;, # The header field value
14182                            },
14183                          ],
14184                          &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
14185                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
14186                            &quot;intVal&quot;: 42, # The int value.
14187                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
14188                            &quot;type&quot;: 42, # The type of the value.
14189                          },
14190                          &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
14191                        },
14192                        &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
14193                          &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
14194                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
14195                            &quot;intVal&quot;: 42, # The int value.
14196                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
14197                            &quot;type&quot;: 42, # The type of the value.
14198                          },
14199                        },
14200                      },
14201                      &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
14202                        &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
14203                          &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
14204                            &quot;A String&quot;,
14205                          ],
14206                        },
14207                        &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
14208                          &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
14209                          &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
14210                            { # HTTPHeader describes a custom header to be used in HTTP probes
14211                              &quot;name&quot;: &quot;A String&quot;, # The header field name
14212                              &quot;value&quot;: &quot;A String&quot;, # The header field value
14213                            },
14214                          ],
14215                          &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
14216                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
14217                            &quot;intVal&quot;: 42, # The int value.
14218                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
14219                            &quot;type&quot;: 42, # The type of the value.
14220                          },
14221                          &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
14222                        },
14223                        &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
14224                          &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
14225                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
14226                            &quot;intVal&quot;: 42, # The int value.
14227                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
14228                            &quot;type&quot;: 42, # The type of the value.
14229                          },
14230                        },
14231                      },
14232                    },
14233                    &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
14234                      &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
14235                      &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
14236                        &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
14237                          &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
14238                            &quot;A String&quot;,
14239                          ],
14240                        },
14241                        &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
14242                          &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
14243                          &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
14244                            { # HTTPHeader describes a custom header to be used in HTTP probes
14245                              &quot;name&quot;: &quot;A String&quot;, # The header field name
14246                              &quot;value&quot;: &quot;A String&quot;, # The header field value
14247                            },
14248                          ],
14249                          &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
14250                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
14251                            &quot;intVal&quot;: 42, # The int value.
14252                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
14253                            &quot;type&quot;: 42, # The type of the value.
14254                          },
14255                          &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
14256                        },
14257                        &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
14258                          &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
14259                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
14260                            &quot;intVal&quot;: 42, # The int value.
14261                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
14262                            &quot;type&quot;: 42, # The type of the value.
14263                          },
14264                        },
14265                      },
14266                      &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
14267                      &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
14268                      &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
14269                      &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
14270                    },
14271                    &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
14272                    &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
14273                      { # ContainerPort represents a network port in a single container.
14274                        &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
14275                        &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
14276                        &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
14277                        &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
14278                        &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
14279                      },
14280                    ],
14281                    &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
14282                      &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
14283                      &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
14284                        &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
14285                          &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
14286                            &quot;A String&quot;,
14287                          ],
14288                        },
14289                        &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
14290                          &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
14291                          &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
14292                            { # HTTPHeader describes a custom header to be used in HTTP probes
14293                              &quot;name&quot;: &quot;A String&quot;, # The header field name
14294                              &quot;value&quot;: &quot;A String&quot;, # The header field value
14295                            },
14296                          ],
14297                          &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
14298                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
14299                            &quot;intVal&quot;: 42, # The int value.
14300                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
14301                            &quot;type&quot;: 42, # The type of the value.
14302                          },
14303                          &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
14304                        },
14305                        &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
14306                          &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
14307                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
14308                            &quot;intVal&quot;: 42, # The int value.
14309                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
14310                            &quot;type&quot;: 42, # The type of the value.
14311                          },
14312                        },
14313                      },
14314                      &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
14315                      &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
14316                      &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
14317                      &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
14318                    },
14319                    &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
14320                      &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
14321                        &quot;a_key&quot;: &quot;A String&quot;,
14322                      },
14323                      &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
14324                        &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
14325                          &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
14326                        },
14327                      },
14328                      &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
14329                        &quot;a_key&quot;: &quot;A String&quot;,
14330                      },
14331                      &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
14332                        &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
14333                          &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
14334                        },
14335                      },
14336                    },
14337                    &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
14338                      &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
14339                      &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
14340                        &quot;add&quot;: [ # Added capabilities +optional
14341                          &quot;A String&quot;,
14342                        ],
14343                        &quot;drop&quot;: [ # Removed capabilities +optional
14344                          &quot;A String&quot;,
14345                        ],
14346                      },
14347                      &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
14348                      &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
14349                      &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
14350                      &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
14351                      &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
14352                      &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
14353                        &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
14354                        &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
14355                        &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
14356                        &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
14357                      },
14358                    },
14359                    &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
14360                    &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
14361                    &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
14362                    &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
14363                    &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
14364                    &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
14365                      { # volumeDevice describes a mapping of a raw block device within a container.
14366                        &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
14367                        &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
14368                      },
14369                    ],
14370                    &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
14371                      { # VolumeMount describes a mounting of a Volume within a container.
14372                        &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
14373                        &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
14374                        &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
14375                        &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
14376                        &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
14377                      },
14378                    ],
14379                    &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
14380                  },
14381                ],
14382                &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
14383                &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
14384                &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources are in for this Revision. Users must not specify this when creating a revision. It is expected that the system will manipulate this based on routability and load. Populated by the system. Read-only.
14385                &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Not currently used by Cloud Run.
14386                &quot;volumes&quot;: [
14387                  { # Volume represents a named volume in a container.
14388                    &quot;configMap&quot;: { # Adapts a ConfigMap into a volume. The contents of the target ConfigMap&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.
14389                      &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
14390                      &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
14391                        { # Maps a string key to a path within a volume.
14392                          &quot;key&quot;: &quot;A String&quot;, # The key to project.
14393                          &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
14394                          &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
14395                        },
14396                      ],
14397                      &quot;name&quot;: &quot;A String&quot;, # Name of the config.
14398                      &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
14399                    },
14400                    &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
14401                    &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names.
14402                      &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
14403                      &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
14404                        { # Maps a string key to a path within a volume.
14405                          &quot;key&quot;: &quot;A String&quot;, # The key to project.
14406                          &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
14407                          &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
14408                        },
14409                      ],
14410                      &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
14411                      &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
14412                    },
14413                  },
14414                ],
14415              },
14416            },
14417          },
14418          &quot;revisionName&quot;: &quot;A String&quot;, # The revision name to pin this service to until changed to a different service type.
14419        },
14420        &quot;release&quot;: { # ServiceSpecReleaseType contains the options for slowly releasing revisions. See ServiceSpec for more details. Not currently supported by Cloud Run. # Release enables gradual promotion of new revisions by allowing traffic to be split between two revisions. This type replaces the deprecated Pinned type. Not currently supported by Cloud Run.
14421          &quot;configuration&quot;: { # ConfigurationSpec holds the desired state of the Configuration (from the client). # The configuration for this service. All revisions from this service must come from a single configuration.
14422            &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
14423            &quot;revisionTemplate&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190 # RevisionTemplate holds the latest specification for the Revision to be stamped out. The template references the container image, and may also include labels and annotations that should be attached to the Revision. To correlate a Revision, and/or to force a Revision to be created when the spec doesn&#x27;t otherwise change, a nonce label may be provided in the template metadata. For more details, see: https://github.com/knative/serving/blob/master/docs/client-conventions.md#associate-modifications-with-revisions Cloud Run does not currently support referencing a build that is responsible for materializing the container image from source.
14424              &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only). To set maximum instances for this revision, use the &quot;autoscaling.knative.dev/maxScale&quot; annotation key. To set Cloud SQL connections for the revision, use the &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be comma separated.
14425                &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
14426                  &quot;a_key&quot;: &quot;A String&quot;,
14427                },
14428                &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
14429                &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
14430                &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
14431                &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
14432                &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
14433                  &quot;A String&quot;,
14434                ],
14435                &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
14436                &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
14437                &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
14438                  &quot;a_key&quot;: &quot;A String&quot;,
14439                },
14440                &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
14441                &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
14442                &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
14443                  { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
14444                    &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
14445                    &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
14446                    &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
14447                    &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
14448                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
14449                    &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
14450                  },
14451                ],
14452                &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
14453                &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
14454                &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
14455              },
14456              &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).
14457                &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model (Single or Multi) for the Revision. Defaults to Multi. Deprecated in favor of ContainerConcurrency. +optional
14458                &quot;container&quot;: { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime. # Container defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of the fields of this Container, including: name, ports, and volumeMounts. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
14459                  &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
14460                    &quot;A String&quot;,
14461                  ],
14462                  &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
14463                    &quot;A String&quot;,
14464                  ],
14465                  &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
14466                    { # EnvVar represents an environment variable present in a Container.
14467                      &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
14468                      &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
14469                      &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
14470                        &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
14471                          &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
14472                          &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
14473                            &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
14474                          },
14475                          &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
14476                          &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
14477                        },
14478                        &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
14479                          &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
14480                          &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
14481                            &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
14482                          },
14483                          &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
14484                          &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
14485                        },
14486                      },
14487                    },
14488                  ],
14489                  &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
14490                    { # EnvFromSource represents the source of a set of ConfigMaps
14491                      &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
14492                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
14493                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
14494                        },
14495                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
14496                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
14497                      },
14498                      &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
14499                      &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
14500                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
14501                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
14502                        },
14503                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
14504                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
14505                      },
14506                    },
14507                  ],
14508                  &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
14509                  &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
14510                  &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
14511                    &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
14512                      &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
14513                        &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
14514                          &quot;A String&quot;,
14515                        ],
14516                      },
14517                      &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
14518                        &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
14519                        &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
14520                          { # HTTPHeader describes a custom header to be used in HTTP probes
14521                            &quot;name&quot;: &quot;A String&quot;, # The header field name
14522                            &quot;value&quot;: &quot;A String&quot;, # The header field value
14523                          },
14524                        ],
14525                        &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
14526                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
14527                          &quot;intVal&quot;: 42, # The int value.
14528                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
14529                          &quot;type&quot;: 42, # The type of the value.
14530                        },
14531                        &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
14532                      },
14533                      &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
14534                        &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
14535                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
14536                          &quot;intVal&quot;: 42, # The int value.
14537                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
14538                          &quot;type&quot;: 42, # The type of the value.
14539                        },
14540                      },
14541                    },
14542                    &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
14543                      &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
14544                        &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
14545                          &quot;A String&quot;,
14546                        ],
14547                      },
14548                      &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
14549                        &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
14550                        &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
14551                          { # HTTPHeader describes a custom header to be used in HTTP probes
14552                            &quot;name&quot;: &quot;A String&quot;, # The header field name
14553                            &quot;value&quot;: &quot;A String&quot;, # The header field value
14554                          },
14555                        ],
14556                        &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
14557                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
14558                          &quot;intVal&quot;: 42, # The int value.
14559                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
14560                          &quot;type&quot;: 42, # The type of the value.
14561                        },
14562                        &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
14563                      },
14564                      &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
14565                        &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
14566                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
14567                          &quot;intVal&quot;: 42, # The int value.
14568                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
14569                          &quot;type&quot;: 42, # The type of the value.
14570                        },
14571                      },
14572                    },
14573                  },
14574                  &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
14575                    &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
14576                    &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
14577                      &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
14578                        &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
14579                          &quot;A String&quot;,
14580                        ],
14581                      },
14582                      &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
14583                        &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
14584                        &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
14585                          { # HTTPHeader describes a custom header to be used in HTTP probes
14586                            &quot;name&quot;: &quot;A String&quot;, # The header field name
14587                            &quot;value&quot;: &quot;A String&quot;, # The header field value
14588                          },
14589                        ],
14590                        &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
14591                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
14592                          &quot;intVal&quot;: 42, # The int value.
14593                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
14594                          &quot;type&quot;: 42, # The type of the value.
14595                        },
14596                        &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
14597                      },
14598                      &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
14599                        &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
14600                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
14601                          &quot;intVal&quot;: 42, # The int value.
14602                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
14603                          &quot;type&quot;: 42, # The type of the value.
14604                        },
14605                      },
14606                    },
14607                    &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
14608                    &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
14609                    &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
14610                    &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
14611                  },
14612                  &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
14613                  &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
14614                    { # ContainerPort represents a network port in a single container.
14615                      &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
14616                      &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
14617                      &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
14618                      &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
14619                      &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
14620                    },
14621                  ],
14622                  &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
14623                    &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
14624                    &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
14625                      &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
14626                        &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
14627                          &quot;A String&quot;,
14628                        ],
14629                      },
14630                      &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
14631                        &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
14632                        &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
14633                          { # HTTPHeader describes a custom header to be used in HTTP probes
14634                            &quot;name&quot;: &quot;A String&quot;, # The header field name
14635                            &quot;value&quot;: &quot;A String&quot;, # The header field value
14636                          },
14637                        ],
14638                        &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
14639                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
14640                          &quot;intVal&quot;: 42, # The int value.
14641                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
14642                          &quot;type&quot;: 42, # The type of the value.
14643                        },
14644                        &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
14645                      },
14646                      &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
14647                        &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
14648                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
14649                          &quot;intVal&quot;: 42, # The int value.
14650                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
14651                          &quot;type&quot;: 42, # The type of the value.
14652                        },
14653                      },
14654                    },
14655                    &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
14656                    &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
14657                    &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
14658                    &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
14659                  },
14660                  &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
14661                    &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
14662                      &quot;a_key&quot;: &quot;A String&quot;,
14663                    },
14664                    &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
14665                      &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
14666                        &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
14667                      },
14668                    },
14669                    &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
14670                      &quot;a_key&quot;: &quot;A String&quot;,
14671                    },
14672                    &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
14673                      &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
14674                        &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
14675                      },
14676                    },
14677                  },
14678                  &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
14679                    &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
14680                    &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
14681                      &quot;add&quot;: [ # Added capabilities +optional
14682                        &quot;A String&quot;,
14683                      ],
14684                      &quot;drop&quot;: [ # Removed capabilities +optional
14685                        &quot;A String&quot;,
14686                      ],
14687                    },
14688                    &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
14689                    &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
14690                    &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
14691                    &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
14692                    &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
14693                    &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
14694                      &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
14695                      &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
14696                      &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
14697                      &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
14698                    },
14699                  },
14700                  &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
14701                  &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
14702                  &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
14703                  &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
14704                  &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
14705                  &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
14706                    { # volumeDevice describes a mapping of a raw block device within a container.
14707                      &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
14708                      &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
14709                    },
14710                  ],
14711                  &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
14712                    { # VolumeMount describes a mounting of a Volume within a container.
14713                      &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
14714                      &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
14715                      &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
14716                      &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
14717                      &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
14718                    },
14719                  ],
14720                  &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
14721                },
14722                &quot;containerConcurrency&quot;: 42, # (Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run on GKE: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
14723                &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided.
14724                  { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
14725                    &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
14726                      &quot;A String&quot;,
14727                    ],
14728                    &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
14729                      &quot;A String&quot;,
14730                    ],
14731                    &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
14732                      { # EnvVar represents an environment variable present in a Container.
14733                        &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
14734                        &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
14735                        &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
14736                          &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
14737                            &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
14738                            &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
14739                              &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
14740                            },
14741                            &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
14742                            &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
14743                          },
14744                          &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
14745                            &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
14746                            &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
14747                              &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
14748                            },
14749                            &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
14750                            &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
14751                          },
14752                        },
14753                      },
14754                    ],
14755                    &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
14756                      { # EnvFromSource represents the source of a set of ConfigMaps
14757                        &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
14758                          &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
14759                            &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
14760                          },
14761                          &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
14762                          &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
14763                        },
14764                        &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
14765                        &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
14766                          &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
14767                            &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
14768                          },
14769                          &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
14770                          &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
14771                        },
14772                      },
14773                    ],
14774                    &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
14775                    &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
14776                    &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
14777                      &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
14778                        &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
14779                          &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
14780                            &quot;A String&quot;,
14781                          ],
14782                        },
14783                        &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
14784                          &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
14785                          &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
14786                            { # HTTPHeader describes a custom header to be used in HTTP probes
14787                              &quot;name&quot;: &quot;A String&quot;, # The header field name
14788                              &quot;value&quot;: &quot;A String&quot;, # The header field value
14789                            },
14790                          ],
14791                          &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
14792                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
14793                            &quot;intVal&quot;: 42, # The int value.
14794                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
14795                            &quot;type&quot;: 42, # The type of the value.
14796                          },
14797                          &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
14798                        },
14799                        &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
14800                          &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
14801                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
14802                            &quot;intVal&quot;: 42, # The int value.
14803                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
14804                            &quot;type&quot;: 42, # The type of the value.
14805                          },
14806                        },
14807                      },
14808                      &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
14809                        &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
14810                          &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
14811                            &quot;A String&quot;,
14812                          ],
14813                        },
14814                        &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
14815                          &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
14816                          &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
14817                            { # HTTPHeader describes a custom header to be used in HTTP probes
14818                              &quot;name&quot;: &quot;A String&quot;, # The header field name
14819                              &quot;value&quot;: &quot;A String&quot;, # The header field value
14820                            },
14821                          ],
14822                          &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
14823                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
14824                            &quot;intVal&quot;: 42, # The int value.
14825                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
14826                            &quot;type&quot;: 42, # The type of the value.
14827                          },
14828                          &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
14829                        },
14830                        &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
14831                          &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
14832                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
14833                            &quot;intVal&quot;: 42, # The int value.
14834                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
14835                            &quot;type&quot;: 42, # The type of the value.
14836                          },
14837                        },
14838                      },
14839                    },
14840                    &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
14841                      &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
14842                      &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
14843                        &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
14844                          &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
14845                            &quot;A String&quot;,
14846                          ],
14847                        },
14848                        &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
14849                          &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
14850                          &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
14851                            { # HTTPHeader describes a custom header to be used in HTTP probes
14852                              &quot;name&quot;: &quot;A String&quot;, # The header field name
14853                              &quot;value&quot;: &quot;A String&quot;, # The header field value
14854                            },
14855                          ],
14856                          &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
14857                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
14858                            &quot;intVal&quot;: 42, # The int value.
14859                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
14860                            &quot;type&quot;: 42, # The type of the value.
14861                          },
14862                          &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
14863                        },
14864                        &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
14865                          &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
14866                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
14867                            &quot;intVal&quot;: 42, # The int value.
14868                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
14869                            &quot;type&quot;: 42, # The type of the value.
14870                          },
14871                        },
14872                      },
14873                      &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
14874                      &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
14875                      &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
14876                      &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
14877                    },
14878                    &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
14879                    &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
14880                      { # ContainerPort represents a network port in a single container.
14881                        &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
14882                        &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
14883                        &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
14884                        &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
14885                        &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
14886                      },
14887                    ],
14888                    &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
14889                      &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
14890                      &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
14891                        &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
14892                          &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
14893                            &quot;A String&quot;,
14894                          ],
14895                        },
14896                        &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
14897                          &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
14898                          &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
14899                            { # HTTPHeader describes a custom header to be used in HTTP probes
14900                              &quot;name&quot;: &quot;A String&quot;, # The header field name
14901                              &quot;value&quot;: &quot;A String&quot;, # The header field value
14902                            },
14903                          ],
14904                          &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
14905                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
14906                            &quot;intVal&quot;: 42, # The int value.
14907                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
14908                            &quot;type&quot;: 42, # The type of the value.
14909                          },
14910                          &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
14911                        },
14912                        &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
14913                          &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
14914                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
14915                            &quot;intVal&quot;: 42, # The int value.
14916                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
14917                            &quot;type&quot;: 42, # The type of the value.
14918                          },
14919                        },
14920                      },
14921                      &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
14922                      &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
14923                      &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
14924                      &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
14925                    },
14926                    &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
14927                      &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
14928                        &quot;a_key&quot;: &quot;A String&quot;,
14929                      },
14930                      &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
14931                        &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
14932                          &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
14933                        },
14934                      },
14935                      &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
14936                        &quot;a_key&quot;: &quot;A String&quot;,
14937                      },
14938                      &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
14939                        &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
14940                          &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
14941                        },
14942                      },
14943                    },
14944                    &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
14945                      &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
14946                      &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
14947                        &quot;add&quot;: [ # Added capabilities +optional
14948                          &quot;A String&quot;,
14949                        ],
14950                        &quot;drop&quot;: [ # Removed capabilities +optional
14951                          &quot;A String&quot;,
14952                        ],
14953                      },
14954                      &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
14955                      &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
14956                      &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
14957                      &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
14958                      &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
14959                      &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
14960                        &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
14961                        &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
14962                        &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
14963                        &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
14964                      },
14965                    },
14966                    &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
14967                    &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
14968                    &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
14969                    &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
14970                    &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
14971                    &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
14972                      { # volumeDevice describes a mapping of a raw block device within a container.
14973                        &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
14974                        &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
14975                      },
14976                    ],
14977                    &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
14978                      { # VolumeMount describes a mounting of a Volume within a container.
14979                        &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
14980                        &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
14981                        &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
14982                        &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
14983                        &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
14984                      },
14985                    ],
14986                    &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
14987                  },
14988                ],
14989                &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
14990                &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
14991                &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources are in for this Revision. Users must not specify this when creating a revision. It is expected that the system will manipulate this based on routability and load. Populated by the system. Read-only.
14992                &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Not currently used by Cloud Run.
14993                &quot;volumes&quot;: [
14994                  { # Volume represents a named volume in a container.
14995                    &quot;configMap&quot;: { # Adapts a ConfigMap into a volume. The contents of the target ConfigMap&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.
14996                      &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
14997                      &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
14998                        { # Maps a string key to a path within a volume.
14999                          &quot;key&quot;: &quot;A String&quot;, # The key to project.
15000                          &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
15001                          &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
15002                        },
15003                      ],
15004                      &quot;name&quot;: &quot;A String&quot;, # Name of the config.
15005                      &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
15006                    },
15007                    &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
15008                    &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names.
15009                      &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
15010                      &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
15011                        { # Maps a string key to a path within a volume.
15012                          &quot;key&quot;: &quot;A String&quot;, # The key to project.
15013                          &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
15014                          &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
15015                        },
15016                      ],
15017                      &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
15018                      &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
15019                    },
15020                  },
15021                ],
15022              },
15023            },
15024            &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190 # Template holds the latest specification for the Revision to be stamped out.
15025              &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only). To set maximum instances for this revision, use the &quot;autoscaling.knative.dev/maxScale&quot; annotation key. To set Cloud SQL connections for the revision, use the &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be comma separated.
15026                &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
15027                  &quot;a_key&quot;: &quot;A String&quot;,
15028                },
15029                &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
15030                &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
15031                &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
15032                &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
15033                &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
15034                  &quot;A String&quot;,
15035                ],
15036                &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
15037                &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
15038                &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
15039                  &quot;a_key&quot;: &quot;A String&quot;,
15040                },
15041                &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
15042                &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
15043                &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
15044                  { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
15045                    &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
15046                    &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
15047                    &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
15048                    &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
15049                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
15050                    &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
15051                  },
15052                ],
15053                &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
15054                &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
15055                &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
15056              },
15057              &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).
15058                &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model (Single or Multi) for the Revision. Defaults to Multi. Deprecated in favor of ContainerConcurrency. +optional
15059                &quot;container&quot;: { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime. # Container defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of the fields of this Container, including: name, ports, and volumeMounts. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
15060                  &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
15061                    &quot;A String&quot;,
15062                  ],
15063                  &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
15064                    &quot;A String&quot;,
15065                  ],
15066                  &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
15067                    { # EnvVar represents an environment variable present in a Container.
15068                      &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
15069                      &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
15070                      &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
15071                        &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
15072                          &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
15073                          &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
15074                            &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
15075                          },
15076                          &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
15077                          &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
15078                        },
15079                        &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
15080                          &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
15081                          &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
15082                            &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
15083                          },
15084                          &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
15085                          &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
15086                        },
15087                      },
15088                    },
15089                  ],
15090                  &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
15091                    { # EnvFromSource represents the source of a set of ConfigMaps
15092                      &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
15093                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
15094                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
15095                        },
15096                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
15097                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
15098                      },
15099                      &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
15100                      &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
15101                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
15102                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
15103                        },
15104                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
15105                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
15106                      },
15107                    },
15108                  ],
15109                  &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
15110                  &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
15111                  &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
15112                    &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
15113                      &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
15114                        &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
15115                          &quot;A String&quot;,
15116                        ],
15117                      },
15118                      &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
15119                        &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
15120                        &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
15121                          { # HTTPHeader describes a custom header to be used in HTTP probes
15122                            &quot;name&quot;: &quot;A String&quot;, # The header field name
15123                            &quot;value&quot;: &quot;A String&quot;, # The header field value
15124                          },
15125                        ],
15126                        &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
15127                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
15128                          &quot;intVal&quot;: 42, # The int value.
15129                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
15130                          &quot;type&quot;: 42, # The type of the value.
15131                        },
15132                        &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
15133                      },
15134                      &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
15135                        &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
15136                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
15137                          &quot;intVal&quot;: 42, # The int value.
15138                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
15139                          &quot;type&quot;: 42, # The type of the value.
15140                        },
15141                      },
15142                    },
15143                    &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
15144                      &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
15145                        &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
15146                          &quot;A String&quot;,
15147                        ],
15148                      },
15149                      &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
15150                        &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
15151                        &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
15152                          { # HTTPHeader describes a custom header to be used in HTTP probes
15153                            &quot;name&quot;: &quot;A String&quot;, # The header field name
15154                            &quot;value&quot;: &quot;A String&quot;, # The header field value
15155                          },
15156                        ],
15157                        &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
15158                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
15159                          &quot;intVal&quot;: 42, # The int value.
15160                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
15161                          &quot;type&quot;: 42, # The type of the value.
15162                        },
15163                        &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
15164                      },
15165                      &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
15166                        &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
15167                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
15168                          &quot;intVal&quot;: 42, # The int value.
15169                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
15170                          &quot;type&quot;: 42, # The type of the value.
15171                        },
15172                      },
15173                    },
15174                  },
15175                  &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
15176                    &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
15177                    &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
15178                      &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
15179                        &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
15180                          &quot;A String&quot;,
15181                        ],
15182                      },
15183                      &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
15184                        &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
15185                        &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
15186                          { # HTTPHeader describes a custom header to be used in HTTP probes
15187                            &quot;name&quot;: &quot;A String&quot;, # The header field name
15188                            &quot;value&quot;: &quot;A String&quot;, # The header field value
15189                          },
15190                        ],
15191                        &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
15192                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
15193                          &quot;intVal&quot;: 42, # The int value.
15194                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
15195                          &quot;type&quot;: 42, # The type of the value.
15196                        },
15197                        &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
15198                      },
15199                      &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
15200                        &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
15201                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
15202                          &quot;intVal&quot;: 42, # The int value.
15203                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
15204                          &quot;type&quot;: 42, # The type of the value.
15205                        },
15206                      },
15207                    },
15208                    &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
15209                    &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
15210                    &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
15211                    &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
15212                  },
15213                  &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
15214                  &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
15215                    { # ContainerPort represents a network port in a single container.
15216                      &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
15217                      &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
15218                      &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
15219                      &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
15220                      &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
15221                    },
15222                  ],
15223                  &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
15224                    &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
15225                    &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
15226                      &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
15227                        &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
15228                          &quot;A String&quot;,
15229                        ],
15230                      },
15231                      &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
15232                        &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
15233                        &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
15234                          { # HTTPHeader describes a custom header to be used in HTTP probes
15235                            &quot;name&quot;: &quot;A String&quot;, # The header field name
15236                            &quot;value&quot;: &quot;A String&quot;, # The header field value
15237                          },
15238                        ],
15239                        &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
15240                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
15241                          &quot;intVal&quot;: 42, # The int value.
15242                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
15243                          &quot;type&quot;: 42, # The type of the value.
15244                        },
15245                        &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
15246                      },
15247                      &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
15248                        &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
15249                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
15250                          &quot;intVal&quot;: 42, # The int value.
15251                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
15252                          &quot;type&quot;: 42, # The type of the value.
15253                        },
15254                      },
15255                    },
15256                    &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
15257                    &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
15258                    &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
15259                    &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
15260                  },
15261                  &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
15262                    &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
15263                      &quot;a_key&quot;: &quot;A String&quot;,
15264                    },
15265                    &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
15266                      &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
15267                        &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
15268                      },
15269                    },
15270                    &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
15271                      &quot;a_key&quot;: &quot;A String&quot;,
15272                    },
15273                    &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
15274                      &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
15275                        &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
15276                      },
15277                    },
15278                  },
15279                  &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
15280                    &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
15281                    &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
15282                      &quot;add&quot;: [ # Added capabilities +optional
15283                        &quot;A String&quot;,
15284                      ],
15285                      &quot;drop&quot;: [ # Removed capabilities +optional
15286                        &quot;A String&quot;,
15287                      ],
15288                    },
15289                    &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
15290                    &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
15291                    &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
15292                    &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
15293                    &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
15294                    &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
15295                      &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
15296                      &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
15297                      &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
15298                      &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
15299                    },
15300                  },
15301                  &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
15302                  &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
15303                  &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
15304                  &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
15305                  &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
15306                  &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
15307                    { # volumeDevice describes a mapping of a raw block device within a container.
15308                      &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
15309                      &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
15310                    },
15311                  ],
15312                  &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
15313                    { # VolumeMount describes a mounting of a Volume within a container.
15314                      &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
15315                      &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
15316                      &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
15317                      &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
15318                      &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
15319                    },
15320                  ],
15321                  &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
15322                },
15323                &quot;containerConcurrency&quot;: 42, # (Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run on GKE: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
15324                &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided.
15325                  { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
15326                    &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
15327                      &quot;A String&quot;,
15328                    ],
15329                    &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
15330                      &quot;A String&quot;,
15331                    ],
15332                    &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
15333                      { # EnvVar represents an environment variable present in a Container.
15334                        &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
15335                        &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
15336                        &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
15337                          &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
15338                            &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
15339                            &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
15340                              &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
15341                            },
15342                            &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
15343                            &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
15344                          },
15345                          &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
15346                            &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
15347                            &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
15348                              &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
15349                            },
15350                            &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
15351                            &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
15352                          },
15353                        },
15354                      },
15355                    ],
15356                    &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
15357                      { # EnvFromSource represents the source of a set of ConfigMaps
15358                        &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
15359                          &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
15360                            &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
15361                          },
15362                          &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
15363                          &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
15364                        },
15365                        &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
15366                        &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
15367                          &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
15368                            &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
15369                          },
15370                          &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
15371                          &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
15372                        },
15373                      },
15374                    ],
15375                    &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
15376                    &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
15377                    &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
15378                      &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
15379                        &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
15380                          &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
15381                            &quot;A String&quot;,
15382                          ],
15383                        },
15384                        &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
15385                          &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
15386                          &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
15387                            { # HTTPHeader describes a custom header to be used in HTTP probes
15388                              &quot;name&quot;: &quot;A String&quot;, # The header field name
15389                              &quot;value&quot;: &quot;A String&quot;, # The header field value
15390                            },
15391                          ],
15392                          &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
15393                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
15394                            &quot;intVal&quot;: 42, # The int value.
15395                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
15396                            &quot;type&quot;: 42, # The type of the value.
15397                          },
15398                          &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
15399                        },
15400                        &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
15401                          &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
15402                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
15403                            &quot;intVal&quot;: 42, # The int value.
15404                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
15405                            &quot;type&quot;: 42, # The type of the value.
15406                          },
15407                        },
15408                      },
15409                      &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
15410                        &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
15411                          &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
15412                            &quot;A String&quot;,
15413                          ],
15414                        },
15415                        &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
15416                          &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
15417                          &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
15418                            { # HTTPHeader describes a custom header to be used in HTTP probes
15419                              &quot;name&quot;: &quot;A String&quot;, # The header field name
15420                              &quot;value&quot;: &quot;A String&quot;, # The header field value
15421                            },
15422                          ],
15423                          &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
15424                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
15425                            &quot;intVal&quot;: 42, # The int value.
15426                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
15427                            &quot;type&quot;: 42, # The type of the value.
15428                          },
15429                          &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
15430                        },
15431                        &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
15432                          &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
15433                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
15434                            &quot;intVal&quot;: 42, # The int value.
15435                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
15436                            &quot;type&quot;: 42, # The type of the value.
15437                          },
15438                        },
15439                      },
15440                    },
15441                    &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
15442                      &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
15443                      &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
15444                        &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
15445                          &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
15446                            &quot;A String&quot;,
15447                          ],
15448                        },
15449                        &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
15450                          &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
15451                          &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
15452                            { # HTTPHeader describes a custom header to be used in HTTP probes
15453                              &quot;name&quot;: &quot;A String&quot;, # The header field name
15454                              &quot;value&quot;: &quot;A String&quot;, # The header field value
15455                            },
15456                          ],
15457                          &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
15458                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
15459                            &quot;intVal&quot;: 42, # The int value.
15460                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
15461                            &quot;type&quot;: 42, # The type of the value.
15462                          },
15463                          &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
15464                        },
15465                        &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
15466                          &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
15467                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
15468                            &quot;intVal&quot;: 42, # The int value.
15469                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
15470                            &quot;type&quot;: 42, # The type of the value.
15471                          },
15472                        },
15473                      },
15474                      &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
15475                      &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
15476                      &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
15477                      &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
15478                    },
15479                    &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
15480                    &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
15481                      { # ContainerPort represents a network port in a single container.
15482                        &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
15483                        &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
15484                        &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
15485                        &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
15486                        &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
15487                      },
15488                    ],
15489                    &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
15490                      &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
15491                      &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
15492                        &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
15493                          &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
15494                            &quot;A String&quot;,
15495                          ],
15496                        },
15497                        &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
15498                          &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
15499                          &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
15500                            { # HTTPHeader describes a custom header to be used in HTTP probes
15501                              &quot;name&quot;: &quot;A String&quot;, # The header field name
15502                              &quot;value&quot;: &quot;A String&quot;, # The header field value
15503                            },
15504                          ],
15505                          &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
15506                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
15507                            &quot;intVal&quot;: 42, # The int value.
15508                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
15509                            &quot;type&quot;: 42, # The type of the value.
15510                          },
15511                          &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
15512                        },
15513                        &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
15514                          &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
15515                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
15516                            &quot;intVal&quot;: 42, # The int value.
15517                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
15518                            &quot;type&quot;: 42, # The type of the value.
15519                          },
15520                        },
15521                      },
15522                      &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
15523                      &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
15524                      &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
15525                      &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
15526                    },
15527                    &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
15528                      &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
15529                        &quot;a_key&quot;: &quot;A String&quot;,
15530                      },
15531                      &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
15532                        &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
15533                          &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
15534                        },
15535                      },
15536                      &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
15537                        &quot;a_key&quot;: &quot;A String&quot;,
15538                      },
15539                      &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
15540                        &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
15541                          &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
15542                        },
15543                      },
15544                    },
15545                    &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
15546                      &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
15547                      &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
15548                        &quot;add&quot;: [ # Added capabilities +optional
15549                          &quot;A String&quot;,
15550                        ],
15551                        &quot;drop&quot;: [ # Removed capabilities +optional
15552                          &quot;A String&quot;,
15553                        ],
15554                      },
15555                      &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
15556                      &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
15557                      &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
15558                      &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
15559                      &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
15560                      &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
15561                        &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
15562                        &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
15563                        &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
15564                        &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
15565                      },
15566                    },
15567                    &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
15568                    &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
15569                    &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
15570                    &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
15571                    &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
15572                    &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
15573                      { # volumeDevice describes a mapping of a raw block device within a container.
15574                        &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
15575                        &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
15576                      },
15577                    ],
15578                    &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
15579                      { # VolumeMount describes a mounting of a Volume within a container.
15580                        &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
15581                        &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
15582                        &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
15583                        &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
15584                        &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
15585                      },
15586                    ],
15587                    &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
15588                  },
15589                ],
15590                &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
15591                &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
15592                &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources are in for this Revision. Users must not specify this when creating a revision. It is expected that the system will manipulate this based on routability and load. Populated by the system. Read-only.
15593                &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Not currently used by Cloud Run.
15594                &quot;volumes&quot;: [
15595                  { # Volume represents a named volume in a container.
15596                    &quot;configMap&quot;: { # Adapts a ConfigMap into a volume. The contents of the target ConfigMap&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.
15597                      &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
15598                      &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
15599                        { # Maps a string key to a path within a volume.
15600                          &quot;key&quot;: &quot;A String&quot;, # The key to project.
15601                          &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
15602                          &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
15603                        },
15604                      ],
15605                      &quot;name&quot;: &quot;A String&quot;, # Name of the config.
15606                      &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
15607                    },
15608                    &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
15609                    &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names.
15610                      &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
15611                      &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
15612                        { # Maps a string key to a path within a volume.
15613                          &quot;key&quot;: &quot;A String&quot;, # The key to project.
15614                          &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
15615                          &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
15616                        },
15617                      ],
15618                      &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
15619                      &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
15620                    },
15621                  },
15622                ],
15623              },
15624            },
15625          },
15626          &quot;revisions&quot;: [ # Revisions is an ordered list of 1 or 2 revisions. The first is the current revision, and the second is the candidate revision. If a single revision is provided, traffic will be pinned at that revision. &quot;@latest&quot; is a shortcut for usage that refers to the latest created revision by the configuration.
15627            &quot;A String&quot;,
15628          ],
15629          &quot;rolloutPercent&quot;: 42, # RolloutPercent is the percent of traffic that should be sent to the candidate revision, i.e. the 2nd revision in the revisions list. Valid values are between 0 and 99 inclusive.
15630        },
15631        &quot;runLatest&quot;: { # ServiceSpecRunLatest contains the options for always having a route to the latest configuration. See ServiceSpec for more details. # RunLatest defines a simple Service. It will automatically configure a route that keeps the latest ready revision from the supplied configuration running. +optional
15632          &quot;configuration&quot;: { # ConfigurationSpec holds the desired state of the Configuration (from the client). # The configuration for this service.
15633            &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
15634            &quot;revisionTemplate&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190 # RevisionTemplate holds the latest specification for the Revision to be stamped out. The template references the container image, and may also include labels and annotations that should be attached to the Revision. To correlate a Revision, and/or to force a Revision to be created when the spec doesn&#x27;t otherwise change, a nonce label may be provided in the template metadata. For more details, see: https://github.com/knative/serving/blob/master/docs/client-conventions.md#associate-modifications-with-revisions Cloud Run does not currently support referencing a build that is responsible for materializing the container image from source.
15635              &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only). To set maximum instances for this revision, use the &quot;autoscaling.knative.dev/maxScale&quot; annotation key. To set Cloud SQL connections for the revision, use the &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be comma separated.
15636                &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
15637                  &quot;a_key&quot;: &quot;A String&quot;,
15638                },
15639                &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
15640                &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
15641                &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
15642                &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
15643                &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
15644                  &quot;A String&quot;,
15645                ],
15646                &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
15647                &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
15648                &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
15649                  &quot;a_key&quot;: &quot;A String&quot;,
15650                },
15651                &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
15652                &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
15653                &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
15654                  { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
15655                    &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
15656                    &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
15657                    &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
15658                    &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
15659                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
15660                    &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
15661                  },
15662                ],
15663                &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
15664                &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
15665                &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
15666              },
15667              &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).
15668                &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model (Single or Multi) for the Revision. Defaults to Multi. Deprecated in favor of ContainerConcurrency. +optional
15669                &quot;container&quot;: { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime. # Container defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of the fields of this Container, including: name, ports, and volumeMounts. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
15670                  &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
15671                    &quot;A String&quot;,
15672                  ],
15673                  &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
15674                    &quot;A String&quot;,
15675                  ],
15676                  &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
15677                    { # EnvVar represents an environment variable present in a Container.
15678                      &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
15679                      &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
15680                      &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
15681                        &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
15682                          &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
15683                          &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
15684                            &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
15685                          },
15686                          &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
15687                          &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
15688                        },
15689                        &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
15690                          &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
15691                          &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
15692                            &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
15693                          },
15694                          &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
15695                          &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
15696                        },
15697                      },
15698                    },
15699                  ],
15700                  &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
15701                    { # EnvFromSource represents the source of a set of ConfigMaps
15702                      &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
15703                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
15704                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
15705                        },
15706                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
15707                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
15708                      },
15709                      &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
15710                      &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
15711                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
15712                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
15713                        },
15714                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
15715                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
15716                      },
15717                    },
15718                  ],
15719                  &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
15720                  &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
15721                  &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
15722                    &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
15723                      &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
15724                        &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
15725                          &quot;A String&quot;,
15726                        ],
15727                      },
15728                      &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
15729                        &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
15730                        &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
15731                          { # HTTPHeader describes a custom header to be used in HTTP probes
15732                            &quot;name&quot;: &quot;A String&quot;, # The header field name
15733                            &quot;value&quot;: &quot;A String&quot;, # The header field value
15734                          },
15735                        ],
15736                        &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
15737                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
15738                          &quot;intVal&quot;: 42, # The int value.
15739                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
15740                          &quot;type&quot;: 42, # The type of the value.
15741                        },
15742                        &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
15743                      },
15744                      &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
15745                        &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
15746                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
15747                          &quot;intVal&quot;: 42, # The int value.
15748                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
15749                          &quot;type&quot;: 42, # The type of the value.
15750                        },
15751                      },
15752                    },
15753                    &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
15754                      &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
15755                        &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
15756                          &quot;A String&quot;,
15757                        ],
15758                      },
15759                      &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
15760                        &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
15761                        &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
15762                          { # HTTPHeader describes a custom header to be used in HTTP probes
15763                            &quot;name&quot;: &quot;A String&quot;, # The header field name
15764                            &quot;value&quot;: &quot;A String&quot;, # The header field value
15765                          },
15766                        ],
15767                        &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
15768                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
15769                          &quot;intVal&quot;: 42, # The int value.
15770                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
15771                          &quot;type&quot;: 42, # The type of the value.
15772                        },
15773                        &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
15774                      },
15775                      &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
15776                        &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
15777                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
15778                          &quot;intVal&quot;: 42, # The int value.
15779                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
15780                          &quot;type&quot;: 42, # The type of the value.
15781                        },
15782                      },
15783                    },
15784                  },
15785                  &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
15786                    &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
15787                    &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
15788                      &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
15789                        &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
15790                          &quot;A String&quot;,
15791                        ],
15792                      },
15793                      &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
15794                        &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
15795                        &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
15796                          { # HTTPHeader describes a custom header to be used in HTTP probes
15797                            &quot;name&quot;: &quot;A String&quot;, # The header field name
15798                            &quot;value&quot;: &quot;A String&quot;, # The header field value
15799                          },
15800                        ],
15801                        &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
15802                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
15803                          &quot;intVal&quot;: 42, # The int value.
15804                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
15805                          &quot;type&quot;: 42, # The type of the value.
15806                        },
15807                        &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
15808                      },
15809                      &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
15810                        &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
15811                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
15812                          &quot;intVal&quot;: 42, # The int value.
15813                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
15814                          &quot;type&quot;: 42, # The type of the value.
15815                        },
15816                      },
15817                    },
15818                    &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
15819                    &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
15820                    &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
15821                    &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
15822                  },
15823                  &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
15824                  &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
15825                    { # ContainerPort represents a network port in a single container.
15826                      &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
15827                      &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
15828                      &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
15829                      &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
15830                      &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
15831                    },
15832                  ],
15833                  &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
15834                    &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
15835                    &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
15836                      &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
15837                        &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
15838                          &quot;A String&quot;,
15839                        ],
15840                      },
15841                      &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
15842                        &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
15843                        &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
15844                          { # HTTPHeader describes a custom header to be used in HTTP probes
15845                            &quot;name&quot;: &quot;A String&quot;, # The header field name
15846                            &quot;value&quot;: &quot;A String&quot;, # The header field value
15847                          },
15848                        ],
15849                        &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
15850                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
15851                          &quot;intVal&quot;: 42, # The int value.
15852                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
15853                          &quot;type&quot;: 42, # The type of the value.
15854                        },
15855                        &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
15856                      },
15857                      &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
15858                        &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
15859                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
15860                          &quot;intVal&quot;: 42, # The int value.
15861                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
15862                          &quot;type&quot;: 42, # The type of the value.
15863                        },
15864                      },
15865                    },
15866                    &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
15867                    &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
15868                    &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
15869                    &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
15870                  },
15871                  &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
15872                    &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
15873                      &quot;a_key&quot;: &quot;A String&quot;,
15874                    },
15875                    &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
15876                      &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
15877                        &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
15878                      },
15879                    },
15880                    &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
15881                      &quot;a_key&quot;: &quot;A String&quot;,
15882                    },
15883                    &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
15884                      &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
15885                        &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
15886                      },
15887                    },
15888                  },
15889                  &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
15890                    &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
15891                    &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
15892                      &quot;add&quot;: [ # Added capabilities +optional
15893                        &quot;A String&quot;,
15894                      ],
15895                      &quot;drop&quot;: [ # Removed capabilities +optional
15896                        &quot;A String&quot;,
15897                      ],
15898                    },
15899                    &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
15900                    &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
15901                    &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
15902                    &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
15903                    &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
15904                    &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
15905                      &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
15906                      &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
15907                      &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
15908                      &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
15909                    },
15910                  },
15911                  &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
15912                  &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
15913                  &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
15914                  &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
15915                  &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
15916                  &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
15917                    { # volumeDevice describes a mapping of a raw block device within a container.
15918                      &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
15919                      &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
15920                    },
15921                  ],
15922                  &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
15923                    { # VolumeMount describes a mounting of a Volume within a container.
15924                      &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
15925                      &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
15926                      &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
15927                      &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
15928                      &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
15929                    },
15930                  ],
15931                  &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
15932                },
15933                &quot;containerConcurrency&quot;: 42, # (Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run on GKE: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
15934                &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided.
15935                  { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
15936                    &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
15937                      &quot;A String&quot;,
15938                    ],
15939                    &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
15940                      &quot;A String&quot;,
15941                    ],
15942                    &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
15943                      { # EnvVar represents an environment variable present in a Container.
15944                        &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
15945                        &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
15946                        &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
15947                          &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
15948                            &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
15949                            &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
15950                              &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
15951                            },
15952                            &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
15953                            &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
15954                          },
15955                          &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
15956                            &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
15957                            &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
15958                              &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
15959                            },
15960                            &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
15961                            &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
15962                          },
15963                        },
15964                      },
15965                    ],
15966                    &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
15967                      { # EnvFromSource represents the source of a set of ConfigMaps
15968                        &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
15969                          &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
15970                            &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
15971                          },
15972                          &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
15973                          &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
15974                        },
15975                        &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
15976                        &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
15977                          &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
15978                            &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
15979                          },
15980                          &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
15981                          &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
15982                        },
15983                      },
15984                    ],
15985                    &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
15986                    &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
15987                    &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
15988                      &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
15989                        &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
15990                          &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
15991                            &quot;A String&quot;,
15992                          ],
15993                        },
15994                        &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
15995                          &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
15996                          &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
15997                            { # HTTPHeader describes a custom header to be used in HTTP probes
15998                              &quot;name&quot;: &quot;A String&quot;, # The header field name
15999                              &quot;value&quot;: &quot;A String&quot;, # The header field value
16000                            },
16001                          ],
16002                          &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
16003                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
16004                            &quot;intVal&quot;: 42, # The int value.
16005                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
16006                            &quot;type&quot;: 42, # The type of the value.
16007                          },
16008                          &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
16009                        },
16010                        &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
16011                          &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
16012                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
16013                            &quot;intVal&quot;: 42, # The int value.
16014                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
16015                            &quot;type&quot;: 42, # The type of the value.
16016                          },
16017                        },
16018                      },
16019                      &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
16020                        &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
16021                          &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
16022                            &quot;A String&quot;,
16023                          ],
16024                        },
16025                        &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
16026                          &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
16027                          &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
16028                            { # HTTPHeader describes a custom header to be used in HTTP probes
16029                              &quot;name&quot;: &quot;A String&quot;, # The header field name
16030                              &quot;value&quot;: &quot;A String&quot;, # The header field value
16031                            },
16032                          ],
16033                          &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
16034                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
16035                            &quot;intVal&quot;: 42, # The int value.
16036                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
16037                            &quot;type&quot;: 42, # The type of the value.
16038                          },
16039                          &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
16040                        },
16041                        &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
16042                          &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
16043                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
16044                            &quot;intVal&quot;: 42, # The int value.
16045                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
16046                            &quot;type&quot;: 42, # The type of the value.
16047                          },
16048                        },
16049                      },
16050                    },
16051                    &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
16052                      &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
16053                      &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
16054                        &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
16055                          &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
16056                            &quot;A String&quot;,
16057                          ],
16058                        },
16059                        &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
16060                          &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
16061                          &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
16062                            { # HTTPHeader describes a custom header to be used in HTTP probes
16063                              &quot;name&quot;: &quot;A String&quot;, # The header field name
16064                              &quot;value&quot;: &quot;A String&quot;, # The header field value
16065                            },
16066                          ],
16067                          &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
16068                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
16069                            &quot;intVal&quot;: 42, # The int value.
16070                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
16071                            &quot;type&quot;: 42, # The type of the value.
16072                          },
16073                          &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
16074                        },
16075                        &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
16076                          &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
16077                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
16078                            &quot;intVal&quot;: 42, # The int value.
16079                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
16080                            &quot;type&quot;: 42, # The type of the value.
16081                          },
16082                        },
16083                      },
16084                      &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
16085                      &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
16086                      &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
16087                      &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
16088                    },
16089                    &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
16090                    &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
16091                      { # ContainerPort represents a network port in a single container.
16092                        &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
16093                        &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
16094                        &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
16095                        &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
16096                        &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
16097                      },
16098                    ],
16099                    &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
16100                      &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
16101                      &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
16102                        &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
16103                          &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
16104                            &quot;A String&quot;,
16105                          ],
16106                        },
16107                        &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
16108                          &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
16109                          &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
16110                            { # HTTPHeader describes a custom header to be used in HTTP probes
16111                              &quot;name&quot;: &quot;A String&quot;, # The header field name
16112                              &quot;value&quot;: &quot;A String&quot;, # The header field value
16113                            },
16114                          ],
16115                          &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
16116                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
16117                            &quot;intVal&quot;: 42, # The int value.
16118                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
16119                            &quot;type&quot;: 42, # The type of the value.
16120                          },
16121                          &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
16122                        },
16123                        &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
16124                          &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
16125                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
16126                            &quot;intVal&quot;: 42, # The int value.
16127                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
16128                            &quot;type&quot;: 42, # The type of the value.
16129                          },
16130                        },
16131                      },
16132                      &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
16133                      &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
16134                      &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
16135                      &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
16136                    },
16137                    &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
16138                      &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
16139                        &quot;a_key&quot;: &quot;A String&quot;,
16140                      },
16141                      &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
16142                        &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
16143                          &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
16144                        },
16145                      },
16146                      &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
16147                        &quot;a_key&quot;: &quot;A String&quot;,
16148                      },
16149                      &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
16150                        &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
16151                          &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
16152                        },
16153                      },
16154                    },
16155                    &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
16156                      &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
16157                      &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
16158                        &quot;add&quot;: [ # Added capabilities +optional
16159                          &quot;A String&quot;,
16160                        ],
16161                        &quot;drop&quot;: [ # Removed capabilities +optional
16162                          &quot;A String&quot;,
16163                        ],
16164                      },
16165                      &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
16166                      &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
16167                      &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
16168                      &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
16169                      &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
16170                      &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
16171                        &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
16172                        &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
16173                        &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
16174                        &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
16175                      },
16176                    },
16177                    &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
16178                    &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
16179                    &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
16180                    &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
16181                    &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
16182                    &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
16183                      { # volumeDevice describes a mapping of a raw block device within a container.
16184                        &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
16185                        &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
16186                      },
16187                    ],
16188                    &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
16189                      { # VolumeMount describes a mounting of a Volume within a container.
16190                        &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
16191                        &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
16192                        &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
16193                        &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
16194                        &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
16195                      },
16196                    ],
16197                    &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
16198                  },
16199                ],
16200                &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
16201                &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
16202                &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources are in for this Revision. Users must not specify this when creating a revision. It is expected that the system will manipulate this based on routability and load. Populated by the system. Read-only.
16203                &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Not currently used by Cloud Run.
16204                &quot;volumes&quot;: [
16205                  { # Volume represents a named volume in a container.
16206                    &quot;configMap&quot;: { # Adapts a ConfigMap into a volume. The contents of the target ConfigMap&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.
16207                      &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
16208                      &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
16209                        { # Maps a string key to a path within a volume.
16210                          &quot;key&quot;: &quot;A String&quot;, # The key to project.
16211                          &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
16212                          &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
16213                        },
16214                      ],
16215                      &quot;name&quot;: &quot;A String&quot;, # Name of the config.
16216                      &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
16217                    },
16218                    &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
16219                    &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names.
16220                      &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
16221                      &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
16222                        { # Maps a string key to a path within a volume.
16223                          &quot;key&quot;: &quot;A String&quot;, # The key to project.
16224                          &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
16225                          &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
16226                        },
16227                      ],
16228                      &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
16229                      &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
16230                    },
16231                  },
16232                ],
16233              },
16234            },
16235            &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190 # Template holds the latest specification for the Revision to be stamped out.
16236              &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only). To set maximum instances for this revision, use the &quot;autoscaling.knative.dev/maxScale&quot; annotation key. To set Cloud SQL connections for the revision, use the &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be comma separated.
16237                &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
16238                  &quot;a_key&quot;: &quot;A String&quot;,
16239                },
16240                &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
16241                &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
16242                &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
16243                &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
16244                &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
16245                  &quot;A String&quot;,
16246                ],
16247                &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
16248                &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
16249                &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
16250                  &quot;a_key&quot;: &quot;A String&quot;,
16251                },
16252                &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
16253                &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
16254                &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
16255                  { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
16256                    &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
16257                    &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
16258                    &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
16259                    &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
16260                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
16261                    &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
16262                  },
16263                ],
16264                &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
16265                &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
16266                &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
16267              },
16268              &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).
16269                &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model (Single or Multi) for the Revision. Defaults to Multi. Deprecated in favor of ContainerConcurrency. +optional
16270                &quot;container&quot;: { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime. # Container defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of the fields of this Container, including: name, ports, and volumeMounts. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
16271                  &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
16272                    &quot;A String&quot;,
16273                  ],
16274                  &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
16275                    &quot;A String&quot;,
16276                  ],
16277                  &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
16278                    { # EnvVar represents an environment variable present in a Container.
16279                      &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
16280                      &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
16281                      &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
16282                        &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
16283                          &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
16284                          &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
16285                            &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
16286                          },
16287                          &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
16288                          &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
16289                        },
16290                        &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
16291                          &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
16292                          &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
16293                            &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
16294                          },
16295                          &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
16296                          &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
16297                        },
16298                      },
16299                    },
16300                  ],
16301                  &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
16302                    { # EnvFromSource represents the source of a set of ConfigMaps
16303                      &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
16304                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
16305                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
16306                        },
16307                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
16308                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
16309                      },
16310                      &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
16311                      &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
16312                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
16313                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
16314                        },
16315                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
16316                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
16317                      },
16318                    },
16319                  ],
16320                  &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
16321                  &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
16322                  &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
16323                    &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
16324                      &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
16325                        &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
16326                          &quot;A String&quot;,
16327                        ],
16328                      },
16329                      &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
16330                        &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
16331                        &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
16332                          { # HTTPHeader describes a custom header to be used in HTTP probes
16333                            &quot;name&quot;: &quot;A String&quot;, # The header field name
16334                            &quot;value&quot;: &quot;A String&quot;, # The header field value
16335                          },
16336                        ],
16337                        &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
16338                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
16339                          &quot;intVal&quot;: 42, # The int value.
16340                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
16341                          &quot;type&quot;: 42, # The type of the value.
16342                        },
16343                        &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
16344                      },
16345                      &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
16346                        &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
16347                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
16348                          &quot;intVal&quot;: 42, # The int value.
16349                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
16350                          &quot;type&quot;: 42, # The type of the value.
16351                        },
16352                      },
16353                    },
16354                    &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
16355                      &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
16356                        &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
16357                          &quot;A String&quot;,
16358                        ],
16359                      },
16360                      &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
16361                        &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
16362                        &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
16363                          { # HTTPHeader describes a custom header to be used in HTTP probes
16364                            &quot;name&quot;: &quot;A String&quot;, # The header field name
16365                            &quot;value&quot;: &quot;A String&quot;, # The header field value
16366                          },
16367                        ],
16368                        &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
16369                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
16370                          &quot;intVal&quot;: 42, # The int value.
16371                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
16372                          &quot;type&quot;: 42, # The type of the value.
16373                        },
16374                        &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
16375                      },
16376                      &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
16377                        &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
16378                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
16379                          &quot;intVal&quot;: 42, # The int value.
16380                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
16381                          &quot;type&quot;: 42, # The type of the value.
16382                        },
16383                      },
16384                    },
16385                  },
16386                  &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
16387                    &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
16388                    &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
16389                      &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
16390                        &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
16391                          &quot;A String&quot;,
16392                        ],
16393                      },
16394                      &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
16395                        &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
16396                        &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
16397                          { # HTTPHeader describes a custom header to be used in HTTP probes
16398                            &quot;name&quot;: &quot;A String&quot;, # The header field name
16399                            &quot;value&quot;: &quot;A String&quot;, # The header field value
16400                          },
16401                        ],
16402                        &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
16403                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
16404                          &quot;intVal&quot;: 42, # The int value.
16405                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
16406                          &quot;type&quot;: 42, # The type of the value.
16407                        },
16408                        &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
16409                      },
16410                      &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
16411                        &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
16412                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
16413                          &quot;intVal&quot;: 42, # The int value.
16414                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
16415                          &quot;type&quot;: 42, # The type of the value.
16416                        },
16417                      },
16418                    },
16419                    &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
16420                    &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
16421                    &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
16422                    &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
16423                  },
16424                  &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
16425                  &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
16426                    { # ContainerPort represents a network port in a single container.
16427                      &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
16428                      &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
16429                      &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
16430                      &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
16431                      &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
16432                    },
16433                  ],
16434                  &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
16435                    &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
16436                    &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
16437                      &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
16438                        &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
16439                          &quot;A String&quot;,
16440                        ],
16441                      },
16442                      &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
16443                        &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
16444                        &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
16445                          { # HTTPHeader describes a custom header to be used in HTTP probes
16446                            &quot;name&quot;: &quot;A String&quot;, # The header field name
16447                            &quot;value&quot;: &quot;A String&quot;, # The header field value
16448                          },
16449                        ],
16450                        &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
16451                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
16452                          &quot;intVal&quot;: 42, # The int value.
16453                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
16454                          &quot;type&quot;: 42, # The type of the value.
16455                        },
16456                        &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
16457                      },
16458                      &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
16459                        &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
16460                        &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
16461                          &quot;intVal&quot;: 42, # The int value.
16462                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
16463                          &quot;type&quot;: 42, # The type of the value.
16464                        },
16465                      },
16466                    },
16467                    &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
16468                    &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
16469                    &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
16470                    &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
16471                  },
16472                  &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
16473                    &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
16474                      &quot;a_key&quot;: &quot;A String&quot;,
16475                    },
16476                    &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
16477                      &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
16478                        &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
16479                      },
16480                    },
16481                    &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
16482                      &quot;a_key&quot;: &quot;A String&quot;,
16483                    },
16484                    &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
16485                      &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
16486                        &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
16487                      },
16488                    },
16489                  },
16490                  &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
16491                    &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
16492                    &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
16493                      &quot;add&quot;: [ # Added capabilities +optional
16494                        &quot;A String&quot;,
16495                      ],
16496                      &quot;drop&quot;: [ # Removed capabilities +optional
16497                        &quot;A String&quot;,
16498                      ],
16499                    },
16500                    &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
16501                    &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
16502                    &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
16503                    &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
16504                    &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
16505                    &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
16506                      &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
16507                      &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
16508                      &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
16509                      &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
16510                    },
16511                  },
16512                  &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
16513                  &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
16514                  &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
16515                  &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
16516                  &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
16517                  &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
16518                    { # volumeDevice describes a mapping of a raw block device within a container.
16519                      &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
16520                      &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
16521                    },
16522                  ],
16523                  &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
16524                    { # VolumeMount describes a mounting of a Volume within a container.
16525                      &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
16526                      &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
16527                      &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
16528                      &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
16529                      &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
16530                    },
16531                  ],
16532                  &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
16533                },
16534                &quot;containerConcurrency&quot;: 42, # (Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run on GKE: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
16535                &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided.
16536                  { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
16537                    &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
16538                      &quot;A String&quot;,
16539                    ],
16540                    &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
16541                      &quot;A String&quot;,
16542                    ],
16543                    &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
16544                      { # EnvVar represents an environment variable present in a Container.
16545                        &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
16546                        &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
16547                        &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
16548                          &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
16549                            &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
16550                            &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
16551                              &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
16552                            },
16553                            &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
16554                            &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
16555                          },
16556                          &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
16557                            &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
16558                            &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
16559                              &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
16560                            },
16561                            &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
16562                            &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
16563                          },
16564                        },
16565                      },
16566                    ],
16567                    &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
16568                      { # EnvFromSource represents the source of a set of ConfigMaps
16569                        &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
16570                          &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
16571                            &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
16572                          },
16573                          &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
16574                          &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
16575                        },
16576                        &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
16577                        &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
16578                          &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
16579                            &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
16580                          },
16581                          &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
16582                          &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
16583                        },
16584                      },
16585                    ],
16586                    &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
16587                    &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
16588                    &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
16589                      &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
16590                        &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
16591                          &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
16592                            &quot;A String&quot;,
16593                          ],
16594                        },
16595                        &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
16596                          &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
16597                          &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
16598                            { # HTTPHeader describes a custom header to be used in HTTP probes
16599                              &quot;name&quot;: &quot;A String&quot;, # The header field name
16600                              &quot;value&quot;: &quot;A String&quot;, # The header field value
16601                            },
16602                          ],
16603                          &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
16604                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
16605                            &quot;intVal&quot;: 42, # The int value.
16606                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
16607                            &quot;type&quot;: 42, # The type of the value.
16608                          },
16609                          &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
16610                        },
16611                        &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
16612                          &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
16613                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
16614                            &quot;intVal&quot;: 42, # The int value.
16615                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
16616                            &quot;type&quot;: 42, # The type of the value.
16617                          },
16618                        },
16619                      },
16620                      &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
16621                        &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
16622                          &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
16623                            &quot;A String&quot;,
16624                          ],
16625                        },
16626                        &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
16627                          &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
16628                          &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
16629                            { # HTTPHeader describes a custom header to be used in HTTP probes
16630                              &quot;name&quot;: &quot;A String&quot;, # The header field name
16631                              &quot;value&quot;: &quot;A String&quot;, # The header field value
16632                            },
16633                          ],
16634                          &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
16635                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
16636                            &quot;intVal&quot;: 42, # The int value.
16637                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
16638                            &quot;type&quot;: 42, # The type of the value.
16639                          },
16640                          &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
16641                        },
16642                        &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
16643                          &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
16644                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
16645                            &quot;intVal&quot;: 42, # The int value.
16646                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
16647                            &quot;type&quot;: 42, # The type of the value.
16648                          },
16649                        },
16650                      },
16651                    },
16652                    &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
16653                      &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
16654                      &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
16655                        &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
16656                          &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
16657                            &quot;A String&quot;,
16658                          ],
16659                        },
16660                        &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
16661                          &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
16662                          &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
16663                            { # HTTPHeader describes a custom header to be used in HTTP probes
16664                              &quot;name&quot;: &quot;A String&quot;, # The header field name
16665                              &quot;value&quot;: &quot;A String&quot;, # The header field value
16666                            },
16667                          ],
16668                          &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
16669                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
16670                            &quot;intVal&quot;: 42, # The int value.
16671                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
16672                            &quot;type&quot;: 42, # The type of the value.
16673                          },
16674                          &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
16675                        },
16676                        &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
16677                          &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
16678                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
16679                            &quot;intVal&quot;: 42, # The int value.
16680                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
16681                            &quot;type&quot;: 42, # The type of the value.
16682                          },
16683                        },
16684                      },
16685                      &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
16686                      &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
16687                      &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
16688                      &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
16689                    },
16690                    &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
16691                    &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
16692                      { # ContainerPort represents a network port in a single container.
16693                        &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
16694                        &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
16695                        &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
16696                        &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
16697                        &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
16698                      },
16699                    ],
16700                    &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
16701                      &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
16702                      &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
16703                        &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
16704                          &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
16705                            &quot;A String&quot;,
16706                          ],
16707                        },
16708                        &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
16709                          &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
16710                          &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
16711                            { # HTTPHeader describes a custom header to be used in HTTP probes
16712                              &quot;name&quot;: &quot;A String&quot;, # The header field name
16713                              &quot;value&quot;: &quot;A String&quot;, # The header field value
16714                            },
16715                          ],
16716                          &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
16717                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
16718                            &quot;intVal&quot;: 42, # The int value.
16719                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
16720                            &quot;type&quot;: 42, # The type of the value.
16721                          },
16722                          &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
16723                        },
16724                        &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
16725                          &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
16726                          &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
16727                            &quot;intVal&quot;: 42, # The int value.
16728                            &quot;strVal&quot;: &quot;A String&quot;, # The string value.
16729                            &quot;type&quot;: 42, # The type of the value.
16730                          },
16731                        },
16732                      },
16733                      &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
16734                      &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
16735                      &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
16736                      &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
16737                    },
16738                    &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
16739                      &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
16740                        &quot;a_key&quot;: &quot;A String&quot;,
16741                      },
16742                      &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
16743                        &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
16744                          &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
16745                        },
16746                      },
16747                      &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
16748                        &quot;a_key&quot;: &quot;A String&quot;,
16749                      },
16750                      &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
16751                        &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
16752                          &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
16753                        },
16754                      },
16755                    },
16756                    &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
16757                      &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
16758                      &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
16759                        &quot;add&quot;: [ # Added capabilities +optional
16760                          &quot;A String&quot;,
16761                        ],
16762                        &quot;drop&quot;: [ # Removed capabilities +optional
16763                          &quot;A String&quot;,
16764                        ],
16765                      },
16766                      &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
16767                      &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
16768                      &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
16769                      &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
16770                      &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
16771                      &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
16772                        &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
16773                        &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
16774                        &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
16775                        &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
16776                      },
16777                    },
16778                    &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
16779                    &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
16780                    &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
16781                    &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
16782                    &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
16783                    &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
16784                      { # volumeDevice describes a mapping of a raw block device within a container.
16785                        &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
16786                        &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
16787                      },
16788                    ],
16789                    &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
16790                      { # VolumeMount describes a mounting of a Volume within a container.
16791                        &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
16792                        &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
16793                        &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
16794                        &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
16795                        &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
16796                      },
16797                    ],
16798                    &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
16799                  },
16800                ],
16801                &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
16802                &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
16803                &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources are in for this Revision. Users must not specify this when creating a revision. It is expected that the system will manipulate this based on routability and load. Populated by the system. Read-only.
16804                &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Not currently used by Cloud Run.
16805                &quot;volumes&quot;: [
16806                  { # Volume represents a named volume in a container.
16807                    &quot;configMap&quot;: { # Adapts a ConfigMap into a volume. The contents of the target ConfigMap&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.
16808                      &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
16809                      &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
16810                        { # Maps a string key to a path within a volume.
16811                          &quot;key&quot;: &quot;A String&quot;, # The key to project.
16812                          &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
16813                          &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
16814                        },
16815                      ],
16816                      &quot;name&quot;: &quot;A String&quot;, # Name of the config.
16817                      &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
16818                    },
16819                    &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
16820                    &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names.
16821                      &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
16822                      &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
16823                        { # Maps a string key to a path within a volume.
16824                          &quot;key&quot;: &quot;A String&quot;, # The key to project.
16825                          &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
16826                          &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
16827                        },
16828                      ],
16829                      &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
16830                      &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
16831                    },
16832                  },
16833                ],
16834              },
16835            },
16836          },
16837        },
16838        &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190 # Template holds the latest specification for the Revision to be stamped out.
16839          &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only). To set maximum instances for this revision, use the &quot;autoscaling.knative.dev/maxScale&quot; annotation key. To set Cloud SQL connections for the revision, use the &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be comma separated.
16840            &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
16841              &quot;a_key&quot;: &quot;A String&quot;,
16842            },
16843            &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
16844            &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
16845            &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
16846            &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
16847            &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
16848              &quot;A String&quot;,
16849            ],
16850            &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
16851            &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
16852            &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
16853              &quot;a_key&quot;: &quot;A String&quot;,
16854            },
16855            &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
16856            &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
16857            &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
16858              { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
16859                &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
16860                &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
16861                &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
16862                &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
16863                &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
16864                &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
16865              },
16866            ],
16867            &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
16868            &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
16869            &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
16870          },
16871          &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).
16872            &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model (Single or Multi) for the Revision. Defaults to Multi. Deprecated in favor of ContainerConcurrency. +optional
16873            &quot;container&quot;: { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime. # Container defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of the fields of this Container, including: name, ports, and volumeMounts. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
16874              &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
16875                &quot;A String&quot;,
16876              ],
16877              &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
16878                &quot;A String&quot;,
16879              ],
16880              &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
16881                { # EnvVar represents an environment variable present in a Container.
16882                  &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
16883                  &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
16884                  &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
16885                    &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
16886                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
16887                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
16888                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
16889                      },
16890                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
16891                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
16892                    },
16893                    &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
16894                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
16895                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
16896                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
16897                      },
16898                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
16899                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
16900                    },
16901                  },
16902                },
16903              ],
16904              &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
16905                { # EnvFromSource represents the source of a set of ConfigMaps
16906                  &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
16907                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
16908                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
16909                    },
16910                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
16911                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
16912                  },
16913                  &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
16914                  &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
16915                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
16916                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
16917                    },
16918                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
16919                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
16920                  },
16921                },
16922              ],
16923              &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
16924              &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
16925              &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
16926                &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
16927                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
16928                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
16929                      &quot;A String&quot;,
16930                    ],
16931                  },
16932                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
16933                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
16934                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
16935                      { # HTTPHeader describes a custom header to be used in HTTP probes
16936                        &quot;name&quot;: &quot;A String&quot;, # The header field name
16937                        &quot;value&quot;: &quot;A String&quot;, # The header field value
16938                      },
16939                    ],
16940                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
16941                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
16942                      &quot;intVal&quot;: 42, # The int value.
16943                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
16944                      &quot;type&quot;: 42, # The type of the value.
16945                    },
16946                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
16947                  },
16948                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
16949                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
16950                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
16951                      &quot;intVal&quot;: 42, # The int value.
16952                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
16953                      &quot;type&quot;: 42, # The type of the value.
16954                    },
16955                  },
16956                },
16957                &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
16958                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
16959                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
16960                      &quot;A String&quot;,
16961                    ],
16962                  },
16963                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
16964                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
16965                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
16966                      { # HTTPHeader describes a custom header to be used in HTTP probes
16967                        &quot;name&quot;: &quot;A String&quot;, # The header field name
16968                        &quot;value&quot;: &quot;A String&quot;, # The header field value
16969                      },
16970                    ],
16971                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
16972                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
16973                      &quot;intVal&quot;: 42, # The int value.
16974                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
16975                      &quot;type&quot;: 42, # The type of the value.
16976                    },
16977                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
16978                  },
16979                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
16980                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
16981                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
16982                      &quot;intVal&quot;: 42, # The int value.
16983                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
16984                      &quot;type&quot;: 42, # The type of the value.
16985                    },
16986                  },
16987                },
16988              },
16989              &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
16990                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
16991                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
16992                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
16993                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
16994                      &quot;A String&quot;,
16995                    ],
16996                  },
16997                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
16998                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
16999                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
17000                      { # HTTPHeader describes a custom header to be used in HTTP probes
17001                        &quot;name&quot;: &quot;A String&quot;, # The header field name
17002                        &quot;value&quot;: &quot;A String&quot;, # The header field value
17003                      },
17004                    ],
17005                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
17006                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
17007                      &quot;intVal&quot;: 42, # The int value.
17008                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
17009                      &quot;type&quot;: 42, # The type of the value.
17010                    },
17011                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
17012                  },
17013                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
17014                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
17015                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
17016                      &quot;intVal&quot;: 42, # The int value.
17017                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
17018                      &quot;type&quot;: 42, # The type of the value.
17019                    },
17020                  },
17021                },
17022                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
17023                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
17024                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
17025                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
17026              },
17027              &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
17028              &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
17029                { # ContainerPort represents a network port in a single container.
17030                  &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
17031                  &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
17032                  &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
17033                  &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
17034                  &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
17035                },
17036              ],
17037              &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
17038                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
17039                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
17040                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
17041                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
17042                      &quot;A String&quot;,
17043                    ],
17044                  },
17045                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
17046                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
17047                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
17048                      { # HTTPHeader describes a custom header to be used in HTTP probes
17049                        &quot;name&quot;: &quot;A String&quot;, # The header field name
17050                        &quot;value&quot;: &quot;A String&quot;, # The header field value
17051                      },
17052                    ],
17053                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
17054                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
17055                      &quot;intVal&quot;: 42, # The int value.
17056                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
17057                      &quot;type&quot;: 42, # The type of the value.
17058                    },
17059                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
17060                  },
17061                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
17062                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
17063                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
17064                      &quot;intVal&quot;: 42, # The int value.
17065                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
17066                      &quot;type&quot;: 42, # The type of the value.
17067                    },
17068                  },
17069                },
17070                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
17071                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
17072                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
17073                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
17074              },
17075              &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
17076                &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
17077                  &quot;a_key&quot;: &quot;A String&quot;,
17078                },
17079                &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
17080                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
17081                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
17082                  },
17083                },
17084                &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
17085                  &quot;a_key&quot;: &quot;A String&quot;,
17086                },
17087                &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
17088                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
17089                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
17090                  },
17091                },
17092              },
17093              &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
17094                &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
17095                &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
17096                  &quot;add&quot;: [ # Added capabilities +optional
17097                    &quot;A String&quot;,
17098                  ],
17099                  &quot;drop&quot;: [ # Removed capabilities +optional
17100                    &quot;A String&quot;,
17101                  ],
17102                },
17103                &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
17104                &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
17105                &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
17106                &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
17107                &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
17108                &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
17109                  &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
17110                  &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
17111                  &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
17112                  &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
17113                },
17114              },
17115              &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
17116              &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
17117              &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
17118              &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
17119              &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
17120              &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
17121                { # volumeDevice describes a mapping of a raw block device within a container.
17122                  &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
17123                  &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
17124                },
17125              ],
17126              &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
17127                { # VolumeMount describes a mounting of a Volume within a container.
17128                  &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
17129                  &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
17130                  &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
17131                  &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
17132                  &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
17133                },
17134              ],
17135              &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
17136            },
17137            &quot;containerConcurrency&quot;: 42, # (Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run on GKE: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
17138            &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided.
17139              { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
17140                &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
17141                  &quot;A String&quot;,
17142                ],
17143                &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
17144                  &quot;A String&quot;,
17145                ],
17146                &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
17147                  { # EnvVar represents an environment variable present in a Container.
17148                    &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
17149                    &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
17150                    &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
17151                      &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
17152                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
17153                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
17154                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
17155                        },
17156                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
17157                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
17158                      },
17159                      &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
17160                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
17161                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
17162                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
17163                        },
17164                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
17165                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
17166                      },
17167                    },
17168                  },
17169                ],
17170                &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
17171                  { # EnvFromSource represents the source of a set of ConfigMaps
17172                    &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
17173                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
17174                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
17175                      },
17176                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
17177                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
17178                    },
17179                    &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
17180                    &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
17181                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
17182                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
17183                      },
17184                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
17185                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
17186                    },
17187                  },
17188                ],
17189                &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
17190                &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
17191                &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
17192                  &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
17193                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
17194                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
17195                        &quot;A String&quot;,
17196                      ],
17197                    },
17198                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
17199                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
17200                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
17201                        { # HTTPHeader describes a custom header to be used in HTTP probes
17202                          &quot;name&quot;: &quot;A String&quot;, # The header field name
17203                          &quot;value&quot;: &quot;A String&quot;, # The header field value
17204                        },
17205                      ],
17206                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
17207                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
17208                        &quot;intVal&quot;: 42, # The int value.
17209                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
17210                        &quot;type&quot;: 42, # The type of the value.
17211                      },
17212                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
17213                    },
17214                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
17215                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
17216                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
17217                        &quot;intVal&quot;: 42, # The int value.
17218                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
17219                        &quot;type&quot;: 42, # The type of the value.
17220                      },
17221                    },
17222                  },
17223                  &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
17224                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
17225                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
17226                        &quot;A String&quot;,
17227                      ],
17228                    },
17229                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
17230                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
17231                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
17232                        { # HTTPHeader describes a custom header to be used in HTTP probes
17233                          &quot;name&quot;: &quot;A String&quot;, # The header field name
17234                          &quot;value&quot;: &quot;A String&quot;, # The header field value
17235                        },
17236                      ],
17237                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
17238                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
17239                        &quot;intVal&quot;: 42, # The int value.
17240                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
17241                        &quot;type&quot;: 42, # The type of the value.
17242                      },
17243                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
17244                    },
17245                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
17246                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
17247                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
17248                        &quot;intVal&quot;: 42, # The int value.
17249                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
17250                        &quot;type&quot;: 42, # The type of the value.
17251                      },
17252                    },
17253                  },
17254                },
17255                &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
17256                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
17257                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
17258                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
17259                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
17260                        &quot;A String&quot;,
17261                      ],
17262                    },
17263                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
17264                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
17265                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
17266                        { # HTTPHeader describes a custom header to be used in HTTP probes
17267                          &quot;name&quot;: &quot;A String&quot;, # The header field name
17268                          &quot;value&quot;: &quot;A String&quot;, # The header field value
17269                        },
17270                      ],
17271                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
17272                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
17273                        &quot;intVal&quot;: 42, # The int value.
17274                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
17275                        &quot;type&quot;: 42, # The type of the value.
17276                      },
17277                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
17278                    },
17279                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
17280                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
17281                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
17282                        &quot;intVal&quot;: 42, # The int value.
17283                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
17284                        &quot;type&quot;: 42, # The type of the value.
17285                      },
17286                    },
17287                  },
17288                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
17289                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
17290                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
17291                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
17292                },
17293                &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
17294                &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
17295                  { # ContainerPort represents a network port in a single container.
17296                    &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
17297                    &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
17298                    &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
17299                    &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
17300                    &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
17301                  },
17302                ],
17303                &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
17304                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
17305                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
17306                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
17307                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
17308                        &quot;A String&quot;,
17309                      ],
17310                    },
17311                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
17312                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
17313                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
17314                        { # HTTPHeader describes a custom header to be used in HTTP probes
17315                          &quot;name&quot;: &quot;A String&quot;, # The header field name
17316                          &quot;value&quot;: &quot;A String&quot;, # The header field value
17317                        },
17318                      ],
17319                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
17320                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
17321                        &quot;intVal&quot;: 42, # The int value.
17322                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
17323                        &quot;type&quot;: 42, # The type of the value.
17324                      },
17325                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
17326                    },
17327                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
17328                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
17329                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
17330                        &quot;intVal&quot;: 42, # The int value.
17331                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
17332                        &quot;type&quot;: 42, # The type of the value.
17333                      },
17334                    },
17335                  },
17336                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
17337                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
17338                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
17339                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
17340                },
17341                &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
17342                  &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
17343                    &quot;a_key&quot;: &quot;A String&quot;,
17344                  },
17345                  &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
17346                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
17347                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
17348                    },
17349                  },
17350                  &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
17351                    &quot;a_key&quot;: &quot;A String&quot;,
17352                  },
17353                  &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
17354                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
17355                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
17356                    },
17357                  },
17358                },
17359                &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
17360                  &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
17361                  &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
17362                    &quot;add&quot;: [ # Added capabilities +optional
17363                      &quot;A String&quot;,
17364                    ],
17365                    &quot;drop&quot;: [ # Removed capabilities +optional
17366                      &quot;A String&quot;,
17367                    ],
17368                  },
17369                  &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
17370                  &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
17371                  &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
17372                  &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
17373                  &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
17374                  &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
17375                    &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
17376                    &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
17377                    &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
17378                    &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
17379                  },
17380                },
17381                &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
17382                &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
17383                &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
17384                &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
17385                &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
17386                &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
17387                  { # volumeDevice describes a mapping of a raw block device within a container.
17388                    &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
17389                    &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
17390                  },
17391                ],
17392                &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
17393                  { # VolumeMount describes a mounting of a Volume within a container.
17394                    &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
17395                    &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
17396                    &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
17397                    &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
17398                    &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
17399                  },
17400                ],
17401                &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
17402              },
17403            ],
17404            &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
17405            &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
17406            &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources are in for this Revision. Users must not specify this when creating a revision. It is expected that the system will manipulate this based on routability and load. Populated by the system. Read-only.
17407            &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Not currently used by Cloud Run.
17408            &quot;volumes&quot;: [
17409              { # Volume represents a named volume in a container.
17410                &quot;configMap&quot;: { # Adapts a ConfigMap into a volume. The contents of the target ConfigMap&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.
17411                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
17412                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
17413                    { # Maps a string key to a path within a volume.
17414                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
17415                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
17416                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
17417                    },
17418                  ],
17419                  &quot;name&quot;: &quot;A String&quot;, # Name of the config.
17420                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
17421                },
17422                &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
17423                &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names.
17424                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
17425                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
17426                    { # Maps a string key to a path within a volume.
17427                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
17428                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
17429                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
17430                    },
17431                  ],
17432                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
17433                  &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
17434                },
17435              },
17436            ],
17437          },
17438        },
17439        &quot;traffic&quot;: [ # Traffic specifies how to distribute traffic over a collection of Knative Revisions and Configurations.
17440          { # TrafficTarget holds a single entry of the routing table for a Route.
17441            &quot;configurationName&quot;: &quot;A String&quot;, # ConfigurationName of a configuration to whose latest revision we will send this portion of traffic. When the &quot;status.latestReadyRevisionName&quot; of the referenced configuration changes, we will automatically migrate traffic from the prior &quot;latest ready&quot; revision to the new one. This field is never set in Route&#x27;s status, only its spec. This is mutually exclusive with RevisionName. Cloud Run currently supports a single ConfigurationName.
17442            &quot;latestRevision&quot;: True or False, # LatestRevision may be optionally provided to indicate that the latest ready Revision of the Configuration should be used for this traffic target. When provided LatestRevision must be true if RevisionName is empty; it must be false when RevisionName is non-empty. +optional
17443            &quot;name&quot;: &quot;A String&quot;, # Name is optionally used to expose a dedicated hostname for referencing this target exclusively. Not currently supported by Cloud Run. +optional
17444            &quot;percent&quot;: 42, # Percent specifies percent of the traffic to this Revision or Configuration. This defaults to zero if unspecified. Cloud Run currently requires 100 percent for a single ConfigurationName TrafficTarget entry.
17445            &quot;revisionName&quot;: &quot;A String&quot;, # RevisionName of a specific revision to which to send this portion of traffic. This is mutually exclusive with ConfigurationName. Providing RevisionName in spec is not currently supported by Cloud Run.
17446            &quot;tag&quot;: &quot;A String&quot;, # Tag is optionally used to expose a dedicated url for referencing this target exclusively. Not currently supported in Cloud Run. +optional
17447            &quot;url&quot;: &quot;A String&quot;, # Output only. URL displays the URL for accessing named traffic targets. URL is displayed in status, and is disallowed on spec. URL must contain a scheme (e.g. http://) and a hostname, but may not contain anything else (e.g. basic auth, url path, etc. Not currently supported in Cloud Run.
17448          },
17449        ],
17450      },
17451      &quot;status&quot;: { # The current state of the Service. Output only. # Status communicates the observed state of the Service (from the controller).
17452        &quot;address&quot;: { # Information for connecting over HTTP(s). # From RouteStatus. Similar to url, information on where the service is available on HTTP.
17453          &quot;hostname&quot;: &quot;A String&quot;, # Deprecated - use url instead.
17454          &quot;url&quot;: &quot;A String&quot;,
17455        },
17456        &quot;conditions&quot;: [ # Conditions communicates information about ongoing/complete reconciliation processes that bring the &quot;spec&quot; inline with the observed state of the world.
17457          { # ServiceCondition defines a readiness condition for a Service.
17458            &quot;lastTransitionTime&quot;: &quot;A String&quot;, # Last time the condition transitioned from one status to another. +optional
17459            &quot;message&quot;: &quot;A String&quot;, # Human-readable message indicating details about last transition. +optional
17460            &quot;reason&quot;: &quot;A String&quot;, # One-word CamelCase reason for the condition&#x27;s last transition. +optional
17461            &quot;severity&quot;: &quot;A String&quot;, # How to interpret failures of this condition, one of Error, Warning, Info +optional
17462            &quot;status&quot;: &quot;A String&quot;, # Status of the condition, one of True, False, Unknown.
17463            &quot;type&quot;: &quot;A String&quot;, # ServiceConditionType is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types include: &quot;Ready&quot;, &quot;ConfigurationsReady&quot;, and &quot;RoutesReady&quot;. &quot;Ready&quot; will be true when the underlying Route and Configuration are ready.
17464          },
17465        ],
17466        &quot;domain&quot;: &quot;A String&quot;, # From RouteStatus. Domain holds the top-level domain that will distribute traffic over the provided targets. It generally has the form https://{route-hash}-{project-hash}-{cluster-level-suffix}.a.run.app
17467        &quot;latestCreatedRevisionName&quot;: &quot;A String&quot;, # From ConfigurationStatus. LatestCreatedRevisionName is the last revision that was created from this Service&#x27;s Configuration. It might not be ready yet, for that use LatestReadyRevisionName.
17468        &quot;latestReadyRevisionName&quot;: &quot;A String&quot;, # From ConfigurationStatus. LatestReadyRevisionName holds the name of the latest Revision stamped out from this Service&#x27;s Configuration that has had its &quot;Ready&quot; condition become &quot;True&quot;.
17469        &quot;observedGeneration&quot;: 42, # ObservedGeneration is the &#x27;Generation&#x27; of the Route that was last processed by the controller. Clients polling for completed reconciliation should poll until observedGeneration = metadata.generation and the Ready condition&#x27;s status is True or False.
17470        &quot;traffic&quot;: [ # From RouteStatus. Traffic holds the configured traffic distribution. These entries will always contain RevisionName references. When ConfigurationName appears in the spec, this will hold the LatestReadyRevisionName that we last observed.
17471          { # TrafficTarget holds a single entry of the routing table for a Route.
17472            &quot;configurationName&quot;: &quot;A String&quot;, # ConfigurationName of a configuration to whose latest revision we will send this portion of traffic. When the &quot;status.latestReadyRevisionName&quot; of the referenced configuration changes, we will automatically migrate traffic from the prior &quot;latest ready&quot; revision to the new one. This field is never set in Route&#x27;s status, only its spec. This is mutually exclusive with RevisionName. Cloud Run currently supports a single ConfigurationName.
17473            &quot;latestRevision&quot;: True or False, # LatestRevision may be optionally provided to indicate that the latest ready Revision of the Configuration should be used for this traffic target. When provided LatestRevision must be true if RevisionName is empty; it must be false when RevisionName is non-empty. +optional
17474            &quot;name&quot;: &quot;A String&quot;, # Name is optionally used to expose a dedicated hostname for referencing this target exclusively. Not currently supported by Cloud Run. +optional
17475            &quot;percent&quot;: 42, # Percent specifies percent of the traffic to this Revision or Configuration. This defaults to zero if unspecified. Cloud Run currently requires 100 percent for a single ConfigurationName TrafficTarget entry.
17476            &quot;revisionName&quot;: &quot;A String&quot;, # RevisionName of a specific revision to which to send this portion of traffic. This is mutually exclusive with ConfigurationName. Providing RevisionName in spec is not currently supported by Cloud Run.
17477            &quot;tag&quot;: &quot;A String&quot;, # Tag is optionally used to expose a dedicated url for referencing this target exclusively. Not currently supported in Cloud Run. +optional
17478            &quot;url&quot;: &quot;A String&quot;, # Output only. URL displays the URL for accessing named traffic targets. URL is displayed in status, and is disallowed on spec. URL must contain a scheme (e.g. http://) and a hostname, but may not contain anything else (e.g. basic auth, url path, etc. Not currently supported in Cloud Run.
17479          },
17480        ],
17481        &quot;url&quot;: &quot;A String&quot;, # From RouteStatus. URL holds the url that will distribute traffic over the provided traffic targets. It generally has the form https://{route-hash}-{project-hash}-{cluster-level-suffix}.a.run.app
17482      },
17483    },
17484  ],
17485  &quot;kind&quot;: &quot;A String&quot;, # The kind of this resource, in this case &quot;ServiceList&quot;.
17486  &quot;metadata&quot;: { # ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}. # Metadata associated with this Service list.
17487    &quot;continue&quot;: &quot;A String&quot;, # continue may be set if the user set a limit on the number of items returned, and indicates that the server has more data available. The value is opaque and may be used to issue another request to the endpoint that served this list to retrieve the next set of available objects. Continuing a list may not be possible if the server configuration has changed or more than a few minutes have passed. The resourceVersion field returned when using this continue value will be identical to the value in the first response.
17488    &quot;resourceVersion&quot;: &quot;A String&quot;, # String that identifies the server&#x27;s internal version of this object that can be used by clients to determine when objects have changed. Value must be treated as opaque by clients and passed unmodified back to the server. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
17489    &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional
17490  },
17491  &quot;unreachable&quot;: [ # Locations that could not be reached.
17492    &quot;A String&quot;,
17493  ],
17494}</pre>
17495</div>
17496
17497<div class="method">
17498    <code class="details" id="replaceService">replaceService(name, body=None, x__xgafv=None)</code>
17499  <pre>Rpc to replace a service. Only the spec and metadata labels and annotations are modifiable. After the Update request, Cloud Run will work to make the &#x27;status&#x27; match the requested &#x27;spec&#x27;. May provide metadata.resourceVersion to enforce update from last read for optimistic concurrency control.
17500
17501Args:
17502  name: string, The name of the service being replaced. If needed, replace {namespace_id} with the project ID. (required)
17503  body: object, The request body.
17504    The object takes the form of:
17505
17506{ # Service acts as a top-level container that manages a set of Routes and Configurations which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets). The Service&#x27;s controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#service
17507  &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1alpha1&quot;.
17508  &quot;kind&quot;: &quot;A String&quot;, # The kind of resource, in this case &quot;Service&quot;.
17509  &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Service, including name, namespace, labels, and annotations.
17510    &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
17511      &quot;a_key&quot;: &quot;A String&quot;,
17512    },
17513    &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
17514    &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
17515    &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
17516    &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
17517    &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
17518      &quot;A String&quot;,
17519    ],
17520    &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
17521    &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
17522    &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
17523      &quot;a_key&quot;: &quot;A String&quot;,
17524    },
17525    &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
17526    &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
17527    &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
17528      { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
17529        &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
17530        &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
17531        &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
17532        &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
17533        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
17534        &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
17535      },
17536    ],
17537    &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
17538    &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
17539    &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
17540  },
17541  &quot;spec&quot;: { # ServiceSpec holds the desired state of the Route (from the client), which is used to manipulate the underlying Route and Configuration(s). # Spec holds the desired state of the Service (from the client).
17542    &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
17543    &quot;manual&quot;: { # ServiceSpecManualType contains the options for configuring a manual service. See ServiceSpec for more details. Not currently supported by Cloud Run. # Manual contains the options for configuring a manual service. See ServiceSpec for more details. Not currently supported by Cloud Run.
17544    },
17545    &quot;pinned&quot;: { # ServiceSpecPinnedType Pins this service to a specific revision name. The revision must be owned by the configuration provided. Deprecated and not supported by Cloud Run. # Pins this service to a specific revision name. The revision must be owned by the configuration provided. Deprecated and not supported by Cloud Run. +optional
17546      &quot;configuration&quot;: { # ConfigurationSpec holds the desired state of the Configuration (from the client). # The configuration for this service.
17547        &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
17548        &quot;revisionTemplate&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190 # RevisionTemplate holds the latest specification for the Revision to be stamped out. The template references the container image, and may also include labels and annotations that should be attached to the Revision. To correlate a Revision, and/or to force a Revision to be created when the spec doesn&#x27;t otherwise change, a nonce label may be provided in the template metadata. For more details, see: https://github.com/knative/serving/blob/master/docs/client-conventions.md#associate-modifications-with-revisions Cloud Run does not currently support referencing a build that is responsible for materializing the container image from source.
17549          &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only). To set maximum instances for this revision, use the &quot;autoscaling.knative.dev/maxScale&quot; annotation key. To set Cloud SQL connections for the revision, use the &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be comma separated.
17550            &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
17551              &quot;a_key&quot;: &quot;A String&quot;,
17552            },
17553            &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
17554            &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
17555            &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
17556            &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
17557            &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
17558              &quot;A String&quot;,
17559            ],
17560            &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
17561            &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
17562            &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
17563              &quot;a_key&quot;: &quot;A String&quot;,
17564            },
17565            &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
17566            &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
17567            &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
17568              { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
17569                &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
17570                &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
17571                &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
17572                &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
17573                &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
17574                &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
17575              },
17576            ],
17577            &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
17578            &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
17579            &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
17580          },
17581          &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).
17582            &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model (Single or Multi) for the Revision. Defaults to Multi. Deprecated in favor of ContainerConcurrency. +optional
17583            &quot;container&quot;: { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime. # Container defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of the fields of this Container, including: name, ports, and volumeMounts. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
17584              &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
17585                &quot;A String&quot;,
17586              ],
17587              &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
17588                &quot;A String&quot;,
17589              ],
17590              &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
17591                { # EnvVar represents an environment variable present in a Container.
17592                  &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
17593                  &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
17594                  &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
17595                    &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
17596                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
17597                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
17598                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
17599                      },
17600                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
17601                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
17602                    },
17603                    &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
17604                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
17605                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
17606                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
17607                      },
17608                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
17609                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
17610                    },
17611                  },
17612                },
17613              ],
17614              &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
17615                { # EnvFromSource represents the source of a set of ConfigMaps
17616                  &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
17617                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
17618                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
17619                    },
17620                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
17621                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
17622                  },
17623                  &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
17624                  &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
17625                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
17626                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
17627                    },
17628                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
17629                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
17630                  },
17631                },
17632              ],
17633              &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
17634              &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
17635              &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
17636                &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
17637                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
17638                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
17639                      &quot;A String&quot;,
17640                    ],
17641                  },
17642                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
17643                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
17644                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
17645                      { # HTTPHeader describes a custom header to be used in HTTP probes
17646                        &quot;name&quot;: &quot;A String&quot;, # The header field name
17647                        &quot;value&quot;: &quot;A String&quot;, # The header field value
17648                      },
17649                    ],
17650                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
17651                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
17652                      &quot;intVal&quot;: 42, # The int value.
17653                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
17654                      &quot;type&quot;: 42, # The type of the value.
17655                    },
17656                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
17657                  },
17658                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
17659                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
17660                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
17661                      &quot;intVal&quot;: 42, # The int value.
17662                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
17663                      &quot;type&quot;: 42, # The type of the value.
17664                    },
17665                  },
17666                },
17667                &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
17668                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
17669                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
17670                      &quot;A String&quot;,
17671                    ],
17672                  },
17673                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
17674                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
17675                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
17676                      { # HTTPHeader describes a custom header to be used in HTTP probes
17677                        &quot;name&quot;: &quot;A String&quot;, # The header field name
17678                        &quot;value&quot;: &quot;A String&quot;, # The header field value
17679                      },
17680                    ],
17681                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
17682                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
17683                      &quot;intVal&quot;: 42, # The int value.
17684                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
17685                      &quot;type&quot;: 42, # The type of the value.
17686                    },
17687                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
17688                  },
17689                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
17690                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
17691                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
17692                      &quot;intVal&quot;: 42, # The int value.
17693                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
17694                      &quot;type&quot;: 42, # The type of the value.
17695                    },
17696                  },
17697                },
17698              },
17699              &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
17700                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
17701                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
17702                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
17703                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
17704                      &quot;A String&quot;,
17705                    ],
17706                  },
17707                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
17708                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
17709                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
17710                      { # HTTPHeader describes a custom header to be used in HTTP probes
17711                        &quot;name&quot;: &quot;A String&quot;, # The header field name
17712                        &quot;value&quot;: &quot;A String&quot;, # The header field value
17713                      },
17714                    ],
17715                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
17716                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
17717                      &quot;intVal&quot;: 42, # The int value.
17718                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
17719                      &quot;type&quot;: 42, # The type of the value.
17720                    },
17721                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
17722                  },
17723                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
17724                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
17725                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
17726                      &quot;intVal&quot;: 42, # The int value.
17727                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
17728                      &quot;type&quot;: 42, # The type of the value.
17729                    },
17730                  },
17731                },
17732                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
17733                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
17734                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
17735                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
17736              },
17737              &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
17738              &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
17739                { # ContainerPort represents a network port in a single container.
17740                  &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
17741                  &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
17742                  &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
17743                  &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
17744                  &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
17745                },
17746              ],
17747              &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
17748                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
17749                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
17750                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
17751                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
17752                      &quot;A String&quot;,
17753                    ],
17754                  },
17755                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
17756                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
17757                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
17758                      { # HTTPHeader describes a custom header to be used in HTTP probes
17759                        &quot;name&quot;: &quot;A String&quot;, # The header field name
17760                        &quot;value&quot;: &quot;A String&quot;, # The header field value
17761                      },
17762                    ],
17763                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
17764                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
17765                      &quot;intVal&quot;: 42, # The int value.
17766                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
17767                      &quot;type&quot;: 42, # The type of the value.
17768                    },
17769                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
17770                  },
17771                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
17772                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
17773                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
17774                      &quot;intVal&quot;: 42, # The int value.
17775                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
17776                      &quot;type&quot;: 42, # The type of the value.
17777                    },
17778                  },
17779                },
17780                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
17781                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
17782                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
17783                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
17784              },
17785              &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
17786                &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
17787                  &quot;a_key&quot;: &quot;A String&quot;,
17788                },
17789                &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
17790                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
17791                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
17792                  },
17793                },
17794                &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
17795                  &quot;a_key&quot;: &quot;A String&quot;,
17796                },
17797                &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
17798                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
17799                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
17800                  },
17801                },
17802              },
17803              &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
17804                &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
17805                &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
17806                  &quot;add&quot;: [ # Added capabilities +optional
17807                    &quot;A String&quot;,
17808                  ],
17809                  &quot;drop&quot;: [ # Removed capabilities +optional
17810                    &quot;A String&quot;,
17811                  ],
17812                },
17813                &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
17814                &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
17815                &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
17816                &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
17817                &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
17818                &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
17819                  &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
17820                  &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
17821                  &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
17822                  &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
17823                },
17824              },
17825              &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
17826              &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
17827              &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
17828              &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
17829              &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
17830              &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
17831                { # volumeDevice describes a mapping of a raw block device within a container.
17832                  &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
17833                  &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
17834                },
17835              ],
17836              &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
17837                { # VolumeMount describes a mounting of a Volume within a container.
17838                  &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
17839                  &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
17840                  &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
17841                  &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
17842                  &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
17843                },
17844              ],
17845              &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
17846            },
17847            &quot;containerConcurrency&quot;: 42, # (Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run on GKE: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
17848            &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided.
17849              { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
17850                &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
17851                  &quot;A String&quot;,
17852                ],
17853                &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
17854                  &quot;A String&quot;,
17855                ],
17856                &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
17857                  { # EnvVar represents an environment variable present in a Container.
17858                    &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
17859                    &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
17860                    &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
17861                      &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
17862                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
17863                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
17864                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
17865                        },
17866                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
17867                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
17868                      },
17869                      &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
17870                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
17871                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
17872                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
17873                        },
17874                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
17875                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
17876                      },
17877                    },
17878                  },
17879                ],
17880                &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
17881                  { # EnvFromSource represents the source of a set of ConfigMaps
17882                    &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
17883                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
17884                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
17885                      },
17886                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
17887                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
17888                    },
17889                    &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
17890                    &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
17891                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
17892                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
17893                      },
17894                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
17895                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
17896                    },
17897                  },
17898                ],
17899                &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
17900                &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
17901                &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
17902                  &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
17903                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
17904                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
17905                        &quot;A String&quot;,
17906                      ],
17907                    },
17908                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
17909                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
17910                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
17911                        { # HTTPHeader describes a custom header to be used in HTTP probes
17912                          &quot;name&quot;: &quot;A String&quot;, # The header field name
17913                          &quot;value&quot;: &quot;A String&quot;, # The header field value
17914                        },
17915                      ],
17916                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
17917                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
17918                        &quot;intVal&quot;: 42, # The int value.
17919                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
17920                        &quot;type&quot;: 42, # The type of the value.
17921                      },
17922                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
17923                    },
17924                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
17925                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
17926                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
17927                        &quot;intVal&quot;: 42, # The int value.
17928                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
17929                        &quot;type&quot;: 42, # The type of the value.
17930                      },
17931                    },
17932                  },
17933                  &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
17934                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
17935                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
17936                        &quot;A String&quot;,
17937                      ],
17938                    },
17939                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
17940                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
17941                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
17942                        { # HTTPHeader describes a custom header to be used in HTTP probes
17943                          &quot;name&quot;: &quot;A String&quot;, # The header field name
17944                          &quot;value&quot;: &quot;A String&quot;, # The header field value
17945                        },
17946                      ],
17947                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
17948                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
17949                        &quot;intVal&quot;: 42, # The int value.
17950                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
17951                        &quot;type&quot;: 42, # The type of the value.
17952                      },
17953                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
17954                    },
17955                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
17956                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
17957                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
17958                        &quot;intVal&quot;: 42, # The int value.
17959                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
17960                        &quot;type&quot;: 42, # The type of the value.
17961                      },
17962                    },
17963                  },
17964                },
17965                &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
17966                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
17967                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
17968                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
17969                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
17970                        &quot;A String&quot;,
17971                      ],
17972                    },
17973                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
17974                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
17975                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
17976                        { # HTTPHeader describes a custom header to be used in HTTP probes
17977                          &quot;name&quot;: &quot;A String&quot;, # The header field name
17978                          &quot;value&quot;: &quot;A String&quot;, # The header field value
17979                        },
17980                      ],
17981                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
17982                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
17983                        &quot;intVal&quot;: 42, # The int value.
17984                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
17985                        &quot;type&quot;: 42, # The type of the value.
17986                      },
17987                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
17988                    },
17989                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
17990                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
17991                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
17992                        &quot;intVal&quot;: 42, # The int value.
17993                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
17994                        &quot;type&quot;: 42, # The type of the value.
17995                      },
17996                    },
17997                  },
17998                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
17999                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
18000                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
18001                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
18002                },
18003                &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
18004                &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
18005                  { # ContainerPort represents a network port in a single container.
18006                    &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
18007                    &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
18008                    &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
18009                    &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
18010                    &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
18011                  },
18012                ],
18013                &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
18014                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
18015                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
18016                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
18017                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
18018                        &quot;A String&quot;,
18019                      ],
18020                    },
18021                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
18022                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
18023                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
18024                        { # HTTPHeader describes a custom header to be used in HTTP probes
18025                          &quot;name&quot;: &quot;A String&quot;, # The header field name
18026                          &quot;value&quot;: &quot;A String&quot;, # The header field value
18027                        },
18028                      ],
18029                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
18030                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
18031                        &quot;intVal&quot;: 42, # The int value.
18032                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
18033                        &quot;type&quot;: 42, # The type of the value.
18034                      },
18035                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
18036                    },
18037                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
18038                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
18039                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
18040                        &quot;intVal&quot;: 42, # The int value.
18041                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
18042                        &quot;type&quot;: 42, # The type of the value.
18043                      },
18044                    },
18045                  },
18046                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
18047                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
18048                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
18049                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
18050                },
18051                &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
18052                  &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
18053                    &quot;a_key&quot;: &quot;A String&quot;,
18054                  },
18055                  &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
18056                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
18057                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
18058                    },
18059                  },
18060                  &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
18061                    &quot;a_key&quot;: &quot;A String&quot;,
18062                  },
18063                  &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
18064                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
18065                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
18066                    },
18067                  },
18068                },
18069                &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
18070                  &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
18071                  &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
18072                    &quot;add&quot;: [ # Added capabilities +optional
18073                      &quot;A String&quot;,
18074                    ],
18075                    &quot;drop&quot;: [ # Removed capabilities +optional
18076                      &quot;A String&quot;,
18077                    ],
18078                  },
18079                  &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
18080                  &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
18081                  &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
18082                  &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
18083                  &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
18084                  &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
18085                    &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
18086                    &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
18087                    &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
18088                    &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
18089                  },
18090                },
18091                &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
18092                &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
18093                &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
18094                &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
18095                &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
18096                &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
18097                  { # volumeDevice describes a mapping of a raw block device within a container.
18098                    &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
18099                    &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
18100                  },
18101                ],
18102                &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
18103                  { # VolumeMount describes a mounting of a Volume within a container.
18104                    &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
18105                    &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
18106                    &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
18107                    &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
18108                    &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
18109                  },
18110                ],
18111                &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
18112              },
18113            ],
18114            &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
18115            &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
18116            &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources are in for this Revision. Users must not specify this when creating a revision. It is expected that the system will manipulate this based on routability and load. Populated by the system. Read-only.
18117            &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Not currently used by Cloud Run.
18118            &quot;volumes&quot;: [
18119              { # Volume represents a named volume in a container.
18120                &quot;configMap&quot;: { # Adapts a ConfigMap into a volume. The contents of the target ConfigMap&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.
18121                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
18122                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
18123                    { # Maps a string key to a path within a volume.
18124                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
18125                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
18126                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
18127                    },
18128                  ],
18129                  &quot;name&quot;: &quot;A String&quot;, # Name of the config.
18130                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
18131                },
18132                &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
18133                &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names.
18134                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
18135                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
18136                    { # Maps a string key to a path within a volume.
18137                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
18138                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
18139                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
18140                    },
18141                  ],
18142                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
18143                  &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
18144                },
18145              },
18146            ],
18147          },
18148        },
18149        &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190 # Template holds the latest specification for the Revision to be stamped out.
18150          &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only). To set maximum instances for this revision, use the &quot;autoscaling.knative.dev/maxScale&quot; annotation key. To set Cloud SQL connections for the revision, use the &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be comma separated.
18151            &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
18152              &quot;a_key&quot;: &quot;A String&quot;,
18153            },
18154            &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
18155            &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
18156            &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
18157            &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
18158            &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
18159              &quot;A String&quot;,
18160            ],
18161            &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
18162            &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
18163            &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
18164              &quot;a_key&quot;: &quot;A String&quot;,
18165            },
18166            &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
18167            &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
18168            &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
18169              { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
18170                &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
18171                &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
18172                &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
18173                &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
18174                &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
18175                &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
18176              },
18177            ],
18178            &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
18179            &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
18180            &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
18181          },
18182          &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).
18183            &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model (Single or Multi) for the Revision. Defaults to Multi. Deprecated in favor of ContainerConcurrency. +optional
18184            &quot;container&quot;: { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime. # Container defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of the fields of this Container, including: name, ports, and volumeMounts. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
18185              &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
18186                &quot;A String&quot;,
18187              ],
18188              &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
18189                &quot;A String&quot;,
18190              ],
18191              &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
18192                { # EnvVar represents an environment variable present in a Container.
18193                  &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
18194                  &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
18195                  &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
18196                    &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
18197                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
18198                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
18199                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
18200                      },
18201                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
18202                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
18203                    },
18204                    &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
18205                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
18206                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
18207                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
18208                      },
18209                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
18210                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
18211                    },
18212                  },
18213                },
18214              ],
18215              &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
18216                { # EnvFromSource represents the source of a set of ConfigMaps
18217                  &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
18218                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
18219                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
18220                    },
18221                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
18222                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
18223                  },
18224                  &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
18225                  &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
18226                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
18227                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
18228                    },
18229                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
18230                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
18231                  },
18232                },
18233              ],
18234              &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
18235              &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
18236              &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
18237                &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
18238                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
18239                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
18240                      &quot;A String&quot;,
18241                    ],
18242                  },
18243                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
18244                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
18245                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
18246                      { # HTTPHeader describes a custom header to be used in HTTP probes
18247                        &quot;name&quot;: &quot;A String&quot;, # The header field name
18248                        &quot;value&quot;: &quot;A String&quot;, # The header field value
18249                      },
18250                    ],
18251                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
18252                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
18253                      &quot;intVal&quot;: 42, # The int value.
18254                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
18255                      &quot;type&quot;: 42, # The type of the value.
18256                    },
18257                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
18258                  },
18259                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
18260                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
18261                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
18262                      &quot;intVal&quot;: 42, # The int value.
18263                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
18264                      &quot;type&quot;: 42, # The type of the value.
18265                    },
18266                  },
18267                },
18268                &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
18269                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
18270                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
18271                      &quot;A String&quot;,
18272                    ],
18273                  },
18274                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
18275                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
18276                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
18277                      { # HTTPHeader describes a custom header to be used in HTTP probes
18278                        &quot;name&quot;: &quot;A String&quot;, # The header field name
18279                        &quot;value&quot;: &quot;A String&quot;, # The header field value
18280                      },
18281                    ],
18282                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
18283                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
18284                      &quot;intVal&quot;: 42, # The int value.
18285                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
18286                      &quot;type&quot;: 42, # The type of the value.
18287                    },
18288                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
18289                  },
18290                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
18291                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
18292                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
18293                      &quot;intVal&quot;: 42, # The int value.
18294                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
18295                      &quot;type&quot;: 42, # The type of the value.
18296                    },
18297                  },
18298                },
18299              },
18300              &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
18301                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
18302                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
18303                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
18304                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
18305                      &quot;A String&quot;,
18306                    ],
18307                  },
18308                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
18309                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
18310                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
18311                      { # HTTPHeader describes a custom header to be used in HTTP probes
18312                        &quot;name&quot;: &quot;A String&quot;, # The header field name
18313                        &quot;value&quot;: &quot;A String&quot;, # The header field value
18314                      },
18315                    ],
18316                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
18317                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
18318                      &quot;intVal&quot;: 42, # The int value.
18319                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
18320                      &quot;type&quot;: 42, # The type of the value.
18321                    },
18322                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
18323                  },
18324                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
18325                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
18326                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
18327                      &quot;intVal&quot;: 42, # The int value.
18328                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
18329                      &quot;type&quot;: 42, # The type of the value.
18330                    },
18331                  },
18332                },
18333                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
18334                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
18335                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
18336                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
18337              },
18338              &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
18339              &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
18340                { # ContainerPort represents a network port in a single container.
18341                  &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
18342                  &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
18343                  &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
18344                  &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
18345                  &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
18346                },
18347              ],
18348              &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
18349                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
18350                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
18351                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
18352                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
18353                      &quot;A String&quot;,
18354                    ],
18355                  },
18356                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
18357                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
18358                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
18359                      { # HTTPHeader describes a custom header to be used in HTTP probes
18360                        &quot;name&quot;: &quot;A String&quot;, # The header field name
18361                        &quot;value&quot;: &quot;A String&quot;, # The header field value
18362                      },
18363                    ],
18364                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
18365                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
18366                      &quot;intVal&quot;: 42, # The int value.
18367                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
18368                      &quot;type&quot;: 42, # The type of the value.
18369                    },
18370                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
18371                  },
18372                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
18373                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
18374                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
18375                      &quot;intVal&quot;: 42, # The int value.
18376                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
18377                      &quot;type&quot;: 42, # The type of the value.
18378                    },
18379                  },
18380                },
18381                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
18382                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
18383                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
18384                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
18385              },
18386              &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
18387                &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
18388                  &quot;a_key&quot;: &quot;A String&quot;,
18389                },
18390                &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
18391                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
18392                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
18393                  },
18394                },
18395                &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
18396                  &quot;a_key&quot;: &quot;A String&quot;,
18397                },
18398                &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
18399                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
18400                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
18401                  },
18402                },
18403              },
18404              &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
18405                &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
18406                &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
18407                  &quot;add&quot;: [ # Added capabilities +optional
18408                    &quot;A String&quot;,
18409                  ],
18410                  &quot;drop&quot;: [ # Removed capabilities +optional
18411                    &quot;A String&quot;,
18412                  ],
18413                },
18414                &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
18415                &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
18416                &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
18417                &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
18418                &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
18419                &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
18420                  &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
18421                  &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
18422                  &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
18423                  &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
18424                },
18425              },
18426              &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
18427              &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
18428              &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
18429              &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
18430              &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
18431              &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
18432                { # volumeDevice describes a mapping of a raw block device within a container.
18433                  &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
18434                  &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
18435                },
18436              ],
18437              &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
18438                { # VolumeMount describes a mounting of a Volume within a container.
18439                  &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
18440                  &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
18441                  &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
18442                  &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
18443                  &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
18444                },
18445              ],
18446              &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
18447            },
18448            &quot;containerConcurrency&quot;: 42, # (Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run on GKE: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
18449            &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided.
18450              { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
18451                &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
18452                  &quot;A String&quot;,
18453                ],
18454                &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
18455                  &quot;A String&quot;,
18456                ],
18457                &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
18458                  { # EnvVar represents an environment variable present in a Container.
18459                    &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
18460                    &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
18461                    &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
18462                      &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
18463                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
18464                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
18465                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
18466                        },
18467                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
18468                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
18469                      },
18470                      &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
18471                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
18472                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
18473                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
18474                        },
18475                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
18476                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
18477                      },
18478                    },
18479                  },
18480                ],
18481                &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
18482                  { # EnvFromSource represents the source of a set of ConfigMaps
18483                    &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
18484                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
18485                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
18486                      },
18487                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
18488                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
18489                    },
18490                    &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
18491                    &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
18492                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
18493                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
18494                      },
18495                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
18496                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
18497                    },
18498                  },
18499                ],
18500                &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
18501                &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
18502                &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
18503                  &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
18504                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
18505                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
18506                        &quot;A String&quot;,
18507                      ],
18508                    },
18509                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
18510                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
18511                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
18512                        { # HTTPHeader describes a custom header to be used in HTTP probes
18513                          &quot;name&quot;: &quot;A String&quot;, # The header field name
18514                          &quot;value&quot;: &quot;A String&quot;, # The header field value
18515                        },
18516                      ],
18517                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
18518                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
18519                        &quot;intVal&quot;: 42, # The int value.
18520                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
18521                        &quot;type&quot;: 42, # The type of the value.
18522                      },
18523                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
18524                    },
18525                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
18526                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
18527                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
18528                        &quot;intVal&quot;: 42, # The int value.
18529                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
18530                        &quot;type&quot;: 42, # The type of the value.
18531                      },
18532                    },
18533                  },
18534                  &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
18535                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
18536                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
18537                        &quot;A String&quot;,
18538                      ],
18539                    },
18540                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
18541                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
18542                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
18543                        { # HTTPHeader describes a custom header to be used in HTTP probes
18544                          &quot;name&quot;: &quot;A String&quot;, # The header field name
18545                          &quot;value&quot;: &quot;A String&quot;, # The header field value
18546                        },
18547                      ],
18548                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
18549                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
18550                        &quot;intVal&quot;: 42, # The int value.
18551                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
18552                        &quot;type&quot;: 42, # The type of the value.
18553                      },
18554                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
18555                    },
18556                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
18557                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
18558                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
18559                        &quot;intVal&quot;: 42, # The int value.
18560                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
18561                        &quot;type&quot;: 42, # The type of the value.
18562                      },
18563                    },
18564                  },
18565                },
18566                &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
18567                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
18568                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
18569                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
18570                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
18571                        &quot;A String&quot;,
18572                      ],
18573                    },
18574                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
18575                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
18576                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
18577                        { # HTTPHeader describes a custom header to be used in HTTP probes
18578                          &quot;name&quot;: &quot;A String&quot;, # The header field name
18579                          &quot;value&quot;: &quot;A String&quot;, # The header field value
18580                        },
18581                      ],
18582                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
18583                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
18584                        &quot;intVal&quot;: 42, # The int value.
18585                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
18586                        &quot;type&quot;: 42, # The type of the value.
18587                      },
18588                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
18589                    },
18590                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
18591                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
18592                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
18593                        &quot;intVal&quot;: 42, # The int value.
18594                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
18595                        &quot;type&quot;: 42, # The type of the value.
18596                      },
18597                    },
18598                  },
18599                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
18600                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
18601                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
18602                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
18603                },
18604                &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
18605                &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
18606                  { # ContainerPort represents a network port in a single container.
18607                    &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
18608                    &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
18609                    &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
18610                    &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
18611                    &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
18612                  },
18613                ],
18614                &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
18615                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
18616                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
18617                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
18618                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
18619                        &quot;A String&quot;,
18620                      ],
18621                    },
18622                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
18623                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
18624                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
18625                        { # HTTPHeader describes a custom header to be used in HTTP probes
18626                          &quot;name&quot;: &quot;A String&quot;, # The header field name
18627                          &quot;value&quot;: &quot;A String&quot;, # The header field value
18628                        },
18629                      ],
18630                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
18631                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
18632                        &quot;intVal&quot;: 42, # The int value.
18633                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
18634                        &quot;type&quot;: 42, # The type of the value.
18635                      },
18636                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
18637                    },
18638                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
18639                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
18640                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
18641                        &quot;intVal&quot;: 42, # The int value.
18642                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
18643                        &quot;type&quot;: 42, # The type of the value.
18644                      },
18645                    },
18646                  },
18647                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
18648                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
18649                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
18650                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
18651                },
18652                &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
18653                  &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
18654                    &quot;a_key&quot;: &quot;A String&quot;,
18655                  },
18656                  &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
18657                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
18658                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
18659                    },
18660                  },
18661                  &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
18662                    &quot;a_key&quot;: &quot;A String&quot;,
18663                  },
18664                  &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
18665                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
18666                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
18667                    },
18668                  },
18669                },
18670                &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
18671                  &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
18672                  &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
18673                    &quot;add&quot;: [ # Added capabilities +optional
18674                      &quot;A String&quot;,
18675                    ],
18676                    &quot;drop&quot;: [ # Removed capabilities +optional
18677                      &quot;A String&quot;,
18678                    ],
18679                  },
18680                  &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
18681                  &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
18682                  &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
18683                  &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
18684                  &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
18685                  &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
18686                    &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
18687                    &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
18688                    &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
18689                    &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
18690                  },
18691                },
18692                &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
18693                &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
18694                &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
18695                &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
18696                &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
18697                &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
18698                  { # volumeDevice describes a mapping of a raw block device within a container.
18699                    &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
18700                    &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
18701                  },
18702                ],
18703                &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
18704                  { # VolumeMount describes a mounting of a Volume within a container.
18705                    &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
18706                    &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
18707                    &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
18708                    &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
18709                    &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
18710                  },
18711                ],
18712                &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
18713              },
18714            ],
18715            &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
18716            &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
18717            &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources are in for this Revision. Users must not specify this when creating a revision. It is expected that the system will manipulate this based on routability and load. Populated by the system. Read-only.
18718            &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Not currently used by Cloud Run.
18719            &quot;volumes&quot;: [
18720              { # Volume represents a named volume in a container.
18721                &quot;configMap&quot;: { # Adapts a ConfigMap into a volume. The contents of the target ConfigMap&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.
18722                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
18723                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
18724                    { # Maps a string key to a path within a volume.
18725                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
18726                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
18727                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
18728                    },
18729                  ],
18730                  &quot;name&quot;: &quot;A String&quot;, # Name of the config.
18731                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
18732                },
18733                &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
18734                &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names.
18735                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
18736                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
18737                    { # Maps a string key to a path within a volume.
18738                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
18739                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
18740                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
18741                    },
18742                  ],
18743                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
18744                  &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
18745                },
18746              },
18747            ],
18748          },
18749        },
18750      },
18751      &quot;revisionName&quot;: &quot;A String&quot;, # The revision name to pin this service to until changed to a different service type.
18752    },
18753    &quot;release&quot;: { # ServiceSpecReleaseType contains the options for slowly releasing revisions. See ServiceSpec for more details. Not currently supported by Cloud Run. # Release enables gradual promotion of new revisions by allowing traffic to be split between two revisions. This type replaces the deprecated Pinned type. Not currently supported by Cloud Run.
18754      &quot;configuration&quot;: { # ConfigurationSpec holds the desired state of the Configuration (from the client). # The configuration for this service. All revisions from this service must come from a single configuration.
18755        &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
18756        &quot;revisionTemplate&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190 # RevisionTemplate holds the latest specification for the Revision to be stamped out. The template references the container image, and may also include labels and annotations that should be attached to the Revision. To correlate a Revision, and/or to force a Revision to be created when the spec doesn&#x27;t otherwise change, a nonce label may be provided in the template metadata. For more details, see: https://github.com/knative/serving/blob/master/docs/client-conventions.md#associate-modifications-with-revisions Cloud Run does not currently support referencing a build that is responsible for materializing the container image from source.
18757          &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only). To set maximum instances for this revision, use the &quot;autoscaling.knative.dev/maxScale&quot; annotation key. To set Cloud SQL connections for the revision, use the &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be comma separated.
18758            &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
18759              &quot;a_key&quot;: &quot;A String&quot;,
18760            },
18761            &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
18762            &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
18763            &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
18764            &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
18765            &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
18766              &quot;A String&quot;,
18767            ],
18768            &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
18769            &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
18770            &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
18771              &quot;a_key&quot;: &quot;A String&quot;,
18772            },
18773            &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
18774            &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
18775            &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
18776              { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
18777                &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
18778                &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
18779                &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
18780                &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
18781                &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
18782                &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
18783              },
18784            ],
18785            &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
18786            &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
18787            &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
18788          },
18789          &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).
18790            &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model (Single or Multi) for the Revision. Defaults to Multi. Deprecated in favor of ContainerConcurrency. +optional
18791            &quot;container&quot;: { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime. # Container defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of the fields of this Container, including: name, ports, and volumeMounts. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
18792              &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
18793                &quot;A String&quot;,
18794              ],
18795              &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
18796                &quot;A String&quot;,
18797              ],
18798              &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
18799                { # EnvVar represents an environment variable present in a Container.
18800                  &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
18801                  &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
18802                  &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
18803                    &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
18804                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
18805                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
18806                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
18807                      },
18808                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
18809                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
18810                    },
18811                    &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
18812                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
18813                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
18814                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
18815                      },
18816                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
18817                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
18818                    },
18819                  },
18820                },
18821              ],
18822              &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
18823                { # EnvFromSource represents the source of a set of ConfigMaps
18824                  &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
18825                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
18826                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
18827                    },
18828                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
18829                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
18830                  },
18831                  &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
18832                  &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
18833                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
18834                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
18835                    },
18836                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
18837                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
18838                  },
18839                },
18840              ],
18841              &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
18842              &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
18843              &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
18844                &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
18845                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
18846                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
18847                      &quot;A String&quot;,
18848                    ],
18849                  },
18850                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
18851                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
18852                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
18853                      { # HTTPHeader describes a custom header to be used in HTTP probes
18854                        &quot;name&quot;: &quot;A String&quot;, # The header field name
18855                        &quot;value&quot;: &quot;A String&quot;, # The header field value
18856                      },
18857                    ],
18858                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
18859                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
18860                      &quot;intVal&quot;: 42, # The int value.
18861                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
18862                      &quot;type&quot;: 42, # The type of the value.
18863                    },
18864                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
18865                  },
18866                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
18867                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
18868                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
18869                      &quot;intVal&quot;: 42, # The int value.
18870                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
18871                      &quot;type&quot;: 42, # The type of the value.
18872                    },
18873                  },
18874                },
18875                &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
18876                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
18877                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
18878                      &quot;A String&quot;,
18879                    ],
18880                  },
18881                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
18882                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
18883                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
18884                      { # HTTPHeader describes a custom header to be used in HTTP probes
18885                        &quot;name&quot;: &quot;A String&quot;, # The header field name
18886                        &quot;value&quot;: &quot;A String&quot;, # The header field value
18887                      },
18888                    ],
18889                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
18890                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
18891                      &quot;intVal&quot;: 42, # The int value.
18892                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
18893                      &quot;type&quot;: 42, # The type of the value.
18894                    },
18895                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
18896                  },
18897                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
18898                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
18899                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
18900                      &quot;intVal&quot;: 42, # The int value.
18901                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
18902                      &quot;type&quot;: 42, # The type of the value.
18903                    },
18904                  },
18905                },
18906              },
18907              &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
18908                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
18909                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
18910                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
18911                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
18912                      &quot;A String&quot;,
18913                    ],
18914                  },
18915                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
18916                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
18917                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
18918                      { # HTTPHeader describes a custom header to be used in HTTP probes
18919                        &quot;name&quot;: &quot;A String&quot;, # The header field name
18920                        &quot;value&quot;: &quot;A String&quot;, # The header field value
18921                      },
18922                    ],
18923                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
18924                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
18925                      &quot;intVal&quot;: 42, # The int value.
18926                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
18927                      &quot;type&quot;: 42, # The type of the value.
18928                    },
18929                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
18930                  },
18931                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
18932                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
18933                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
18934                      &quot;intVal&quot;: 42, # The int value.
18935                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
18936                      &quot;type&quot;: 42, # The type of the value.
18937                    },
18938                  },
18939                },
18940                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
18941                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
18942                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
18943                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
18944              },
18945              &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
18946              &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
18947                { # ContainerPort represents a network port in a single container.
18948                  &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
18949                  &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
18950                  &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
18951                  &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
18952                  &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
18953                },
18954              ],
18955              &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
18956                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
18957                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
18958                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
18959                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
18960                      &quot;A String&quot;,
18961                    ],
18962                  },
18963                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
18964                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
18965                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
18966                      { # HTTPHeader describes a custom header to be used in HTTP probes
18967                        &quot;name&quot;: &quot;A String&quot;, # The header field name
18968                        &quot;value&quot;: &quot;A String&quot;, # The header field value
18969                      },
18970                    ],
18971                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
18972                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
18973                      &quot;intVal&quot;: 42, # The int value.
18974                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
18975                      &quot;type&quot;: 42, # The type of the value.
18976                    },
18977                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
18978                  },
18979                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
18980                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
18981                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
18982                      &quot;intVal&quot;: 42, # The int value.
18983                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
18984                      &quot;type&quot;: 42, # The type of the value.
18985                    },
18986                  },
18987                },
18988                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
18989                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
18990                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
18991                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
18992              },
18993              &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
18994                &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
18995                  &quot;a_key&quot;: &quot;A String&quot;,
18996                },
18997                &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
18998                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
18999                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
19000                  },
19001                },
19002                &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
19003                  &quot;a_key&quot;: &quot;A String&quot;,
19004                },
19005                &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
19006                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
19007                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
19008                  },
19009                },
19010              },
19011              &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
19012                &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
19013                &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
19014                  &quot;add&quot;: [ # Added capabilities +optional
19015                    &quot;A String&quot;,
19016                  ],
19017                  &quot;drop&quot;: [ # Removed capabilities +optional
19018                    &quot;A String&quot;,
19019                  ],
19020                },
19021                &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
19022                &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
19023                &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
19024                &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
19025                &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
19026                &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
19027                  &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
19028                  &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
19029                  &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
19030                  &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
19031                },
19032              },
19033              &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
19034              &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
19035              &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
19036              &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
19037              &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
19038              &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
19039                { # volumeDevice describes a mapping of a raw block device within a container.
19040                  &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
19041                  &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
19042                },
19043              ],
19044              &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
19045                { # VolumeMount describes a mounting of a Volume within a container.
19046                  &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
19047                  &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
19048                  &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
19049                  &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
19050                  &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
19051                },
19052              ],
19053              &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
19054            },
19055            &quot;containerConcurrency&quot;: 42, # (Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run on GKE: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
19056            &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided.
19057              { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
19058                &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
19059                  &quot;A String&quot;,
19060                ],
19061                &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
19062                  &quot;A String&quot;,
19063                ],
19064                &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
19065                  { # EnvVar represents an environment variable present in a Container.
19066                    &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
19067                    &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
19068                    &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
19069                      &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
19070                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
19071                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
19072                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
19073                        },
19074                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
19075                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
19076                      },
19077                      &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
19078                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
19079                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
19080                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
19081                        },
19082                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
19083                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
19084                      },
19085                    },
19086                  },
19087                ],
19088                &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
19089                  { # EnvFromSource represents the source of a set of ConfigMaps
19090                    &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
19091                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
19092                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
19093                      },
19094                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
19095                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
19096                    },
19097                    &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
19098                    &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
19099                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
19100                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
19101                      },
19102                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
19103                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
19104                    },
19105                  },
19106                ],
19107                &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
19108                &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
19109                &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
19110                  &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
19111                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
19112                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
19113                        &quot;A String&quot;,
19114                      ],
19115                    },
19116                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
19117                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
19118                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
19119                        { # HTTPHeader describes a custom header to be used in HTTP probes
19120                          &quot;name&quot;: &quot;A String&quot;, # The header field name
19121                          &quot;value&quot;: &quot;A String&quot;, # The header field value
19122                        },
19123                      ],
19124                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
19125                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
19126                        &quot;intVal&quot;: 42, # The int value.
19127                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
19128                        &quot;type&quot;: 42, # The type of the value.
19129                      },
19130                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
19131                    },
19132                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
19133                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
19134                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
19135                        &quot;intVal&quot;: 42, # The int value.
19136                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
19137                        &quot;type&quot;: 42, # The type of the value.
19138                      },
19139                    },
19140                  },
19141                  &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
19142                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
19143                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
19144                        &quot;A String&quot;,
19145                      ],
19146                    },
19147                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
19148                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
19149                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
19150                        { # HTTPHeader describes a custom header to be used in HTTP probes
19151                          &quot;name&quot;: &quot;A String&quot;, # The header field name
19152                          &quot;value&quot;: &quot;A String&quot;, # The header field value
19153                        },
19154                      ],
19155                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
19156                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
19157                        &quot;intVal&quot;: 42, # The int value.
19158                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
19159                        &quot;type&quot;: 42, # The type of the value.
19160                      },
19161                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
19162                    },
19163                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
19164                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
19165                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
19166                        &quot;intVal&quot;: 42, # The int value.
19167                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
19168                        &quot;type&quot;: 42, # The type of the value.
19169                      },
19170                    },
19171                  },
19172                },
19173                &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
19174                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
19175                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
19176                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
19177                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
19178                        &quot;A String&quot;,
19179                      ],
19180                    },
19181                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
19182                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
19183                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
19184                        { # HTTPHeader describes a custom header to be used in HTTP probes
19185                          &quot;name&quot;: &quot;A String&quot;, # The header field name
19186                          &quot;value&quot;: &quot;A String&quot;, # The header field value
19187                        },
19188                      ],
19189                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
19190                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
19191                        &quot;intVal&quot;: 42, # The int value.
19192                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
19193                        &quot;type&quot;: 42, # The type of the value.
19194                      },
19195                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
19196                    },
19197                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
19198                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
19199                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
19200                        &quot;intVal&quot;: 42, # The int value.
19201                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
19202                        &quot;type&quot;: 42, # The type of the value.
19203                      },
19204                    },
19205                  },
19206                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
19207                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
19208                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
19209                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
19210                },
19211                &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
19212                &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
19213                  { # ContainerPort represents a network port in a single container.
19214                    &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
19215                    &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
19216                    &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
19217                    &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
19218                    &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
19219                  },
19220                ],
19221                &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
19222                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
19223                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
19224                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
19225                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
19226                        &quot;A String&quot;,
19227                      ],
19228                    },
19229                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
19230                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
19231                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
19232                        { # HTTPHeader describes a custom header to be used in HTTP probes
19233                          &quot;name&quot;: &quot;A String&quot;, # The header field name
19234                          &quot;value&quot;: &quot;A String&quot;, # The header field value
19235                        },
19236                      ],
19237                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
19238                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
19239                        &quot;intVal&quot;: 42, # The int value.
19240                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
19241                        &quot;type&quot;: 42, # The type of the value.
19242                      },
19243                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
19244                    },
19245                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
19246                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
19247                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
19248                        &quot;intVal&quot;: 42, # The int value.
19249                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
19250                        &quot;type&quot;: 42, # The type of the value.
19251                      },
19252                    },
19253                  },
19254                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
19255                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
19256                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
19257                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
19258                },
19259                &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
19260                  &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
19261                    &quot;a_key&quot;: &quot;A String&quot;,
19262                  },
19263                  &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
19264                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
19265                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
19266                    },
19267                  },
19268                  &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
19269                    &quot;a_key&quot;: &quot;A String&quot;,
19270                  },
19271                  &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
19272                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
19273                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
19274                    },
19275                  },
19276                },
19277                &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
19278                  &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
19279                  &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
19280                    &quot;add&quot;: [ # Added capabilities +optional
19281                      &quot;A String&quot;,
19282                    ],
19283                    &quot;drop&quot;: [ # Removed capabilities +optional
19284                      &quot;A String&quot;,
19285                    ],
19286                  },
19287                  &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
19288                  &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
19289                  &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
19290                  &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
19291                  &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
19292                  &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
19293                    &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
19294                    &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
19295                    &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
19296                    &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
19297                  },
19298                },
19299                &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
19300                &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
19301                &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
19302                &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
19303                &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
19304                &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
19305                  { # volumeDevice describes a mapping of a raw block device within a container.
19306                    &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
19307                    &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
19308                  },
19309                ],
19310                &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
19311                  { # VolumeMount describes a mounting of a Volume within a container.
19312                    &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
19313                    &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
19314                    &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
19315                    &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
19316                    &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
19317                  },
19318                ],
19319                &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
19320              },
19321            ],
19322            &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
19323            &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
19324            &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources are in for this Revision. Users must not specify this when creating a revision. It is expected that the system will manipulate this based on routability and load. Populated by the system. Read-only.
19325            &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Not currently used by Cloud Run.
19326            &quot;volumes&quot;: [
19327              { # Volume represents a named volume in a container.
19328                &quot;configMap&quot;: { # Adapts a ConfigMap into a volume. The contents of the target ConfigMap&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.
19329                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
19330                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
19331                    { # Maps a string key to a path within a volume.
19332                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
19333                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
19334                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
19335                    },
19336                  ],
19337                  &quot;name&quot;: &quot;A String&quot;, # Name of the config.
19338                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
19339                },
19340                &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
19341                &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names.
19342                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
19343                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
19344                    { # Maps a string key to a path within a volume.
19345                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
19346                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
19347                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
19348                    },
19349                  ],
19350                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
19351                  &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
19352                },
19353              },
19354            ],
19355          },
19356        },
19357        &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190 # Template holds the latest specification for the Revision to be stamped out.
19358          &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only). To set maximum instances for this revision, use the &quot;autoscaling.knative.dev/maxScale&quot; annotation key. To set Cloud SQL connections for the revision, use the &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be comma separated.
19359            &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
19360              &quot;a_key&quot;: &quot;A String&quot;,
19361            },
19362            &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
19363            &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
19364            &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
19365            &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
19366            &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
19367              &quot;A String&quot;,
19368            ],
19369            &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
19370            &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
19371            &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
19372              &quot;a_key&quot;: &quot;A String&quot;,
19373            },
19374            &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
19375            &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
19376            &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
19377              { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
19378                &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
19379                &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
19380                &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
19381                &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
19382                &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
19383                &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
19384              },
19385            ],
19386            &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
19387            &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
19388            &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
19389          },
19390          &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).
19391            &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model (Single or Multi) for the Revision. Defaults to Multi. Deprecated in favor of ContainerConcurrency. +optional
19392            &quot;container&quot;: { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime. # Container defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of the fields of this Container, including: name, ports, and volumeMounts. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
19393              &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
19394                &quot;A String&quot;,
19395              ],
19396              &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
19397                &quot;A String&quot;,
19398              ],
19399              &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
19400                { # EnvVar represents an environment variable present in a Container.
19401                  &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
19402                  &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
19403                  &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
19404                    &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
19405                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
19406                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
19407                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
19408                      },
19409                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
19410                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
19411                    },
19412                    &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
19413                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
19414                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
19415                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
19416                      },
19417                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
19418                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
19419                    },
19420                  },
19421                },
19422              ],
19423              &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
19424                { # EnvFromSource represents the source of a set of ConfigMaps
19425                  &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
19426                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
19427                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
19428                    },
19429                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
19430                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
19431                  },
19432                  &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
19433                  &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
19434                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
19435                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
19436                    },
19437                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
19438                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
19439                  },
19440                },
19441              ],
19442              &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
19443              &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
19444              &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
19445                &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
19446                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
19447                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
19448                      &quot;A String&quot;,
19449                    ],
19450                  },
19451                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
19452                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
19453                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
19454                      { # HTTPHeader describes a custom header to be used in HTTP probes
19455                        &quot;name&quot;: &quot;A String&quot;, # The header field name
19456                        &quot;value&quot;: &quot;A String&quot;, # The header field value
19457                      },
19458                    ],
19459                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
19460                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
19461                      &quot;intVal&quot;: 42, # The int value.
19462                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
19463                      &quot;type&quot;: 42, # The type of the value.
19464                    },
19465                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
19466                  },
19467                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
19468                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
19469                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
19470                      &quot;intVal&quot;: 42, # The int value.
19471                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
19472                      &quot;type&quot;: 42, # The type of the value.
19473                    },
19474                  },
19475                },
19476                &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
19477                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
19478                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
19479                      &quot;A String&quot;,
19480                    ],
19481                  },
19482                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
19483                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
19484                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
19485                      { # HTTPHeader describes a custom header to be used in HTTP probes
19486                        &quot;name&quot;: &quot;A String&quot;, # The header field name
19487                        &quot;value&quot;: &quot;A String&quot;, # The header field value
19488                      },
19489                    ],
19490                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
19491                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
19492                      &quot;intVal&quot;: 42, # The int value.
19493                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
19494                      &quot;type&quot;: 42, # The type of the value.
19495                    },
19496                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
19497                  },
19498                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
19499                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
19500                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
19501                      &quot;intVal&quot;: 42, # The int value.
19502                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
19503                      &quot;type&quot;: 42, # The type of the value.
19504                    },
19505                  },
19506                },
19507              },
19508              &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
19509                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
19510                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
19511                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
19512                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
19513                      &quot;A String&quot;,
19514                    ],
19515                  },
19516                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
19517                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
19518                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
19519                      { # HTTPHeader describes a custom header to be used in HTTP probes
19520                        &quot;name&quot;: &quot;A String&quot;, # The header field name
19521                        &quot;value&quot;: &quot;A String&quot;, # The header field value
19522                      },
19523                    ],
19524                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
19525                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
19526                      &quot;intVal&quot;: 42, # The int value.
19527                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
19528                      &quot;type&quot;: 42, # The type of the value.
19529                    },
19530                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
19531                  },
19532                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
19533                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
19534                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
19535                      &quot;intVal&quot;: 42, # The int value.
19536                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
19537                      &quot;type&quot;: 42, # The type of the value.
19538                    },
19539                  },
19540                },
19541                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
19542                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
19543                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
19544                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
19545              },
19546              &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
19547              &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
19548                { # ContainerPort represents a network port in a single container.
19549                  &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
19550                  &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
19551                  &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
19552                  &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
19553                  &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
19554                },
19555              ],
19556              &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
19557                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
19558                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
19559                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
19560                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
19561                      &quot;A String&quot;,
19562                    ],
19563                  },
19564                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
19565                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
19566                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
19567                      { # HTTPHeader describes a custom header to be used in HTTP probes
19568                        &quot;name&quot;: &quot;A String&quot;, # The header field name
19569                        &quot;value&quot;: &quot;A String&quot;, # The header field value
19570                      },
19571                    ],
19572                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
19573                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
19574                      &quot;intVal&quot;: 42, # The int value.
19575                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
19576                      &quot;type&quot;: 42, # The type of the value.
19577                    },
19578                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
19579                  },
19580                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
19581                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
19582                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
19583                      &quot;intVal&quot;: 42, # The int value.
19584                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
19585                      &quot;type&quot;: 42, # The type of the value.
19586                    },
19587                  },
19588                },
19589                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
19590                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
19591                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
19592                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
19593              },
19594              &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
19595                &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
19596                  &quot;a_key&quot;: &quot;A String&quot;,
19597                },
19598                &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
19599                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
19600                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
19601                  },
19602                },
19603                &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
19604                  &quot;a_key&quot;: &quot;A String&quot;,
19605                },
19606                &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
19607                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
19608                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
19609                  },
19610                },
19611              },
19612              &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
19613                &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
19614                &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
19615                  &quot;add&quot;: [ # Added capabilities +optional
19616                    &quot;A String&quot;,
19617                  ],
19618                  &quot;drop&quot;: [ # Removed capabilities +optional
19619                    &quot;A String&quot;,
19620                  ],
19621                },
19622                &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
19623                &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
19624                &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
19625                &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
19626                &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
19627                &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
19628                  &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
19629                  &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
19630                  &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
19631                  &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
19632                },
19633              },
19634              &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
19635              &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
19636              &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
19637              &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
19638              &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
19639              &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
19640                { # volumeDevice describes a mapping of a raw block device within a container.
19641                  &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
19642                  &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
19643                },
19644              ],
19645              &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
19646                { # VolumeMount describes a mounting of a Volume within a container.
19647                  &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
19648                  &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
19649                  &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
19650                  &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
19651                  &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
19652                },
19653              ],
19654              &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
19655            },
19656            &quot;containerConcurrency&quot;: 42, # (Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run on GKE: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
19657            &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided.
19658              { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
19659                &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
19660                  &quot;A String&quot;,
19661                ],
19662                &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
19663                  &quot;A String&quot;,
19664                ],
19665                &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
19666                  { # EnvVar represents an environment variable present in a Container.
19667                    &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
19668                    &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
19669                    &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
19670                      &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
19671                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
19672                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
19673                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
19674                        },
19675                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
19676                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
19677                      },
19678                      &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
19679                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
19680                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
19681                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
19682                        },
19683                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
19684                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
19685                      },
19686                    },
19687                  },
19688                ],
19689                &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
19690                  { # EnvFromSource represents the source of a set of ConfigMaps
19691                    &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
19692                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
19693                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
19694                      },
19695                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
19696                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
19697                    },
19698                    &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
19699                    &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
19700                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
19701                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
19702                      },
19703                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
19704                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
19705                    },
19706                  },
19707                ],
19708                &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
19709                &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
19710                &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
19711                  &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
19712                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
19713                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
19714                        &quot;A String&quot;,
19715                      ],
19716                    },
19717                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
19718                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
19719                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
19720                        { # HTTPHeader describes a custom header to be used in HTTP probes
19721                          &quot;name&quot;: &quot;A String&quot;, # The header field name
19722                          &quot;value&quot;: &quot;A String&quot;, # The header field value
19723                        },
19724                      ],
19725                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
19726                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
19727                        &quot;intVal&quot;: 42, # The int value.
19728                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
19729                        &quot;type&quot;: 42, # The type of the value.
19730                      },
19731                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
19732                    },
19733                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
19734                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
19735                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
19736                        &quot;intVal&quot;: 42, # The int value.
19737                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
19738                        &quot;type&quot;: 42, # The type of the value.
19739                      },
19740                    },
19741                  },
19742                  &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
19743                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
19744                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
19745                        &quot;A String&quot;,
19746                      ],
19747                    },
19748                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
19749                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
19750                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
19751                        { # HTTPHeader describes a custom header to be used in HTTP probes
19752                          &quot;name&quot;: &quot;A String&quot;, # The header field name
19753                          &quot;value&quot;: &quot;A String&quot;, # The header field value
19754                        },
19755                      ],
19756                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
19757                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
19758                        &quot;intVal&quot;: 42, # The int value.
19759                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
19760                        &quot;type&quot;: 42, # The type of the value.
19761                      },
19762                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
19763                    },
19764                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
19765                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
19766                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
19767                        &quot;intVal&quot;: 42, # The int value.
19768                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
19769                        &quot;type&quot;: 42, # The type of the value.
19770                      },
19771                    },
19772                  },
19773                },
19774                &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
19775                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
19776                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
19777                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
19778                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
19779                        &quot;A String&quot;,
19780                      ],
19781                    },
19782                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
19783                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
19784                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
19785                        { # HTTPHeader describes a custom header to be used in HTTP probes
19786                          &quot;name&quot;: &quot;A String&quot;, # The header field name
19787                          &quot;value&quot;: &quot;A String&quot;, # The header field value
19788                        },
19789                      ],
19790                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
19791                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
19792                        &quot;intVal&quot;: 42, # The int value.
19793                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
19794                        &quot;type&quot;: 42, # The type of the value.
19795                      },
19796                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
19797                    },
19798                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
19799                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
19800                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
19801                        &quot;intVal&quot;: 42, # The int value.
19802                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
19803                        &quot;type&quot;: 42, # The type of the value.
19804                      },
19805                    },
19806                  },
19807                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
19808                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
19809                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
19810                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
19811                },
19812                &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
19813                &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
19814                  { # ContainerPort represents a network port in a single container.
19815                    &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
19816                    &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
19817                    &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
19818                    &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
19819                    &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
19820                  },
19821                ],
19822                &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
19823                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
19824                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
19825                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
19826                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
19827                        &quot;A String&quot;,
19828                      ],
19829                    },
19830                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
19831                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
19832                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
19833                        { # HTTPHeader describes a custom header to be used in HTTP probes
19834                          &quot;name&quot;: &quot;A String&quot;, # The header field name
19835                          &quot;value&quot;: &quot;A String&quot;, # The header field value
19836                        },
19837                      ],
19838                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
19839                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
19840                        &quot;intVal&quot;: 42, # The int value.
19841                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
19842                        &quot;type&quot;: 42, # The type of the value.
19843                      },
19844                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
19845                    },
19846                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
19847                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
19848                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
19849                        &quot;intVal&quot;: 42, # The int value.
19850                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
19851                        &quot;type&quot;: 42, # The type of the value.
19852                      },
19853                    },
19854                  },
19855                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
19856                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
19857                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
19858                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
19859                },
19860                &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
19861                  &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
19862                    &quot;a_key&quot;: &quot;A String&quot;,
19863                  },
19864                  &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
19865                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
19866                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
19867                    },
19868                  },
19869                  &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
19870                    &quot;a_key&quot;: &quot;A String&quot;,
19871                  },
19872                  &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
19873                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
19874                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
19875                    },
19876                  },
19877                },
19878                &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
19879                  &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
19880                  &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
19881                    &quot;add&quot;: [ # Added capabilities +optional
19882                      &quot;A String&quot;,
19883                    ],
19884                    &quot;drop&quot;: [ # Removed capabilities +optional
19885                      &quot;A String&quot;,
19886                    ],
19887                  },
19888                  &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
19889                  &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
19890                  &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
19891                  &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
19892                  &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
19893                  &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
19894                    &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
19895                    &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
19896                    &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
19897                    &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
19898                  },
19899                },
19900                &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
19901                &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
19902                &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
19903                &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
19904                &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
19905                &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
19906                  { # volumeDevice describes a mapping of a raw block device within a container.
19907                    &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
19908                    &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
19909                  },
19910                ],
19911                &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
19912                  { # VolumeMount describes a mounting of a Volume within a container.
19913                    &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
19914                    &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
19915                    &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
19916                    &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
19917                    &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
19918                  },
19919                ],
19920                &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
19921              },
19922            ],
19923            &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
19924            &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
19925            &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources are in for this Revision. Users must not specify this when creating a revision. It is expected that the system will manipulate this based on routability and load. Populated by the system. Read-only.
19926            &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Not currently used by Cloud Run.
19927            &quot;volumes&quot;: [
19928              { # Volume represents a named volume in a container.
19929                &quot;configMap&quot;: { # Adapts a ConfigMap into a volume. The contents of the target ConfigMap&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.
19930                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
19931                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
19932                    { # Maps a string key to a path within a volume.
19933                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
19934                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
19935                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
19936                    },
19937                  ],
19938                  &quot;name&quot;: &quot;A String&quot;, # Name of the config.
19939                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
19940                },
19941                &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
19942                &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names.
19943                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
19944                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
19945                    { # Maps a string key to a path within a volume.
19946                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
19947                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
19948                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
19949                    },
19950                  ],
19951                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
19952                  &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
19953                },
19954              },
19955            ],
19956          },
19957        },
19958      },
19959      &quot;revisions&quot;: [ # Revisions is an ordered list of 1 or 2 revisions. The first is the current revision, and the second is the candidate revision. If a single revision is provided, traffic will be pinned at that revision. &quot;@latest&quot; is a shortcut for usage that refers to the latest created revision by the configuration.
19960        &quot;A String&quot;,
19961      ],
19962      &quot;rolloutPercent&quot;: 42, # RolloutPercent is the percent of traffic that should be sent to the candidate revision, i.e. the 2nd revision in the revisions list. Valid values are between 0 and 99 inclusive.
19963    },
19964    &quot;runLatest&quot;: { # ServiceSpecRunLatest contains the options for always having a route to the latest configuration. See ServiceSpec for more details. # RunLatest defines a simple Service. It will automatically configure a route that keeps the latest ready revision from the supplied configuration running. +optional
19965      &quot;configuration&quot;: { # ConfigurationSpec holds the desired state of the Configuration (from the client). # The configuration for this service.
19966        &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
19967        &quot;revisionTemplate&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190 # RevisionTemplate holds the latest specification for the Revision to be stamped out. The template references the container image, and may also include labels and annotations that should be attached to the Revision. To correlate a Revision, and/or to force a Revision to be created when the spec doesn&#x27;t otherwise change, a nonce label may be provided in the template metadata. For more details, see: https://github.com/knative/serving/blob/master/docs/client-conventions.md#associate-modifications-with-revisions Cloud Run does not currently support referencing a build that is responsible for materializing the container image from source.
19968          &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only). To set maximum instances for this revision, use the &quot;autoscaling.knative.dev/maxScale&quot; annotation key. To set Cloud SQL connections for the revision, use the &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be comma separated.
19969            &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
19970              &quot;a_key&quot;: &quot;A String&quot;,
19971            },
19972            &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
19973            &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
19974            &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
19975            &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
19976            &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
19977              &quot;A String&quot;,
19978            ],
19979            &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
19980            &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
19981            &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
19982              &quot;a_key&quot;: &quot;A String&quot;,
19983            },
19984            &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
19985            &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
19986            &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
19987              { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
19988                &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
19989                &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
19990                &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
19991                &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
19992                &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
19993                &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
19994              },
19995            ],
19996            &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
19997            &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
19998            &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
19999          },
20000          &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).
20001            &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model (Single or Multi) for the Revision. Defaults to Multi. Deprecated in favor of ContainerConcurrency. +optional
20002            &quot;container&quot;: { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime. # Container defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of the fields of this Container, including: name, ports, and volumeMounts. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
20003              &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
20004                &quot;A String&quot;,
20005              ],
20006              &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
20007                &quot;A String&quot;,
20008              ],
20009              &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
20010                { # EnvVar represents an environment variable present in a Container.
20011                  &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
20012                  &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
20013                  &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
20014                    &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
20015                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
20016                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
20017                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
20018                      },
20019                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
20020                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
20021                    },
20022                    &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
20023                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
20024                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
20025                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
20026                      },
20027                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
20028                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
20029                    },
20030                  },
20031                },
20032              ],
20033              &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
20034                { # EnvFromSource represents the source of a set of ConfigMaps
20035                  &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
20036                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
20037                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
20038                    },
20039                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
20040                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
20041                  },
20042                  &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
20043                  &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
20044                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
20045                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
20046                    },
20047                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
20048                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
20049                  },
20050                },
20051              ],
20052              &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
20053              &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
20054              &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
20055                &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
20056                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
20057                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
20058                      &quot;A String&quot;,
20059                    ],
20060                  },
20061                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
20062                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
20063                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
20064                      { # HTTPHeader describes a custom header to be used in HTTP probes
20065                        &quot;name&quot;: &quot;A String&quot;, # The header field name
20066                        &quot;value&quot;: &quot;A String&quot;, # The header field value
20067                      },
20068                    ],
20069                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
20070                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
20071                      &quot;intVal&quot;: 42, # The int value.
20072                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
20073                      &quot;type&quot;: 42, # The type of the value.
20074                    },
20075                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
20076                  },
20077                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
20078                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
20079                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
20080                      &quot;intVal&quot;: 42, # The int value.
20081                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
20082                      &quot;type&quot;: 42, # The type of the value.
20083                    },
20084                  },
20085                },
20086                &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
20087                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
20088                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
20089                      &quot;A String&quot;,
20090                    ],
20091                  },
20092                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
20093                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
20094                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
20095                      { # HTTPHeader describes a custom header to be used in HTTP probes
20096                        &quot;name&quot;: &quot;A String&quot;, # The header field name
20097                        &quot;value&quot;: &quot;A String&quot;, # The header field value
20098                      },
20099                    ],
20100                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
20101                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
20102                      &quot;intVal&quot;: 42, # The int value.
20103                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
20104                      &quot;type&quot;: 42, # The type of the value.
20105                    },
20106                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
20107                  },
20108                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
20109                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
20110                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
20111                      &quot;intVal&quot;: 42, # The int value.
20112                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
20113                      &quot;type&quot;: 42, # The type of the value.
20114                    },
20115                  },
20116                },
20117              },
20118              &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
20119                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
20120                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
20121                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
20122                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
20123                      &quot;A String&quot;,
20124                    ],
20125                  },
20126                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
20127                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
20128                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
20129                      { # HTTPHeader describes a custom header to be used in HTTP probes
20130                        &quot;name&quot;: &quot;A String&quot;, # The header field name
20131                        &quot;value&quot;: &quot;A String&quot;, # The header field value
20132                      },
20133                    ],
20134                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
20135                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
20136                      &quot;intVal&quot;: 42, # The int value.
20137                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
20138                      &quot;type&quot;: 42, # The type of the value.
20139                    },
20140                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
20141                  },
20142                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
20143                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
20144                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
20145                      &quot;intVal&quot;: 42, # The int value.
20146                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
20147                      &quot;type&quot;: 42, # The type of the value.
20148                    },
20149                  },
20150                },
20151                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
20152                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
20153                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
20154                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
20155              },
20156              &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
20157              &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
20158                { # ContainerPort represents a network port in a single container.
20159                  &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
20160                  &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
20161                  &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
20162                  &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
20163                  &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
20164                },
20165              ],
20166              &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
20167                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
20168                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
20169                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
20170                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
20171                      &quot;A String&quot;,
20172                    ],
20173                  },
20174                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
20175                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
20176                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
20177                      { # HTTPHeader describes a custom header to be used in HTTP probes
20178                        &quot;name&quot;: &quot;A String&quot;, # The header field name
20179                        &quot;value&quot;: &quot;A String&quot;, # The header field value
20180                      },
20181                    ],
20182                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
20183                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
20184                      &quot;intVal&quot;: 42, # The int value.
20185                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
20186                      &quot;type&quot;: 42, # The type of the value.
20187                    },
20188                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
20189                  },
20190                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
20191                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
20192                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
20193                      &quot;intVal&quot;: 42, # The int value.
20194                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
20195                      &quot;type&quot;: 42, # The type of the value.
20196                    },
20197                  },
20198                },
20199                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
20200                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
20201                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
20202                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
20203              },
20204              &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
20205                &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
20206                  &quot;a_key&quot;: &quot;A String&quot;,
20207                },
20208                &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
20209                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
20210                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
20211                  },
20212                },
20213                &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
20214                  &quot;a_key&quot;: &quot;A String&quot;,
20215                },
20216                &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
20217                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
20218                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
20219                  },
20220                },
20221              },
20222              &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
20223                &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
20224                &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
20225                  &quot;add&quot;: [ # Added capabilities +optional
20226                    &quot;A String&quot;,
20227                  ],
20228                  &quot;drop&quot;: [ # Removed capabilities +optional
20229                    &quot;A String&quot;,
20230                  ],
20231                },
20232                &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
20233                &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
20234                &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
20235                &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
20236                &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
20237                &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
20238                  &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
20239                  &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
20240                  &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
20241                  &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
20242                },
20243              },
20244              &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
20245              &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
20246              &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
20247              &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
20248              &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
20249              &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
20250                { # volumeDevice describes a mapping of a raw block device within a container.
20251                  &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
20252                  &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
20253                },
20254              ],
20255              &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
20256                { # VolumeMount describes a mounting of a Volume within a container.
20257                  &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
20258                  &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
20259                  &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
20260                  &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
20261                  &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
20262                },
20263              ],
20264              &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
20265            },
20266            &quot;containerConcurrency&quot;: 42, # (Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run on GKE: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
20267            &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided.
20268              { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
20269                &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
20270                  &quot;A String&quot;,
20271                ],
20272                &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
20273                  &quot;A String&quot;,
20274                ],
20275                &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
20276                  { # EnvVar represents an environment variable present in a Container.
20277                    &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
20278                    &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
20279                    &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
20280                      &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
20281                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
20282                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
20283                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
20284                        },
20285                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
20286                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
20287                      },
20288                      &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
20289                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
20290                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
20291                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
20292                        },
20293                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
20294                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
20295                      },
20296                    },
20297                  },
20298                ],
20299                &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
20300                  { # EnvFromSource represents the source of a set of ConfigMaps
20301                    &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
20302                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
20303                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
20304                      },
20305                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
20306                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
20307                    },
20308                    &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
20309                    &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
20310                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
20311                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
20312                      },
20313                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
20314                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
20315                    },
20316                  },
20317                ],
20318                &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
20319                &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
20320                &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
20321                  &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
20322                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
20323                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
20324                        &quot;A String&quot;,
20325                      ],
20326                    },
20327                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
20328                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
20329                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
20330                        { # HTTPHeader describes a custom header to be used in HTTP probes
20331                          &quot;name&quot;: &quot;A String&quot;, # The header field name
20332                          &quot;value&quot;: &quot;A String&quot;, # The header field value
20333                        },
20334                      ],
20335                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
20336                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
20337                        &quot;intVal&quot;: 42, # The int value.
20338                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
20339                        &quot;type&quot;: 42, # The type of the value.
20340                      },
20341                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
20342                    },
20343                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
20344                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
20345                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
20346                        &quot;intVal&quot;: 42, # The int value.
20347                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
20348                        &quot;type&quot;: 42, # The type of the value.
20349                      },
20350                    },
20351                  },
20352                  &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
20353                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
20354                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
20355                        &quot;A String&quot;,
20356                      ],
20357                    },
20358                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
20359                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
20360                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
20361                        { # HTTPHeader describes a custom header to be used in HTTP probes
20362                          &quot;name&quot;: &quot;A String&quot;, # The header field name
20363                          &quot;value&quot;: &quot;A String&quot;, # The header field value
20364                        },
20365                      ],
20366                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
20367                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
20368                        &quot;intVal&quot;: 42, # The int value.
20369                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
20370                        &quot;type&quot;: 42, # The type of the value.
20371                      },
20372                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
20373                    },
20374                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
20375                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
20376                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
20377                        &quot;intVal&quot;: 42, # The int value.
20378                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
20379                        &quot;type&quot;: 42, # The type of the value.
20380                      },
20381                    },
20382                  },
20383                },
20384                &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
20385                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
20386                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
20387                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
20388                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
20389                        &quot;A String&quot;,
20390                      ],
20391                    },
20392                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
20393                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
20394                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
20395                        { # HTTPHeader describes a custom header to be used in HTTP probes
20396                          &quot;name&quot;: &quot;A String&quot;, # The header field name
20397                          &quot;value&quot;: &quot;A String&quot;, # The header field value
20398                        },
20399                      ],
20400                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
20401                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
20402                        &quot;intVal&quot;: 42, # The int value.
20403                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
20404                        &quot;type&quot;: 42, # The type of the value.
20405                      },
20406                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
20407                    },
20408                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
20409                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
20410                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
20411                        &quot;intVal&quot;: 42, # The int value.
20412                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
20413                        &quot;type&quot;: 42, # The type of the value.
20414                      },
20415                    },
20416                  },
20417                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
20418                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
20419                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
20420                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
20421                },
20422                &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
20423                &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
20424                  { # ContainerPort represents a network port in a single container.
20425                    &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
20426                    &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
20427                    &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
20428                    &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
20429                    &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
20430                  },
20431                ],
20432                &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
20433                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
20434                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
20435                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
20436                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
20437                        &quot;A String&quot;,
20438                      ],
20439                    },
20440                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
20441                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
20442                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
20443                        { # HTTPHeader describes a custom header to be used in HTTP probes
20444                          &quot;name&quot;: &quot;A String&quot;, # The header field name
20445                          &quot;value&quot;: &quot;A String&quot;, # The header field value
20446                        },
20447                      ],
20448                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
20449                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
20450                        &quot;intVal&quot;: 42, # The int value.
20451                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
20452                        &quot;type&quot;: 42, # The type of the value.
20453                      },
20454                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
20455                    },
20456                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
20457                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
20458                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
20459                        &quot;intVal&quot;: 42, # The int value.
20460                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
20461                        &quot;type&quot;: 42, # The type of the value.
20462                      },
20463                    },
20464                  },
20465                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
20466                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
20467                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
20468                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
20469                },
20470                &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
20471                  &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
20472                    &quot;a_key&quot;: &quot;A String&quot;,
20473                  },
20474                  &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
20475                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
20476                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
20477                    },
20478                  },
20479                  &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
20480                    &quot;a_key&quot;: &quot;A String&quot;,
20481                  },
20482                  &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
20483                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
20484                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
20485                    },
20486                  },
20487                },
20488                &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
20489                  &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
20490                  &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
20491                    &quot;add&quot;: [ # Added capabilities +optional
20492                      &quot;A String&quot;,
20493                    ],
20494                    &quot;drop&quot;: [ # Removed capabilities +optional
20495                      &quot;A String&quot;,
20496                    ],
20497                  },
20498                  &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
20499                  &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
20500                  &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
20501                  &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
20502                  &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
20503                  &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
20504                    &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
20505                    &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
20506                    &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
20507                    &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
20508                  },
20509                },
20510                &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
20511                &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
20512                &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
20513                &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
20514                &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
20515                &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
20516                  { # volumeDevice describes a mapping of a raw block device within a container.
20517                    &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
20518                    &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
20519                  },
20520                ],
20521                &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
20522                  { # VolumeMount describes a mounting of a Volume within a container.
20523                    &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
20524                    &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
20525                    &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
20526                    &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
20527                    &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
20528                  },
20529                ],
20530                &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
20531              },
20532            ],
20533            &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
20534            &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
20535            &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources are in for this Revision. Users must not specify this when creating a revision. It is expected that the system will manipulate this based on routability and load. Populated by the system. Read-only.
20536            &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Not currently used by Cloud Run.
20537            &quot;volumes&quot;: [
20538              { # Volume represents a named volume in a container.
20539                &quot;configMap&quot;: { # Adapts a ConfigMap into a volume. The contents of the target ConfigMap&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.
20540                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
20541                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
20542                    { # Maps a string key to a path within a volume.
20543                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
20544                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
20545                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
20546                    },
20547                  ],
20548                  &quot;name&quot;: &quot;A String&quot;, # Name of the config.
20549                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
20550                },
20551                &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
20552                &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names.
20553                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
20554                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
20555                    { # Maps a string key to a path within a volume.
20556                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
20557                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
20558                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
20559                    },
20560                  ],
20561                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
20562                  &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
20563                },
20564              },
20565            ],
20566          },
20567        },
20568        &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190 # Template holds the latest specification for the Revision to be stamped out.
20569          &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only). To set maximum instances for this revision, use the &quot;autoscaling.knative.dev/maxScale&quot; annotation key. To set Cloud SQL connections for the revision, use the &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be comma separated.
20570            &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
20571              &quot;a_key&quot;: &quot;A String&quot;,
20572            },
20573            &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
20574            &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
20575            &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
20576            &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
20577            &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
20578              &quot;A String&quot;,
20579            ],
20580            &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
20581            &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
20582            &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
20583              &quot;a_key&quot;: &quot;A String&quot;,
20584            },
20585            &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
20586            &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
20587            &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
20588              { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
20589                &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
20590                &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
20591                &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
20592                &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
20593                &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
20594                &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
20595              },
20596            ],
20597            &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
20598            &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
20599            &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
20600          },
20601          &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).
20602            &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model (Single or Multi) for the Revision. Defaults to Multi. Deprecated in favor of ContainerConcurrency. +optional
20603            &quot;container&quot;: { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime. # Container defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of the fields of this Container, including: name, ports, and volumeMounts. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
20604              &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
20605                &quot;A String&quot;,
20606              ],
20607              &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
20608                &quot;A String&quot;,
20609              ],
20610              &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
20611                { # EnvVar represents an environment variable present in a Container.
20612                  &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
20613                  &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
20614                  &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
20615                    &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
20616                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
20617                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
20618                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
20619                      },
20620                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
20621                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
20622                    },
20623                    &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
20624                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
20625                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
20626                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
20627                      },
20628                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
20629                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
20630                    },
20631                  },
20632                },
20633              ],
20634              &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
20635                { # EnvFromSource represents the source of a set of ConfigMaps
20636                  &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
20637                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
20638                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
20639                    },
20640                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
20641                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
20642                  },
20643                  &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
20644                  &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
20645                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
20646                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
20647                    },
20648                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
20649                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
20650                  },
20651                },
20652              ],
20653              &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
20654              &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
20655              &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
20656                &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
20657                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
20658                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
20659                      &quot;A String&quot;,
20660                    ],
20661                  },
20662                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
20663                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
20664                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
20665                      { # HTTPHeader describes a custom header to be used in HTTP probes
20666                        &quot;name&quot;: &quot;A String&quot;, # The header field name
20667                        &quot;value&quot;: &quot;A String&quot;, # The header field value
20668                      },
20669                    ],
20670                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
20671                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
20672                      &quot;intVal&quot;: 42, # The int value.
20673                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
20674                      &quot;type&quot;: 42, # The type of the value.
20675                    },
20676                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
20677                  },
20678                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
20679                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
20680                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
20681                      &quot;intVal&quot;: 42, # The int value.
20682                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
20683                      &quot;type&quot;: 42, # The type of the value.
20684                    },
20685                  },
20686                },
20687                &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
20688                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
20689                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
20690                      &quot;A String&quot;,
20691                    ],
20692                  },
20693                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
20694                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
20695                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
20696                      { # HTTPHeader describes a custom header to be used in HTTP probes
20697                        &quot;name&quot;: &quot;A String&quot;, # The header field name
20698                        &quot;value&quot;: &quot;A String&quot;, # The header field value
20699                      },
20700                    ],
20701                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
20702                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
20703                      &quot;intVal&quot;: 42, # The int value.
20704                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
20705                      &quot;type&quot;: 42, # The type of the value.
20706                    },
20707                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
20708                  },
20709                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
20710                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
20711                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
20712                      &quot;intVal&quot;: 42, # The int value.
20713                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
20714                      &quot;type&quot;: 42, # The type of the value.
20715                    },
20716                  },
20717                },
20718              },
20719              &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
20720                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
20721                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
20722                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
20723                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
20724                      &quot;A String&quot;,
20725                    ],
20726                  },
20727                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
20728                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
20729                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
20730                      { # HTTPHeader describes a custom header to be used in HTTP probes
20731                        &quot;name&quot;: &quot;A String&quot;, # The header field name
20732                        &quot;value&quot;: &quot;A String&quot;, # The header field value
20733                      },
20734                    ],
20735                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
20736                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
20737                      &quot;intVal&quot;: 42, # The int value.
20738                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
20739                      &quot;type&quot;: 42, # The type of the value.
20740                    },
20741                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
20742                  },
20743                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
20744                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
20745                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
20746                      &quot;intVal&quot;: 42, # The int value.
20747                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
20748                      &quot;type&quot;: 42, # The type of the value.
20749                    },
20750                  },
20751                },
20752                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
20753                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
20754                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
20755                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
20756              },
20757              &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
20758              &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
20759                { # ContainerPort represents a network port in a single container.
20760                  &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
20761                  &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
20762                  &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
20763                  &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
20764                  &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
20765                },
20766              ],
20767              &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
20768                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
20769                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
20770                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
20771                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
20772                      &quot;A String&quot;,
20773                    ],
20774                  },
20775                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
20776                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
20777                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
20778                      { # HTTPHeader describes a custom header to be used in HTTP probes
20779                        &quot;name&quot;: &quot;A String&quot;, # The header field name
20780                        &quot;value&quot;: &quot;A String&quot;, # The header field value
20781                      },
20782                    ],
20783                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
20784                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
20785                      &quot;intVal&quot;: 42, # The int value.
20786                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
20787                      &quot;type&quot;: 42, # The type of the value.
20788                    },
20789                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
20790                  },
20791                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
20792                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
20793                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
20794                      &quot;intVal&quot;: 42, # The int value.
20795                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
20796                      &quot;type&quot;: 42, # The type of the value.
20797                    },
20798                  },
20799                },
20800                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
20801                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
20802                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
20803                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
20804              },
20805              &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
20806                &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
20807                  &quot;a_key&quot;: &quot;A String&quot;,
20808                },
20809                &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
20810                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
20811                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
20812                  },
20813                },
20814                &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
20815                  &quot;a_key&quot;: &quot;A String&quot;,
20816                },
20817                &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
20818                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
20819                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
20820                  },
20821                },
20822              },
20823              &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
20824                &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
20825                &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
20826                  &quot;add&quot;: [ # Added capabilities +optional
20827                    &quot;A String&quot;,
20828                  ],
20829                  &quot;drop&quot;: [ # Removed capabilities +optional
20830                    &quot;A String&quot;,
20831                  ],
20832                },
20833                &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
20834                &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
20835                &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
20836                &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
20837                &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
20838                &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
20839                  &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
20840                  &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
20841                  &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
20842                  &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
20843                },
20844              },
20845              &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
20846              &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
20847              &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
20848              &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
20849              &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
20850              &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
20851                { # volumeDevice describes a mapping of a raw block device within a container.
20852                  &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
20853                  &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
20854                },
20855              ],
20856              &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
20857                { # VolumeMount describes a mounting of a Volume within a container.
20858                  &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
20859                  &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
20860                  &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
20861                  &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
20862                  &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
20863                },
20864              ],
20865              &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
20866            },
20867            &quot;containerConcurrency&quot;: 42, # (Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run on GKE: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
20868            &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided.
20869              { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
20870                &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
20871                  &quot;A String&quot;,
20872                ],
20873                &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
20874                  &quot;A String&quot;,
20875                ],
20876                &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
20877                  { # EnvVar represents an environment variable present in a Container.
20878                    &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
20879                    &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
20880                    &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
20881                      &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
20882                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
20883                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
20884                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
20885                        },
20886                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
20887                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
20888                      },
20889                      &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
20890                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
20891                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
20892                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
20893                        },
20894                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
20895                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
20896                      },
20897                    },
20898                  },
20899                ],
20900                &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
20901                  { # EnvFromSource represents the source of a set of ConfigMaps
20902                    &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
20903                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
20904                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
20905                      },
20906                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
20907                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
20908                    },
20909                    &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
20910                    &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
20911                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
20912                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
20913                      },
20914                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
20915                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
20916                    },
20917                  },
20918                ],
20919                &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
20920                &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
20921                &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
20922                  &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
20923                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
20924                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
20925                        &quot;A String&quot;,
20926                      ],
20927                    },
20928                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
20929                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
20930                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
20931                        { # HTTPHeader describes a custom header to be used in HTTP probes
20932                          &quot;name&quot;: &quot;A String&quot;, # The header field name
20933                          &quot;value&quot;: &quot;A String&quot;, # The header field value
20934                        },
20935                      ],
20936                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
20937                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
20938                        &quot;intVal&quot;: 42, # The int value.
20939                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
20940                        &quot;type&quot;: 42, # The type of the value.
20941                      },
20942                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
20943                    },
20944                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
20945                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
20946                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
20947                        &quot;intVal&quot;: 42, # The int value.
20948                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
20949                        &quot;type&quot;: 42, # The type of the value.
20950                      },
20951                    },
20952                  },
20953                  &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
20954                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
20955                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
20956                        &quot;A String&quot;,
20957                      ],
20958                    },
20959                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
20960                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
20961                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
20962                        { # HTTPHeader describes a custom header to be used in HTTP probes
20963                          &quot;name&quot;: &quot;A String&quot;, # The header field name
20964                          &quot;value&quot;: &quot;A String&quot;, # The header field value
20965                        },
20966                      ],
20967                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
20968                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
20969                        &quot;intVal&quot;: 42, # The int value.
20970                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
20971                        &quot;type&quot;: 42, # The type of the value.
20972                      },
20973                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
20974                    },
20975                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
20976                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
20977                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
20978                        &quot;intVal&quot;: 42, # The int value.
20979                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
20980                        &quot;type&quot;: 42, # The type of the value.
20981                      },
20982                    },
20983                  },
20984                },
20985                &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
20986                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
20987                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
20988                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
20989                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
20990                        &quot;A String&quot;,
20991                      ],
20992                    },
20993                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
20994                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
20995                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
20996                        { # HTTPHeader describes a custom header to be used in HTTP probes
20997                          &quot;name&quot;: &quot;A String&quot;, # The header field name
20998                          &quot;value&quot;: &quot;A String&quot;, # The header field value
20999                        },
21000                      ],
21001                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
21002                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
21003                        &quot;intVal&quot;: 42, # The int value.
21004                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
21005                        &quot;type&quot;: 42, # The type of the value.
21006                      },
21007                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
21008                    },
21009                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
21010                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
21011                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
21012                        &quot;intVal&quot;: 42, # The int value.
21013                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
21014                        &quot;type&quot;: 42, # The type of the value.
21015                      },
21016                    },
21017                  },
21018                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
21019                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
21020                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
21021                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
21022                },
21023                &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
21024                &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
21025                  { # ContainerPort represents a network port in a single container.
21026                    &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
21027                    &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
21028                    &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
21029                    &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
21030                    &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
21031                  },
21032                ],
21033                &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
21034                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
21035                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
21036                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
21037                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
21038                        &quot;A String&quot;,
21039                      ],
21040                    },
21041                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
21042                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
21043                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
21044                        { # HTTPHeader describes a custom header to be used in HTTP probes
21045                          &quot;name&quot;: &quot;A String&quot;, # The header field name
21046                          &quot;value&quot;: &quot;A String&quot;, # The header field value
21047                        },
21048                      ],
21049                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
21050                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
21051                        &quot;intVal&quot;: 42, # The int value.
21052                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
21053                        &quot;type&quot;: 42, # The type of the value.
21054                      },
21055                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
21056                    },
21057                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
21058                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
21059                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
21060                        &quot;intVal&quot;: 42, # The int value.
21061                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
21062                        &quot;type&quot;: 42, # The type of the value.
21063                      },
21064                    },
21065                  },
21066                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
21067                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
21068                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
21069                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
21070                },
21071                &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
21072                  &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
21073                    &quot;a_key&quot;: &quot;A String&quot;,
21074                  },
21075                  &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
21076                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
21077                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
21078                    },
21079                  },
21080                  &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
21081                    &quot;a_key&quot;: &quot;A String&quot;,
21082                  },
21083                  &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
21084                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
21085                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
21086                    },
21087                  },
21088                },
21089                &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
21090                  &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
21091                  &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
21092                    &quot;add&quot;: [ # Added capabilities +optional
21093                      &quot;A String&quot;,
21094                    ],
21095                    &quot;drop&quot;: [ # Removed capabilities +optional
21096                      &quot;A String&quot;,
21097                    ],
21098                  },
21099                  &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
21100                  &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
21101                  &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
21102                  &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
21103                  &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
21104                  &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
21105                    &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
21106                    &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
21107                    &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
21108                    &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
21109                  },
21110                },
21111                &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
21112                &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
21113                &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
21114                &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
21115                &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
21116                &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
21117                  { # volumeDevice describes a mapping of a raw block device within a container.
21118                    &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
21119                    &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
21120                  },
21121                ],
21122                &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
21123                  { # VolumeMount describes a mounting of a Volume within a container.
21124                    &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
21125                    &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
21126                    &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
21127                    &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
21128                    &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
21129                  },
21130                ],
21131                &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
21132              },
21133            ],
21134            &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
21135            &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
21136            &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources are in for this Revision. Users must not specify this when creating a revision. It is expected that the system will manipulate this based on routability and load. Populated by the system. Read-only.
21137            &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Not currently used by Cloud Run.
21138            &quot;volumes&quot;: [
21139              { # Volume represents a named volume in a container.
21140                &quot;configMap&quot;: { # Adapts a ConfigMap into a volume. The contents of the target ConfigMap&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.
21141                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
21142                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
21143                    { # Maps a string key to a path within a volume.
21144                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
21145                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
21146                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
21147                    },
21148                  ],
21149                  &quot;name&quot;: &quot;A String&quot;, # Name of the config.
21150                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
21151                },
21152                &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
21153                &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names.
21154                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
21155                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
21156                    { # Maps a string key to a path within a volume.
21157                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
21158                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
21159                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
21160                    },
21161                  ],
21162                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
21163                  &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
21164                },
21165              },
21166            ],
21167          },
21168        },
21169      },
21170    },
21171    &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190 # Template holds the latest specification for the Revision to be stamped out.
21172      &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only). To set maximum instances for this revision, use the &quot;autoscaling.knative.dev/maxScale&quot; annotation key. To set Cloud SQL connections for the revision, use the &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be comma separated.
21173        &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
21174          &quot;a_key&quot;: &quot;A String&quot;,
21175        },
21176        &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
21177        &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
21178        &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
21179        &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
21180        &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
21181          &quot;A String&quot;,
21182        ],
21183        &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
21184        &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
21185        &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
21186          &quot;a_key&quot;: &quot;A String&quot;,
21187        },
21188        &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
21189        &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
21190        &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
21191          { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
21192            &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
21193            &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
21194            &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
21195            &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
21196            &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
21197            &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
21198          },
21199        ],
21200        &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
21201        &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
21202        &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
21203      },
21204      &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).
21205        &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model (Single or Multi) for the Revision. Defaults to Multi. Deprecated in favor of ContainerConcurrency. +optional
21206        &quot;container&quot;: { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime. # Container defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of the fields of this Container, including: name, ports, and volumeMounts. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
21207          &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
21208            &quot;A String&quot;,
21209          ],
21210          &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
21211            &quot;A String&quot;,
21212          ],
21213          &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
21214            { # EnvVar represents an environment variable present in a Container.
21215              &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
21216              &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
21217              &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
21218                &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
21219                  &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
21220                  &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
21221                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
21222                  },
21223                  &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
21224                  &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
21225                },
21226                &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
21227                  &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
21228                  &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
21229                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
21230                  },
21231                  &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
21232                  &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
21233                },
21234              },
21235            },
21236          ],
21237          &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
21238            { # EnvFromSource represents the source of a set of ConfigMaps
21239              &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
21240                &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
21241                  &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
21242                },
21243                &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
21244                &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
21245              },
21246              &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
21247              &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
21248                &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
21249                  &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
21250                },
21251                &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
21252                &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
21253              },
21254            },
21255          ],
21256          &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
21257          &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
21258          &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
21259            &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
21260              &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
21261                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
21262                  &quot;A String&quot;,
21263                ],
21264              },
21265              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
21266                &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
21267                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
21268                  { # HTTPHeader describes a custom header to be used in HTTP probes
21269                    &quot;name&quot;: &quot;A String&quot;, # The header field name
21270                    &quot;value&quot;: &quot;A String&quot;, # The header field value
21271                  },
21272                ],
21273                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
21274                &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
21275                  &quot;intVal&quot;: 42, # The int value.
21276                  &quot;strVal&quot;: &quot;A String&quot;, # The string value.
21277                  &quot;type&quot;: 42, # The type of the value.
21278                },
21279                &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
21280              },
21281              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
21282                &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
21283                &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
21284                  &quot;intVal&quot;: 42, # The int value.
21285                  &quot;strVal&quot;: &quot;A String&quot;, # The string value.
21286                  &quot;type&quot;: 42, # The type of the value.
21287                },
21288              },
21289            },
21290            &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
21291              &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
21292                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
21293                  &quot;A String&quot;,
21294                ],
21295              },
21296              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
21297                &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
21298                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
21299                  { # HTTPHeader describes a custom header to be used in HTTP probes
21300                    &quot;name&quot;: &quot;A String&quot;, # The header field name
21301                    &quot;value&quot;: &quot;A String&quot;, # The header field value
21302                  },
21303                ],
21304                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
21305                &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
21306                  &quot;intVal&quot;: 42, # The int value.
21307                  &quot;strVal&quot;: &quot;A String&quot;, # The string value.
21308                  &quot;type&quot;: 42, # The type of the value.
21309                },
21310                &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
21311              },
21312              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
21313                &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
21314                &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
21315                  &quot;intVal&quot;: 42, # The int value.
21316                  &quot;strVal&quot;: &quot;A String&quot;, # The string value.
21317                  &quot;type&quot;: 42, # The type of the value.
21318                },
21319              },
21320            },
21321          },
21322          &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
21323            &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
21324            &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
21325              &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
21326                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
21327                  &quot;A String&quot;,
21328                ],
21329              },
21330              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
21331                &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
21332                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
21333                  { # HTTPHeader describes a custom header to be used in HTTP probes
21334                    &quot;name&quot;: &quot;A String&quot;, # The header field name
21335                    &quot;value&quot;: &quot;A String&quot;, # The header field value
21336                  },
21337                ],
21338                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
21339                &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
21340                  &quot;intVal&quot;: 42, # The int value.
21341                  &quot;strVal&quot;: &quot;A String&quot;, # The string value.
21342                  &quot;type&quot;: 42, # The type of the value.
21343                },
21344                &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
21345              },
21346              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
21347                &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
21348                &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
21349                  &quot;intVal&quot;: 42, # The int value.
21350                  &quot;strVal&quot;: &quot;A String&quot;, # The string value.
21351                  &quot;type&quot;: 42, # The type of the value.
21352                },
21353              },
21354            },
21355            &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
21356            &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
21357            &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
21358            &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
21359          },
21360          &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
21361          &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
21362            { # ContainerPort represents a network port in a single container.
21363              &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
21364              &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
21365              &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
21366              &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
21367              &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
21368            },
21369          ],
21370          &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
21371            &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
21372            &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
21373              &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
21374                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
21375                  &quot;A String&quot;,
21376                ],
21377              },
21378              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
21379                &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
21380                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
21381                  { # HTTPHeader describes a custom header to be used in HTTP probes
21382                    &quot;name&quot;: &quot;A String&quot;, # The header field name
21383                    &quot;value&quot;: &quot;A String&quot;, # The header field value
21384                  },
21385                ],
21386                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
21387                &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
21388                  &quot;intVal&quot;: 42, # The int value.
21389                  &quot;strVal&quot;: &quot;A String&quot;, # The string value.
21390                  &quot;type&quot;: 42, # The type of the value.
21391                },
21392                &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
21393              },
21394              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
21395                &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
21396                &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
21397                  &quot;intVal&quot;: 42, # The int value.
21398                  &quot;strVal&quot;: &quot;A String&quot;, # The string value.
21399                  &quot;type&quot;: 42, # The type of the value.
21400                },
21401              },
21402            },
21403            &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
21404            &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
21405            &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
21406            &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
21407          },
21408          &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
21409            &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
21410              &quot;a_key&quot;: &quot;A String&quot;,
21411            },
21412            &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
21413              &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
21414                &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
21415              },
21416            },
21417            &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
21418              &quot;a_key&quot;: &quot;A String&quot;,
21419            },
21420            &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
21421              &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
21422                &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
21423              },
21424            },
21425          },
21426          &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
21427            &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
21428            &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
21429              &quot;add&quot;: [ # Added capabilities +optional
21430                &quot;A String&quot;,
21431              ],
21432              &quot;drop&quot;: [ # Removed capabilities +optional
21433                &quot;A String&quot;,
21434              ],
21435            },
21436            &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
21437            &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
21438            &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
21439            &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
21440            &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
21441            &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
21442              &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
21443              &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
21444              &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
21445              &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
21446            },
21447          },
21448          &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
21449          &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
21450          &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
21451          &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
21452          &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
21453          &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
21454            { # volumeDevice describes a mapping of a raw block device within a container.
21455              &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
21456              &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
21457            },
21458          ],
21459          &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
21460            { # VolumeMount describes a mounting of a Volume within a container.
21461              &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
21462              &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
21463              &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
21464              &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
21465              &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
21466            },
21467          ],
21468          &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
21469        },
21470        &quot;containerConcurrency&quot;: 42, # (Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run on GKE: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
21471        &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided.
21472          { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
21473            &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
21474              &quot;A String&quot;,
21475            ],
21476            &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
21477              &quot;A String&quot;,
21478            ],
21479            &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
21480              { # EnvVar represents an environment variable present in a Container.
21481                &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
21482                &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
21483                &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
21484                  &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
21485                    &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
21486                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
21487                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
21488                    },
21489                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
21490                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
21491                  },
21492                  &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
21493                    &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
21494                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
21495                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
21496                    },
21497                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
21498                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
21499                  },
21500                },
21501              },
21502            ],
21503            &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
21504              { # EnvFromSource represents the source of a set of ConfigMaps
21505                &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
21506                  &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
21507                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
21508                  },
21509                  &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
21510                  &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
21511                },
21512                &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
21513                &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
21514                  &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
21515                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
21516                  },
21517                  &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
21518                  &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
21519                },
21520              },
21521            ],
21522            &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
21523            &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
21524            &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
21525              &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
21526                &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
21527                  &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
21528                    &quot;A String&quot;,
21529                  ],
21530                },
21531                &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
21532                  &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
21533                  &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
21534                    { # HTTPHeader describes a custom header to be used in HTTP probes
21535                      &quot;name&quot;: &quot;A String&quot;, # The header field name
21536                      &quot;value&quot;: &quot;A String&quot;, # The header field value
21537                    },
21538                  ],
21539                  &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
21540                  &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
21541                    &quot;intVal&quot;: 42, # The int value.
21542                    &quot;strVal&quot;: &quot;A String&quot;, # The string value.
21543                    &quot;type&quot;: 42, # The type of the value.
21544                  },
21545                  &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
21546                },
21547                &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
21548                  &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
21549                  &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
21550                    &quot;intVal&quot;: 42, # The int value.
21551                    &quot;strVal&quot;: &quot;A String&quot;, # The string value.
21552                    &quot;type&quot;: 42, # The type of the value.
21553                  },
21554                },
21555              },
21556              &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
21557                &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
21558                  &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
21559                    &quot;A String&quot;,
21560                  ],
21561                },
21562                &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
21563                  &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
21564                  &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
21565                    { # HTTPHeader describes a custom header to be used in HTTP probes
21566                      &quot;name&quot;: &quot;A String&quot;, # The header field name
21567                      &quot;value&quot;: &quot;A String&quot;, # The header field value
21568                    },
21569                  ],
21570                  &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
21571                  &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
21572                    &quot;intVal&quot;: 42, # The int value.
21573                    &quot;strVal&quot;: &quot;A String&quot;, # The string value.
21574                    &quot;type&quot;: 42, # The type of the value.
21575                  },
21576                  &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
21577                },
21578                &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
21579                  &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
21580                  &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
21581                    &quot;intVal&quot;: 42, # The int value.
21582                    &quot;strVal&quot;: &quot;A String&quot;, # The string value.
21583                    &quot;type&quot;: 42, # The type of the value.
21584                  },
21585                },
21586              },
21587            },
21588            &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
21589              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
21590              &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
21591                &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
21592                  &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
21593                    &quot;A String&quot;,
21594                  ],
21595                },
21596                &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
21597                  &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
21598                  &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
21599                    { # HTTPHeader describes a custom header to be used in HTTP probes
21600                      &quot;name&quot;: &quot;A String&quot;, # The header field name
21601                      &quot;value&quot;: &quot;A String&quot;, # The header field value
21602                    },
21603                  ],
21604                  &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
21605                  &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
21606                    &quot;intVal&quot;: 42, # The int value.
21607                    &quot;strVal&quot;: &quot;A String&quot;, # The string value.
21608                    &quot;type&quot;: 42, # The type of the value.
21609                  },
21610                  &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
21611                },
21612                &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
21613                  &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
21614                  &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
21615                    &quot;intVal&quot;: 42, # The int value.
21616                    &quot;strVal&quot;: &quot;A String&quot;, # The string value.
21617                    &quot;type&quot;: 42, # The type of the value.
21618                  },
21619                },
21620              },
21621              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
21622              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
21623              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
21624              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
21625            },
21626            &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
21627            &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
21628              { # ContainerPort represents a network port in a single container.
21629                &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
21630                &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
21631                &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
21632                &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
21633                &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
21634              },
21635            ],
21636            &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
21637              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
21638              &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
21639                &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
21640                  &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
21641                    &quot;A String&quot;,
21642                  ],
21643                },
21644                &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
21645                  &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
21646                  &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
21647                    { # HTTPHeader describes a custom header to be used in HTTP probes
21648                      &quot;name&quot;: &quot;A String&quot;, # The header field name
21649                      &quot;value&quot;: &quot;A String&quot;, # The header field value
21650                    },
21651                  ],
21652                  &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
21653                  &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
21654                    &quot;intVal&quot;: 42, # The int value.
21655                    &quot;strVal&quot;: &quot;A String&quot;, # The string value.
21656                    &quot;type&quot;: 42, # The type of the value.
21657                  },
21658                  &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
21659                },
21660                &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
21661                  &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
21662                  &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
21663                    &quot;intVal&quot;: 42, # The int value.
21664                    &quot;strVal&quot;: &quot;A String&quot;, # The string value.
21665                    &quot;type&quot;: 42, # The type of the value.
21666                  },
21667                },
21668              },
21669              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
21670              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
21671              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
21672              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
21673            },
21674            &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
21675              &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
21676                &quot;a_key&quot;: &quot;A String&quot;,
21677              },
21678              &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
21679                &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
21680                  &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
21681                },
21682              },
21683              &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
21684                &quot;a_key&quot;: &quot;A String&quot;,
21685              },
21686              &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
21687                &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
21688                  &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
21689                },
21690              },
21691            },
21692            &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
21693              &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
21694              &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
21695                &quot;add&quot;: [ # Added capabilities +optional
21696                  &quot;A String&quot;,
21697                ],
21698                &quot;drop&quot;: [ # Removed capabilities +optional
21699                  &quot;A String&quot;,
21700                ],
21701              },
21702              &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
21703              &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
21704              &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
21705              &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
21706              &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
21707              &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
21708                &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
21709                &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
21710                &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
21711                &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
21712              },
21713            },
21714            &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
21715            &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
21716            &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
21717            &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
21718            &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
21719            &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
21720              { # volumeDevice describes a mapping of a raw block device within a container.
21721                &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
21722                &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
21723              },
21724            ],
21725            &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
21726              { # VolumeMount describes a mounting of a Volume within a container.
21727                &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
21728                &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
21729                &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
21730                &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
21731                &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
21732              },
21733            ],
21734            &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
21735          },
21736        ],
21737        &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
21738        &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
21739        &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources are in for this Revision. Users must not specify this when creating a revision. It is expected that the system will manipulate this based on routability and load. Populated by the system. Read-only.
21740        &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Not currently used by Cloud Run.
21741        &quot;volumes&quot;: [
21742          { # Volume represents a named volume in a container.
21743            &quot;configMap&quot;: { # Adapts a ConfigMap into a volume. The contents of the target ConfigMap&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.
21744              &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
21745              &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
21746                { # Maps a string key to a path within a volume.
21747                  &quot;key&quot;: &quot;A String&quot;, # The key to project.
21748                  &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
21749                  &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
21750                },
21751              ],
21752              &quot;name&quot;: &quot;A String&quot;, # Name of the config.
21753              &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
21754            },
21755            &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
21756            &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names.
21757              &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
21758              &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
21759                { # Maps a string key to a path within a volume.
21760                  &quot;key&quot;: &quot;A String&quot;, # The key to project.
21761                  &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
21762                  &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
21763                },
21764              ],
21765              &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
21766              &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
21767            },
21768          },
21769        ],
21770      },
21771    },
21772    &quot;traffic&quot;: [ # Traffic specifies how to distribute traffic over a collection of Knative Revisions and Configurations.
21773      { # TrafficTarget holds a single entry of the routing table for a Route.
21774        &quot;configurationName&quot;: &quot;A String&quot;, # ConfigurationName of a configuration to whose latest revision we will send this portion of traffic. When the &quot;status.latestReadyRevisionName&quot; of the referenced configuration changes, we will automatically migrate traffic from the prior &quot;latest ready&quot; revision to the new one. This field is never set in Route&#x27;s status, only its spec. This is mutually exclusive with RevisionName. Cloud Run currently supports a single ConfigurationName.
21775        &quot;latestRevision&quot;: True or False, # LatestRevision may be optionally provided to indicate that the latest ready Revision of the Configuration should be used for this traffic target. When provided LatestRevision must be true if RevisionName is empty; it must be false when RevisionName is non-empty. +optional
21776        &quot;name&quot;: &quot;A String&quot;, # Name is optionally used to expose a dedicated hostname for referencing this target exclusively. Not currently supported by Cloud Run. +optional
21777        &quot;percent&quot;: 42, # Percent specifies percent of the traffic to this Revision or Configuration. This defaults to zero if unspecified. Cloud Run currently requires 100 percent for a single ConfigurationName TrafficTarget entry.
21778        &quot;revisionName&quot;: &quot;A String&quot;, # RevisionName of a specific revision to which to send this portion of traffic. This is mutually exclusive with ConfigurationName. Providing RevisionName in spec is not currently supported by Cloud Run.
21779        &quot;tag&quot;: &quot;A String&quot;, # Tag is optionally used to expose a dedicated url for referencing this target exclusively. Not currently supported in Cloud Run. +optional
21780        &quot;url&quot;: &quot;A String&quot;, # Output only. URL displays the URL for accessing named traffic targets. URL is displayed in status, and is disallowed on spec. URL must contain a scheme (e.g. http://) and a hostname, but may not contain anything else (e.g. basic auth, url path, etc. Not currently supported in Cloud Run.
21781      },
21782    ],
21783  },
21784  &quot;status&quot;: { # The current state of the Service. Output only. # Status communicates the observed state of the Service (from the controller).
21785    &quot;address&quot;: { # Information for connecting over HTTP(s). # From RouteStatus. Similar to url, information on where the service is available on HTTP.
21786      &quot;hostname&quot;: &quot;A String&quot;, # Deprecated - use url instead.
21787      &quot;url&quot;: &quot;A String&quot;,
21788    },
21789    &quot;conditions&quot;: [ # Conditions communicates information about ongoing/complete reconciliation processes that bring the &quot;spec&quot; inline with the observed state of the world.
21790      { # ServiceCondition defines a readiness condition for a Service.
21791        &quot;lastTransitionTime&quot;: &quot;A String&quot;, # Last time the condition transitioned from one status to another. +optional
21792        &quot;message&quot;: &quot;A String&quot;, # Human-readable message indicating details about last transition. +optional
21793        &quot;reason&quot;: &quot;A String&quot;, # One-word CamelCase reason for the condition&#x27;s last transition. +optional
21794        &quot;severity&quot;: &quot;A String&quot;, # How to interpret failures of this condition, one of Error, Warning, Info +optional
21795        &quot;status&quot;: &quot;A String&quot;, # Status of the condition, one of True, False, Unknown.
21796        &quot;type&quot;: &quot;A String&quot;, # ServiceConditionType is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types include: &quot;Ready&quot;, &quot;ConfigurationsReady&quot;, and &quot;RoutesReady&quot;. &quot;Ready&quot; will be true when the underlying Route and Configuration are ready.
21797      },
21798    ],
21799    &quot;domain&quot;: &quot;A String&quot;, # From RouteStatus. Domain holds the top-level domain that will distribute traffic over the provided targets. It generally has the form https://{route-hash}-{project-hash}-{cluster-level-suffix}.a.run.app
21800    &quot;latestCreatedRevisionName&quot;: &quot;A String&quot;, # From ConfigurationStatus. LatestCreatedRevisionName is the last revision that was created from this Service&#x27;s Configuration. It might not be ready yet, for that use LatestReadyRevisionName.
21801    &quot;latestReadyRevisionName&quot;: &quot;A String&quot;, # From ConfigurationStatus. LatestReadyRevisionName holds the name of the latest Revision stamped out from this Service&#x27;s Configuration that has had its &quot;Ready&quot; condition become &quot;True&quot;.
21802    &quot;observedGeneration&quot;: 42, # ObservedGeneration is the &#x27;Generation&#x27; of the Route that was last processed by the controller. Clients polling for completed reconciliation should poll until observedGeneration = metadata.generation and the Ready condition&#x27;s status is True or False.
21803    &quot;traffic&quot;: [ # From RouteStatus. Traffic holds the configured traffic distribution. These entries will always contain RevisionName references. When ConfigurationName appears in the spec, this will hold the LatestReadyRevisionName that we last observed.
21804      { # TrafficTarget holds a single entry of the routing table for a Route.
21805        &quot;configurationName&quot;: &quot;A String&quot;, # ConfigurationName of a configuration to whose latest revision we will send this portion of traffic. When the &quot;status.latestReadyRevisionName&quot; of the referenced configuration changes, we will automatically migrate traffic from the prior &quot;latest ready&quot; revision to the new one. This field is never set in Route&#x27;s status, only its spec. This is mutually exclusive with RevisionName. Cloud Run currently supports a single ConfigurationName.
21806        &quot;latestRevision&quot;: True or False, # LatestRevision may be optionally provided to indicate that the latest ready Revision of the Configuration should be used for this traffic target. When provided LatestRevision must be true if RevisionName is empty; it must be false when RevisionName is non-empty. +optional
21807        &quot;name&quot;: &quot;A String&quot;, # Name is optionally used to expose a dedicated hostname for referencing this target exclusively. Not currently supported by Cloud Run. +optional
21808        &quot;percent&quot;: 42, # Percent specifies percent of the traffic to this Revision or Configuration. This defaults to zero if unspecified. Cloud Run currently requires 100 percent for a single ConfigurationName TrafficTarget entry.
21809        &quot;revisionName&quot;: &quot;A String&quot;, # RevisionName of a specific revision to which to send this portion of traffic. This is mutually exclusive with ConfigurationName. Providing RevisionName in spec is not currently supported by Cloud Run.
21810        &quot;tag&quot;: &quot;A String&quot;, # Tag is optionally used to expose a dedicated url for referencing this target exclusively. Not currently supported in Cloud Run. +optional
21811        &quot;url&quot;: &quot;A String&quot;, # Output only. URL displays the URL for accessing named traffic targets. URL is displayed in status, and is disallowed on spec. URL must contain a scheme (e.g. http://) and a hostname, but may not contain anything else (e.g. basic auth, url path, etc. Not currently supported in Cloud Run.
21812      },
21813    ],
21814    &quot;url&quot;: &quot;A String&quot;, # From RouteStatus. URL holds the url that will distribute traffic over the provided traffic targets. It generally has the form https://{route-hash}-{project-hash}-{cluster-level-suffix}.a.run.app
21815  },
21816}
21817
21818  x__xgafv: string, V1 error format.
21819    Allowed values
21820      1 - v1 error format
21821      2 - v2 error format
21822
21823Returns:
21824  An object of the form:
21825
21826    { # Service acts as a top-level container that manages a set of Routes and Configurations which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets). The Service&#x27;s controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#service
21827  &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1alpha1&quot;.
21828  &quot;kind&quot;: &quot;A String&quot;, # The kind of resource, in this case &quot;Service&quot;.
21829  &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Service, including name, namespace, labels, and annotations.
21830    &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
21831      &quot;a_key&quot;: &quot;A String&quot;,
21832    },
21833    &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
21834    &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
21835    &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
21836    &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
21837    &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
21838      &quot;A String&quot;,
21839    ],
21840    &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
21841    &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
21842    &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
21843      &quot;a_key&quot;: &quot;A String&quot;,
21844    },
21845    &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
21846    &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
21847    &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
21848      { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
21849        &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
21850        &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
21851        &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
21852        &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
21853        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
21854        &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
21855      },
21856    ],
21857    &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
21858    &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
21859    &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
21860  },
21861  &quot;spec&quot;: { # ServiceSpec holds the desired state of the Route (from the client), which is used to manipulate the underlying Route and Configuration(s). # Spec holds the desired state of the Service (from the client).
21862    &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
21863    &quot;manual&quot;: { # ServiceSpecManualType contains the options for configuring a manual service. See ServiceSpec for more details. Not currently supported by Cloud Run. # Manual contains the options for configuring a manual service. See ServiceSpec for more details. Not currently supported by Cloud Run.
21864    },
21865    &quot;pinned&quot;: { # ServiceSpecPinnedType Pins this service to a specific revision name. The revision must be owned by the configuration provided. Deprecated and not supported by Cloud Run. # Pins this service to a specific revision name. The revision must be owned by the configuration provided. Deprecated and not supported by Cloud Run. +optional
21866      &quot;configuration&quot;: { # ConfigurationSpec holds the desired state of the Configuration (from the client). # The configuration for this service.
21867        &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
21868        &quot;revisionTemplate&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190 # RevisionTemplate holds the latest specification for the Revision to be stamped out. The template references the container image, and may also include labels and annotations that should be attached to the Revision. To correlate a Revision, and/or to force a Revision to be created when the spec doesn&#x27;t otherwise change, a nonce label may be provided in the template metadata. For more details, see: https://github.com/knative/serving/blob/master/docs/client-conventions.md#associate-modifications-with-revisions Cloud Run does not currently support referencing a build that is responsible for materializing the container image from source.
21869          &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only). To set maximum instances for this revision, use the &quot;autoscaling.knative.dev/maxScale&quot; annotation key. To set Cloud SQL connections for the revision, use the &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be comma separated.
21870            &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
21871              &quot;a_key&quot;: &quot;A String&quot;,
21872            },
21873            &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
21874            &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
21875            &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
21876            &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
21877            &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
21878              &quot;A String&quot;,
21879            ],
21880            &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
21881            &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
21882            &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
21883              &quot;a_key&quot;: &quot;A String&quot;,
21884            },
21885            &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
21886            &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
21887            &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
21888              { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
21889                &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
21890                &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
21891                &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
21892                &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
21893                &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
21894                &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
21895              },
21896            ],
21897            &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
21898            &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
21899            &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
21900          },
21901          &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).
21902            &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model (Single or Multi) for the Revision. Defaults to Multi. Deprecated in favor of ContainerConcurrency. +optional
21903            &quot;container&quot;: { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime. # Container defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of the fields of this Container, including: name, ports, and volumeMounts. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
21904              &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
21905                &quot;A String&quot;,
21906              ],
21907              &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
21908                &quot;A String&quot;,
21909              ],
21910              &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
21911                { # EnvVar represents an environment variable present in a Container.
21912                  &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
21913                  &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
21914                  &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
21915                    &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
21916                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
21917                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
21918                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
21919                      },
21920                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
21921                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
21922                    },
21923                    &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
21924                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
21925                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
21926                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
21927                      },
21928                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
21929                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
21930                    },
21931                  },
21932                },
21933              ],
21934              &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
21935                { # EnvFromSource represents the source of a set of ConfigMaps
21936                  &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
21937                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
21938                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
21939                    },
21940                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
21941                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
21942                  },
21943                  &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
21944                  &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
21945                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
21946                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
21947                    },
21948                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
21949                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
21950                  },
21951                },
21952              ],
21953              &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
21954              &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
21955              &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
21956                &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
21957                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
21958                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
21959                      &quot;A String&quot;,
21960                    ],
21961                  },
21962                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
21963                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
21964                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
21965                      { # HTTPHeader describes a custom header to be used in HTTP probes
21966                        &quot;name&quot;: &quot;A String&quot;, # The header field name
21967                        &quot;value&quot;: &quot;A String&quot;, # The header field value
21968                      },
21969                    ],
21970                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
21971                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
21972                      &quot;intVal&quot;: 42, # The int value.
21973                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
21974                      &quot;type&quot;: 42, # The type of the value.
21975                    },
21976                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
21977                  },
21978                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
21979                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
21980                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
21981                      &quot;intVal&quot;: 42, # The int value.
21982                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
21983                      &quot;type&quot;: 42, # The type of the value.
21984                    },
21985                  },
21986                },
21987                &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
21988                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
21989                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
21990                      &quot;A String&quot;,
21991                    ],
21992                  },
21993                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
21994                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
21995                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
21996                      { # HTTPHeader describes a custom header to be used in HTTP probes
21997                        &quot;name&quot;: &quot;A String&quot;, # The header field name
21998                        &quot;value&quot;: &quot;A String&quot;, # The header field value
21999                      },
22000                    ],
22001                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
22002                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
22003                      &quot;intVal&quot;: 42, # The int value.
22004                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
22005                      &quot;type&quot;: 42, # The type of the value.
22006                    },
22007                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
22008                  },
22009                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
22010                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
22011                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
22012                      &quot;intVal&quot;: 42, # The int value.
22013                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
22014                      &quot;type&quot;: 42, # The type of the value.
22015                    },
22016                  },
22017                },
22018              },
22019              &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
22020                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
22021                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
22022                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
22023                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
22024                      &quot;A String&quot;,
22025                    ],
22026                  },
22027                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
22028                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
22029                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
22030                      { # HTTPHeader describes a custom header to be used in HTTP probes
22031                        &quot;name&quot;: &quot;A String&quot;, # The header field name
22032                        &quot;value&quot;: &quot;A String&quot;, # The header field value
22033                      },
22034                    ],
22035                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
22036                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
22037                      &quot;intVal&quot;: 42, # The int value.
22038                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
22039                      &quot;type&quot;: 42, # The type of the value.
22040                    },
22041                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
22042                  },
22043                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
22044                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
22045                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
22046                      &quot;intVal&quot;: 42, # The int value.
22047                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
22048                      &quot;type&quot;: 42, # The type of the value.
22049                    },
22050                  },
22051                },
22052                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
22053                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
22054                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
22055                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
22056              },
22057              &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
22058              &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
22059                { # ContainerPort represents a network port in a single container.
22060                  &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
22061                  &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
22062                  &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
22063                  &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
22064                  &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
22065                },
22066              ],
22067              &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
22068                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
22069                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
22070                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
22071                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
22072                      &quot;A String&quot;,
22073                    ],
22074                  },
22075                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
22076                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
22077                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
22078                      { # HTTPHeader describes a custom header to be used in HTTP probes
22079                        &quot;name&quot;: &quot;A String&quot;, # The header field name
22080                        &quot;value&quot;: &quot;A String&quot;, # The header field value
22081                      },
22082                    ],
22083                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
22084                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
22085                      &quot;intVal&quot;: 42, # The int value.
22086                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
22087                      &quot;type&quot;: 42, # The type of the value.
22088                    },
22089                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
22090                  },
22091                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
22092                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
22093                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
22094                      &quot;intVal&quot;: 42, # The int value.
22095                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
22096                      &quot;type&quot;: 42, # The type of the value.
22097                    },
22098                  },
22099                },
22100                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
22101                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
22102                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
22103                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
22104              },
22105              &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
22106                &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
22107                  &quot;a_key&quot;: &quot;A String&quot;,
22108                },
22109                &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
22110                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
22111                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
22112                  },
22113                },
22114                &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
22115                  &quot;a_key&quot;: &quot;A String&quot;,
22116                },
22117                &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
22118                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
22119                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
22120                  },
22121                },
22122              },
22123              &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
22124                &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
22125                &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
22126                  &quot;add&quot;: [ # Added capabilities +optional
22127                    &quot;A String&quot;,
22128                  ],
22129                  &quot;drop&quot;: [ # Removed capabilities +optional
22130                    &quot;A String&quot;,
22131                  ],
22132                },
22133                &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
22134                &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
22135                &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
22136                &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
22137                &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
22138                &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
22139                  &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
22140                  &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
22141                  &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
22142                  &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
22143                },
22144              },
22145              &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
22146              &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
22147              &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
22148              &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
22149              &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
22150              &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
22151                { # volumeDevice describes a mapping of a raw block device within a container.
22152                  &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
22153                  &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
22154                },
22155              ],
22156              &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
22157                { # VolumeMount describes a mounting of a Volume within a container.
22158                  &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
22159                  &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
22160                  &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
22161                  &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
22162                  &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
22163                },
22164              ],
22165              &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
22166            },
22167            &quot;containerConcurrency&quot;: 42, # (Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run on GKE: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
22168            &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided.
22169              { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
22170                &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
22171                  &quot;A String&quot;,
22172                ],
22173                &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
22174                  &quot;A String&quot;,
22175                ],
22176                &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
22177                  { # EnvVar represents an environment variable present in a Container.
22178                    &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
22179                    &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
22180                    &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
22181                      &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
22182                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
22183                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
22184                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
22185                        },
22186                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
22187                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
22188                      },
22189                      &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
22190                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
22191                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
22192                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
22193                        },
22194                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
22195                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
22196                      },
22197                    },
22198                  },
22199                ],
22200                &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
22201                  { # EnvFromSource represents the source of a set of ConfigMaps
22202                    &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
22203                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
22204                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
22205                      },
22206                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
22207                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
22208                    },
22209                    &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
22210                    &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
22211                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
22212                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
22213                      },
22214                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
22215                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
22216                    },
22217                  },
22218                ],
22219                &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
22220                &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
22221                &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
22222                  &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
22223                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
22224                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
22225                        &quot;A String&quot;,
22226                      ],
22227                    },
22228                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
22229                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
22230                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
22231                        { # HTTPHeader describes a custom header to be used in HTTP probes
22232                          &quot;name&quot;: &quot;A String&quot;, # The header field name
22233                          &quot;value&quot;: &quot;A String&quot;, # The header field value
22234                        },
22235                      ],
22236                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
22237                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
22238                        &quot;intVal&quot;: 42, # The int value.
22239                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
22240                        &quot;type&quot;: 42, # The type of the value.
22241                      },
22242                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
22243                    },
22244                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
22245                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
22246                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
22247                        &quot;intVal&quot;: 42, # The int value.
22248                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
22249                        &quot;type&quot;: 42, # The type of the value.
22250                      },
22251                    },
22252                  },
22253                  &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
22254                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
22255                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
22256                        &quot;A String&quot;,
22257                      ],
22258                    },
22259                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
22260                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
22261                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
22262                        { # HTTPHeader describes a custom header to be used in HTTP probes
22263                          &quot;name&quot;: &quot;A String&quot;, # The header field name
22264                          &quot;value&quot;: &quot;A String&quot;, # The header field value
22265                        },
22266                      ],
22267                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
22268                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
22269                        &quot;intVal&quot;: 42, # The int value.
22270                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
22271                        &quot;type&quot;: 42, # The type of the value.
22272                      },
22273                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
22274                    },
22275                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
22276                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
22277                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
22278                        &quot;intVal&quot;: 42, # The int value.
22279                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
22280                        &quot;type&quot;: 42, # The type of the value.
22281                      },
22282                    },
22283                  },
22284                },
22285                &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
22286                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
22287                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
22288                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
22289                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
22290                        &quot;A String&quot;,
22291                      ],
22292                    },
22293                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
22294                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
22295                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
22296                        { # HTTPHeader describes a custom header to be used in HTTP probes
22297                          &quot;name&quot;: &quot;A String&quot;, # The header field name
22298                          &quot;value&quot;: &quot;A String&quot;, # The header field value
22299                        },
22300                      ],
22301                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
22302                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
22303                        &quot;intVal&quot;: 42, # The int value.
22304                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
22305                        &quot;type&quot;: 42, # The type of the value.
22306                      },
22307                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
22308                    },
22309                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
22310                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
22311                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
22312                        &quot;intVal&quot;: 42, # The int value.
22313                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
22314                        &quot;type&quot;: 42, # The type of the value.
22315                      },
22316                    },
22317                  },
22318                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
22319                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
22320                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
22321                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
22322                },
22323                &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
22324                &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
22325                  { # ContainerPort represents a network port in a single container.
22326                    &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
22327                    &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
22328                    &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
22329                    &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
22330                    &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
22331                  },
22332                ],
22333                &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
22334                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
22335                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
22336                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
22337                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
22338                        &quot;A String&quot;,
22339                      ],
22340                    },
22341                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
22342                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
22343                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
22344                        { # HTTPHeader describes a custom header to be used in HTTP probes
22345                          &quot;name&quot;: &quot;A String&quot;, # The header field name
22346                          &quot;value&quot;: &quot;A String&quot;, # The header field value
22347                        },
22348                      ],
22349                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
22350                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
22351                        &quot;intVal&quot;: 42, # The int value.
22352                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
22353                        &quot;type&quot;: 42, # The type of the value.
22354                      },
22355                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
22356                    },
22357                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
22358                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
22359                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
22360                        &quot;intVal&quot;: 42, # The int value.
22361                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
22362                        &quot;type&quot;: 42, # The type of the value.
22363                      },
22364                    },
22365                  },
22366                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
22367                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
22368                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
22369                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
22370                },
22371                &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
22372                  &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
22373                    &quot;a_key&quot;: &quot;A String&quot;,
22374                  },
22375                  &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
22376                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
22377                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
22378                    },
22379                  },
22380                  &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
22381                    &quot;a_key&quot;: &quot;A String&quot;,
22382                  },
22383                  &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
22384                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
22385                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
22386                    },
22387                  },
22388                },
22389                &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
22390                  &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
22391                  &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
22392                    &quot;add&quot;: [ # Added capabilities +optional
22393                      &quot;A String&quot;,
22394                    ],
22395                    &quot;drop&quot;: [ # Removed capabilities +optional
22396                      &quot;A String&quot;,
22397                    ],
22398                  },
22399                  &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
22400                  &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
22401                  &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
22402                  &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
22403                  &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
22404                  &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
22405                    &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
22406                    &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
22407                    &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
22408                    &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
22409                  },
22410                },
22411                &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
22412                &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
22413                &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
22414                &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
22415                &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
22416                &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
22417                  { # volumeDevice describes a mapping of a raw block device within a container.
22418                    &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
22419                    &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
22420                  },
22421                ],
22422                &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
22423                  { # VolumeMount describes a mounting of a Volume within a container.
22424                    &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
22425                    &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
22426                    &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
22427                    &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
22428                    &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
22429                  },
22430                ],
22431                &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
22432              },
22433            ],
22434            &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
22435            &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
22436            &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources are in for this Revision. Users must not specify this when creating a revision. It is expected that the system will manipulate this based on routability and load. Populated by the system. Read-only.
22437            &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Not currently used by Cloud Run.
22438            &quot;volumes&quot;: [
22439              { # Volume represents a named volume in a container.
22440                &quot;configMap&quot;: { # Adapts a ConfigMap into a volume. The contents of the target ConfigMap&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.
22441                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
22442                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
22443                    { # Maps a string key to a path within a volume.
22444                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
22445                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
22446                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
22447                    },
22448                  ],
22449                  &quot;name&quot;: &quot;A String&quot;, # Name of the config.
22450                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
22451                },
22452                &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
22453                &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names.
22454                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
22455                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
22456                    { # Maps a string key to a path within a volume.
22457                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
22458                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
22459                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
22460                    },
22461                  ],
22462                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
22463                  &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
22464                },
22465              },
22466            ],
22467          },
22468        },
22469        &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190 # Template holds the latest specification for the Revision to be stamped out.
22470          &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only). To set maximum instances for this revision, use the &quot;autoscaling.knative.dev/maxScale&quot; annotation key. To set Cloud SQL connections for the revision, use the &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be comma separated.
22471            &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
22472              &quot;a_key&quot;: &quot;A String&quot;,
22473            },
22474            &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
22475            &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
22476            &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
22477            &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
22478            &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
22479              &quot;A String&quot;,
22480            ],
22481            &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
22482            &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
22483            &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
22484              &quot;a_key&quot;: &quot;A String&quot;,
22485            },
22486            &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
22487            &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
22488            &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
22489              { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
22490                &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
22491                &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
22492                &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
22493                &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
22494                &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
22495                &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
22496              },
22497            ],
22498            &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
22499            &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
22500            &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
22501          },
22502          &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).
22503            &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model (Single or Multi) for the Revision. Defaults to Multi. Deprecated in favor of ContainerConcurrency. +optional
22504            &quot;container&quot;: { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime. # Container defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of the fields of this Container, including: name, ports, and volumeMounts. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
22505              &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
22506                &quot;A String&quot;,
22507              ],
22508              &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
22509                &quot;A String&quot;,
22510              ],
22511              &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
22512                { # EnvVar represents an environment variable present in a Container.
22513                  &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
22514                  &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
22515                  &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
22516                    &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
22517                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
22518                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
22519                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
22520                      },
22521                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
22522                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
22523                    },
22524                    &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
22525                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
22526                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
22527                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
22528                      },
22529                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
22530                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
22531                    },
22532                  },
22533                },
22534              ],
22535              &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
22536                { # EnvFromSource represents the source of a set of ConfigMaps
22537                  &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
22538                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
22539                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
22540                    },
22541                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
22542                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
22543                  },
22544                  &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
22545                  &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
22546                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
22547                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
22548                    },
22549                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
22550                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
22551                  },
22552                },
22553              ],
22554              &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
22555              &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
22556              &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
22557                &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
22558                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
22559                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
22560                      &quot;A String&quot;,
22561                    ],
22562                  },
22563                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
22564                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
22565                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
22566                      { # HTTPHeader describes a custom header to be used in HTTP probes
22567                        &quot;name&quot;: &quot;A String&quot;, # The header field name
22568                        &quot;value&quot;: &quot;A String&quot;, # The header field value
22569                      },
22570                    ],
22571                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
22572                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
22573                      &quot;intVal&quot;: 42, # The int value.
22574                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
22575                      &quot;type&quot;: 42, # The type of the value.
22576                    },
22577                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
22578                  },
22579                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
22580                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
22581                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
22582                      &quot;intVal&quot;: 42, # The int value.
22583                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
22584                      &quot;type&quot;: 42, # The type of the value.
22585                    },
22586                  },
22587                },
22588                &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
22589                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
22590                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
22591                      &quot;A String&quot;,
22592                    ],
22593                  },
22594                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
22595                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
22596                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
22597                      { # HTTPHeader describes a custom header to be used in HTTP probes
22598                        &quot;name&quot;: &quot;A String&quot;, # The header field name
22599                        &quot;value&quot;: &quot;A String&quot;, # The header field value
22600                      },
22601                    ],
22602                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
22603                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
22604                      &quot;intVal&quot;: 42, # The int value.
22605                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
22606                      &quot;type&quot;: 42, # The type of the value.
22607                    },
22608                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
22609                  },
22610                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
22611                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
22612                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
22613                      &quot;intVal&quot;: 42, # The int value.
22614                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
22615                      &quot;type&quot;: 42, # The type of the value.
22616                    },
22617                  },
22618                },
22619              },
22620              &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
22621                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
22622                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
22623                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
22624                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
22625                      &quot;A String&quot;,
22626                    ],
22627                  },
22628                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
22629                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
22630                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
22631                      { # HTTPHeader describes a custom header to be used in HTTP probes
22632                        &quot;name&quot;: &quot;A String&quot;, # The header field name
22633                        &quot;value&quot;: &quot;A String&quot;, # The header field value
22634                      },
22635                    ],
22636                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
22637                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
22638                      &quot;intVal&quot;: 42, # The int value.
22639                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
22640                      &quot;type&quot;: 42, # The type of the value.
22641                    },
22642                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
22643                  },
22644                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
22645                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
22646                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
22647                      &quot;intVal&quot;: 42, # The int value.
22648                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
22649                      &quot;type&quot;: 42, # The type of the value.
22650                    },
22651                  },
22652                },
22653                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
22654                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
22655                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
22656                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
22657              },
22658              &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
22659              &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
22660                { # ContainerPort represents a network port in a single container.
22661                  &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
22662                  &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
22663                  &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
22664                  &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
22665                  &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
22666                },
22667              ],
22668              &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
22669                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
22670                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
22671                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
22672                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
22673                      &quot;A String&quot;,
22674                    ],
22675                  },
22676                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
22677                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
22678                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
22679                      { # HTTPHeader describes a custom header to be used in HTTP probes
22680                        &quot;name&quot;: &quot;A String&quot;, # The header field name
22681                        &quot;value&quot;: &quot;A String&quot;, # The header field value
22682                      },
22683                    ],
22684                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
22685                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
22686                      &quot;intVal&quot;: 42, # The int value.
22687                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
22688                      &quot;type&quot;: 42, # The type of the value.
22689                    },
22690                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
22691                  },
22692                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
22693                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
22694                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
22695                      &quot;intVal&quot;: 42, # The int value.
22696                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
22697                      &quot;type&quot;: 42, # The type of the value.
22698                    },
22699                  },
22700                },
22701                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
22702                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
22703                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
22704                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
22705              },
22706              &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
22707                &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
22708                  &quot;a_key&quot;: &quot;A String&quot;,
22709                },
22710                &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
22711                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
22712                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
22713                  },
22714                },
22715                &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
22716                  &quot;a_key&quot;: &quot;A String&quot;,
22717                },
22718                &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
22719                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
22720                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
22721                  },
22722                },
22723              },
22724              &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
22725                &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
22726                &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
22727                  &quot;add&quot;: [ # Added capabilities +optional
22728                    &quot;A String&quot;,
22729                  ],
22730                  &quot;drop&quot;: [ # Removed capabilities +optional
22731                    &quot;A String&quot;,
22732                  ],
22733                },
22734                &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
22735                &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
22736                &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
22737                &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
22738                &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
22739                &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
22740                  &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
22741                  &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
22742                  &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
22743                  &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
22744                },
22745              },
22746              &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
22747              &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
22748              &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
22749              &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
22750              &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
22751              &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
22752                { # volumeDevice describes a mapping of a raw block device within a container.
22753                  &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
22754                  &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
22755                },
22756              ],
22757              &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
22758                { # VolumeMount describes a mounting of a Volume within a container.
22759                  &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
22760                  &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
22761                  &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
22762                  &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
22763                  &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
22764                },
22765              ],
22766              &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
22767            },
22768            &quot;containerConcurrency&quot;: 42, # (Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run on GKE: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
22769            &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided.
22770              { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
22771                &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
22772                  &quot;A String&quot;,
22773                ],
22774                &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
22775                  &quot;A String&quot;,
22776                ],
22777                &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
22778                  { # EnvVar represents an environment variable present in a Container.
22779                    &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
22780                    &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
22781                    &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
22782                      &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
22783                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
22784                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
22785                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
22786                        },
22787                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
22788                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
22789                      },
22790                      &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
22791                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
22792                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
22793                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
22794                        },
22795                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
22796                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
22797                      },
22798                    },
22799                  },
22800                ],
22801                &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
22802                  { # EnvFromSource represents the source of a set of ConfigMaps
22803                    &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
22804                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
22805                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
22806                      },
22807                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
22808                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
22809                    },
22810                    &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
22811                    &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
22812                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
22813                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
22814                      },
22815                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
22816                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
22817                    },
22818                  },
22819                ],
22820                &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
22821                &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
22822                &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
22823                  &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
22824                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
22825                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
22826                        &quot;A String&quot;,
22827                      ],
22828                    },
22829                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
22830                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
22831                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
22832                        { # HTTPHeader describes a custom header to be used in HTTP probes
22833                          &quot;name&quot;: &quot;A String&quot;, # The header field name
22834                          &quot;value&quot;: &quot;A String&quot;, # The header field value
22835                        },
22836                      ],
22837                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
22838                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
22839                        &quot;intVal&quot;: 42, # The int value.
22840                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
22841                        &quot;type&quot;: 42, # The type of the value.
22842                      },
22843                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
22844                    },
22845                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
22846                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
22847                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
22848                        &quot;intVal&quot;: 42, # The int value.
22849                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
22850                        &quot;type&quot;: 42, # The type of the value.
22851                      },
22852                    },
22853                  },
22854                  &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
22855                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
22856                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
22857                        &quot;A String&quot;,
22858                      ],
22859                    },
22860                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
22861                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
22862                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
22863                        { # HTTPHeader describes a custom header to be used in HTTP probes
22864                          &quot;name&quot;: &quot;A String&quot;, # The header field name
22865                          &quot;value&quot;: &quot;A String&quot;, # The header field value
22866                        },
22867                      ],
22868                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
22869                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
22870                        &quot;intVal&quot;: 42, # The int value.
22871                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
22872                        &quot;type&quot;: 42, # The type of the value.
22873                      },
22874                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
22875                    },
22876                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
22877                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
22878                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
22879                        &quot;intVal&quot;: 42, # The int value.
22880                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
22881                        &quot;type&quot;: 42, # The type of the value.
22882                      },
22883                    },
22884                  },
22885                },
22886                &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
22887                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
22888                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
22889                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
22890                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
22891                        &quot;A String&quot;,
22892                      ],
22893                    },
22894                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
22895                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
22896                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
22897                        { # HTTPHeader describes a custom header to be used in HTTP probes
22898                          &quot;name&quot;: &quot;A String&quot;, # The header field name
22899                          &quot;value&quot;: &quot;A String&quot;, # The header field value
22900                        },
22901                      ],
22902                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
22903                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
22904                        &quot;intVal&quot;: 42, # The int value.
22905                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
22906                        &quot;type&quot;: 42, # The type of the value.
22907                      },
22908                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
22909                    },
22910                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
22911                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
22912                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
22913                        &quot;intVal&quot;: 42, # The int value.
22914                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
22915                        &quot;type&quot;: 42, # The type of the value.
22916                      },
22917                    },
22918                  },
22919                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
22920                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
22921                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
22922                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
22923                },
22924                &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
22925                &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
22926                  { # ContainerPort represents a network port in a single container.
22927                    &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
22928                    &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
22929                    &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
22930                    &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
22931                    &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
22932                  },
22933                ],
22934                &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
22935                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
22936                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
22937                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
22938                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
22939                        &quot;A String&quot;,
22940                      ],
22941                    },
22942                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
22943                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
22944                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
22945                        { # HTTPHeader describes a custom header to be used in HTTP probes
22946                          &quot;name&quot;: &quot;A String&quot;, # The header field name
22947                          &quot;value&quot;: &quot;A String&quot;, # The header field value
22948                        },
22949                      ],
22950                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
22951                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
22952                        &quot;intVal&quot;: 42, # The int value.
22953                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
22954                        &quot;type&quot;: 42, # The type of the value.
22955                      },
22956                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
22957                    },
22958                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
22959                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
22960                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
22961                        &quot;intVal&quot;: 42, # The int value.
22962                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
22963                        &quot;type&quot;: 42, # The type of the value.
22964                      },
22965                    },
22966                  },
22967                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
22968                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
22969                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
22970                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
22971                },
22972                &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
22973                  &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
22974                    &quot;a_key&quot;: &quot;A String&quot;,
22975                  },
22976                  &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
22977                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
22978                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
22979                    },
22980                  },
22981                  &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
22982                    &quot;a_key&quot;: &quot;A String&quot;,
22983                  },
22984                  &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
22985                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
22986                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
22987                    },
22988                  },
22989                },
22990                &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
22991                  &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
22992                  &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
22993                    &quot;add&quot;: [ # Added capabilities +optional
22994                      &quot;A String&quot;,
22995                    ],
22996                    &quot;drop&quot;: [ # Removed capabilities +optional
22997                      &quot;A String&quot;,
22998                    ],
22999                  },
23000                  &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
23001                  &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
23002                  &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
23003                  &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
23004                  &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
23005                  &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
23006                    &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
23007                    &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
23008                    &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
23009                    &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
23010                  },
23011                },
23012                &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
23013                &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
23014                &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
23015                &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
23016                &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
23017                &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
23018                  { # volumeDevice describes a mapping of a raw block device within a container.
23019                    &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
23020                    &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
23021                  },
23022                ],
23023                &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
23024                  { # VolumeMount describes a mounting of a Volume within a container.
23025                    &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
23026                    &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
23027                    &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
23028                    &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
23029                    &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
23030                  },
23031                ],
23032                &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
23033              },
23034            ],
23035            &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
23036            &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
23037            &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources are in for this Revision. Users must not specify this when creating a revision. It is expected that the system will manipulate this based on routability and load. Populated by the system. Read-only.
23038            &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Not currently used by Cloud Run.
23039            &quot;volumes&quot;: [
23040              { # Volume represents a named volume in a container.
23041                &quot;configMap&quot;: { # Adapts a ConfigMap into a volume. The contents of the target ConfigMap&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.
23042                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
23043                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
23044                    { # Maps a string key to a path within a volume.
23045                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
23046                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
23047                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
23048                    },
23049                  ],
23050                  &quot;name&quot;: &quot;A String&quot;, # Name of the config.
23051                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
23052                },
23053                &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
23054                &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names.
23055                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
23056                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
23057                    { # Maps a string key to a path within a volume.
23058                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
23059                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
23060                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
23061                    },
23062                  ],
23063                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
23064                  &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
23065                },
23066              },
23067            ],
23068          },
23069        },
23070      },
23071      &quot;revisionName&quot;: &quot;A String&quot;, # The revision name to pin this service to until changed to a different service type.
23072    },
23073    &quot;release&quot;: { # ServiceSpecReleaseType contains the options for slowly releasing revisions. See ServiceSpec for more details. Not currently supported by Cloud Run. # Release enables gradual promotion of new revisions by allowing traffic to be split between two revisions. This type replaces the deprecated Pinned type. Not currently supported by Cloud Run.
23074      &quot;configuration&quot;: { # ConfigurationSpec holds the desired state of the Configuration (from the client). # The configuration for this service. All revisions from this service must come from a single configuration.
23075        &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
23076        &quot;revisionTemplate&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190 # RevisionTemplate holds the latest specification for the Revision to be stamped out. The template references the container image, and may also include labels and annotations that should be attached to the Revision. To correlate a Revision, and/or to force a Revision to be created when the spec doesn&#x27;t otherwise change, a nonce label may be provided in the template metadata. For more details, see: https://github.com/knative/serving/blob/master/docs/client-conventions.md#associate-modifications-with-revisions Cloud Run does not currently support referencing a build that is responsible for materializing the container image from source.
23077          &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only). To set maximum instances for this revision, use the &quot;autoscaling.knative.dev/maxScale&quot; annotation key. To set Cloud SQL connections for the revision, use the &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be comma separated.
23078            &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
23079              &quot;a_key&quot;: &quot;A String&quot;,
23080            },
23081            &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
23082            &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
23083            &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
23084            &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
23085            &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
23086              &quot;A String&quot;,
23087            ],
23088            &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
23089            &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
23090            &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
23091              &quot;a_key&quot;: &quot;A String&quot;,
23092            },
23093            &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
23094            &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
23095            &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
23096              { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
23097                &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
23098                &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
23099                &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
23100                &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
23101                &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
23102                &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
23103              },
23104            ],
23105            &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
23106            &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
23107            &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
23108          },
23109          &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).
23110            &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model (Single or Multi) for the Revision. Defaults to Multi. Deprecated in favor of ContainerConcurrency. +optional
23111            &quot;container&quot;: { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime. # Container defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of the fields of this Container, including: name, ports, and volumeMounts. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
23112              &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
23113                &quot;A String&quot;,
23114              ],
23115              &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
23116                &quot;A String&quot;,
23117              ],
23118              &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
23119                { # EnvVar represents an environment variable present in a Container.
23120                  &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
23121                  &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
23122                  &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
23123                    &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
23124                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
23125                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
23126                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
23127                      },
23128                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
23129                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
23130                    },
23131                    &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
23132                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
23133                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
23134                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
23135                      },
23136                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
23137                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
23138                    },
23139                  },
23140                },
23141              ],
23142              &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
23143                { # EnvFromSource represents the source of a set of ConfigMaps
23144                  &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
23145                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
23146                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
23147                    },
23148                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
23149                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
23150                  },
23151                  &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
23152                  &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
23153                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
23154                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
23155                    },
23156                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
23157                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
23158                  },
23159                },
23160              ],
23161              &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
23162              &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
23163              &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
23164                &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
23165                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
23166                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
23167                      &quot;A String&quot;,
23168                    ],
23169                  },
23170                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
23171                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
23172                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
23173                      { # HTTPHeader describes a custom header to be used in HTTP probes
23174                        &quot;name&quot;: &quot;A String&quot;, # The header field name
23175                        &quot;value&quot;: &quot;A String&quot;, # The header field value
23176                      },
23177                    ],
23178                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
23179                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
23180                      &quot;intVal&quot;: 42, # The int value.
23181                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
23182                      &quot;type&quot;: 42, # The type of the value.
23183                    },
23184                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
23185                  },
23186                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
23187                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
23188                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
23189                      &quot;intVal&quot;: 42, # The int value.
23190                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
23191                      &quot;type&quot;: 42, # The type of the value.
23192                    },
23193                  },
23194                },
23195                &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
23196                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
23197                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
23198                      &quot;A String&quot;,
23199                    ],
23200                  },
23201                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
23202                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
23203                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
23204                      { # HTTPHeader describes a custom header to be used in HTTP probes
23205                        &quot;name&quot;: &quot;A String&quot;, # The header field name
23206                        &quot;value&quot;: &quot;A String&quot;, # The header field value
23207                      },
23208                    ],
23209                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
23210                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
23211                      &quot;intVal&quot;: 42, # The int value.
23212                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
23213                      &quot;type&quot;: 42, # The type of the value.
23214                    },
23215                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
23216                  },
23217                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
23218                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
23219                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
23220                      &quot;intVal&quot;: 42, # The int value.
23221                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
23222                      &quot;type&quot;: 42, # The type of the value.
23223                    },
23224                  },
23225                },
23226              },
23227              &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
23228                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
23229                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
23230                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
23231                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
23232                      &quot;A String&quot;,
23233                    ],
23234                  },
23235                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
23236                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
23237                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
23238                      { # HTTPHeader describes a custom header to be used in HTTP probes
23239                        &quot;name&quot;: &quot;A String&quot;, # The header field name
23240                        &quot;value&quot;: &quot;A String&quot;, # The header field value
23241                      },
23242                    ],
23243                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
23244                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
23245                      &quot;intVal&quot;: 42, # The int value.
23246                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
23247                      &quot;type&quot;: 42, # The type of the value.
23248                    },
23249                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
23250                  },
23251                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
23252                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
23253                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
23254                      &quot;intVal&quot;: 42, # The int value.
23255                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
23256                      &quot;type&quot;: 42, # The type of the value.
23257                    },
23258                  },
23259                },
23260                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
23261                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
23262                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
23263                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
23264              },
23265              &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
23266              &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
23267                { # ContainerPort represents a network port in a single container.
23268                  &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
23269                  &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
23270                  &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
23271                  &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
23272                  &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
23273                },
23274              ],
23275              &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
23276                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
23277                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
23278                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
23279                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
23280                      &quot;A String&quot;,
23281                    ],
23282                  },
23283                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
23284                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
23285                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
23286                      { # HTTPHeader describes a custom header to be used in HTTP probes
23287                        &quot;name&quot;: &quot;A String&quot;, # The header field name
23288                        &quot;value&quot;: &quot;A String&quot;, # The header field value
23289                      },
23290                    ],
23291                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
23292                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
23293                      &quot;intVal&quot;: 42, # The int value.
23294                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
23295                      &quot;type&quot;: 42, # The type of the value.
23296                    },
23297                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
23298                  },
23299                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
23300                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
23301                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
23302                      &quot;intVal&quot;: 42, # The int value.
23303                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
23304                      &quot;type&quot;: 42, # The type of the value.
23305                    },
23306                  },
23307                },
23308                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
23309                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
23310                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
23311                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
23312              },
23313              &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
23314                &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
23315                  &quot;a_key&quot;: &quot;A String&quot;,
23316                },
23317                &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
23318                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
23319                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
23320                  },
23321                },
23322                &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
23323                  &quot;a_key&quot;: &quot;A String&quot;,
23324                },
23325                &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
23326                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
23327                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
23328                  },
23329                },
23330              },
23331              &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
23332                &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
23333                &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
23334                  &quot;add&quot;: [ # Added capabilities +optional
23335                    &quot;A String&quot;,
23336                  ],
23337                  &quot;drop&quot;: [ # Removed capabilities +optional
23338                    &quot;A String&quot;,
23339                  ],
23340                },
23341                &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
23342                &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
23343                &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
23344                &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
23345                &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
23346                &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
23347                  &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
23348                  &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
23349                  &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
23350                  &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
23351                },
23352              },
23353              &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
23354              &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
23355              &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
23356              &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
23357              &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
23358              &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
23359                { # volumeDevice describes a mapping of a raw block device within a container.
23360                  &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
23361                  &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
23362                },
23363              ],
23364              &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
23365                { # VolumeMount describes a mounting of a Volume within a container.
23366                  &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
23367                  &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
23368                  &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
23369                  &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
23370                  &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
23371                },
23372              ],
23373              &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
23374            },
23375            &quot;containerConcurrency&quot;: 42, # (Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run on GKE: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
23376            &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided.
23377              { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
23378                &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
23379                  &quot;A String&quot;,
23380                ],
23381                &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
23382                  &quot;A String&quot;,
23383                ],
23384                &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
23385                  { # EnvVar represents an environment variable present in a Container.
23386                    &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
23387                    &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
23388                    &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
23389                      &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
23390                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
23391                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
23392                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
23393                        },
23394                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
23395                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
23396                      },
23397                      &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
23398                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
23399                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
23400                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
23401                        },
23402                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
23403                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
23404                      },
23405                    },
23406                  },
23407                ],
23408                &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
23409                  { # EnvFromSource represents the source of a set of ConfigMaps
23410                    &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
23411                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
23412                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
23413                      },
23414                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
23415                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
23416                    },
23417                    &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
23418                    &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
23419                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
23420                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
23421                      },
23422                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
23423                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
23424                    },
23425                  },
23426                ],
23427                &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
23428                &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
23429                &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
23430                  &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
23431                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
23432                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
23433                        &quot;A String&quot;,
23434                      ],
23435                    },
23436                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
23437                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
23438                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
23439                        { # HTTPHeader describes a custom header to be used in HTTP probes
23440                          &quot;name&quot;: &quot;A String&quot;, # The header field name
23441                          &quot;value&quot;: &quot;A String&quot;, # The header field value
23442                        },
23443                      ],
23444                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
23445                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
23446                        &quot;intVal&quot;: 42, # The int value.
23447                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
23448                        &quot;type&quot;: 42, # The type of the value.
23449                      },
23450                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
23451                    },
23452                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
23453                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
23454                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
23455                        &quot;intVal&quot;: 42, # The int value.
23456                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
23457                        &quot;type&quot;: 42, # The type of the value.
23458                      },
23459                    },
23460                  },
23461                  &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
23462                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
23463                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
23464                        &quot;A String&quot;,
23465                      ],
23466                    },
23467                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
23468                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
23469                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
23470                        { # HTTPHeader describes a custom header to be used in HTTP probes
23471                          &quot;name&quot;: &quot;A String&quot;, # The header field name
23472                          &quot;value&quot;: &quot;A String&quot;, # The header field value
23473                        },
23474                      ],
23475                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
23476                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
23477                        &quot;intVal&quot;: 42, # The int value.
23478                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
23479                        &quot;type&quot;: 42, # The type of the value.
23480                      },
23481                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
23482                    },
23483                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
23484                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
23485                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
23486                        &quot;intVal&quot;: 42, # The int value.
23487                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
23488                        &quot;type&quot;: 42, # The type of the value.
23489                      },
23490                    },
23491                  },
23492                },
23493                &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
23494                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
23495                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
23496                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
23497                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
23498                        &quot;A String&quot;,
23499                      ],
23500                    },
23501                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
23502                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
23503                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
23504                        { # HTTPHeader describes a custom header to be used in HTTP probes
23505                          &quot;name&quot;: &quot;A String&quot;, # The header field name
23506                          &quot;value&quot;: &quot;A String&quot;, # The header field value
23507                        },
23508                      ],
23509                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
23510                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
23511                        &quot;intVal&quot;: 42, # The int value.
23512                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
23513                        &quot;type&quot;: 42, # The type of the value.
23514                      },
23515                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
23516                    },
23517                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
23518                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
23519                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
23520                        &quot;intVal&quot;: 42, # The int value.
23521                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
23522                        &quot;type&quot;: 42, # The type of the value.
23523                      },
23524                    },
23525                  },
23526                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
23527                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
23528                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
23529                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
23530                },
23531                &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
23532                &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
23533                  { # ContainerPort represents a network port in a single container.
23534                    &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
23535                    &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
23536                    &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
23537                    &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
23538                    &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
23539                  },
23540                ],
23541                &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
23542                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
23543                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
23544                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
23545                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
23546                        &quot;A String&quot;,
23547                      ],
23548                    },
23549                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
23550                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
23551                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
23552                        { # HTTPHeader describes a custom header to be used in HTTP probes
23553                          &quot;name&quot;: &quot;A String&quot;, # The header field name
23554                          &quot;value&quot;: &quot;A String&quot;, # The header field value
23555                        },
23556                      ],
23557                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
23558                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
23559                        &quot;intVal&quot;: 42, # The int value.
23560                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
23561                        &quot;type&quot;: 42, # The type of the value.
23562                      },
23563                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
23564                    },
23565                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
23566                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
23567                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
23568                        &quot;intVal&quot;: 42, # The int value.
23569                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
23570                        &quot;type&quot;: 42, # The type of the value.
23571                      },
23572                    },
23573                  },
23574                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
23575                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
23576                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
23577                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
23578                },
23579                &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
23580                  &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
23581                    &quot;a_key&quot;: &quot;A String&quot;,
23582                  },
23583                  &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
23584                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
23585                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
23586                    },
23587                  },
23588                  &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
23589                    &quot;a_key&quot;: &quot;A String&quot;,
23590                  },
23591                  &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
23592                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
23593                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
23594                    },
23595                  },
23596                },
23597                &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
23598                  &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
23599                  &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
23600                    &quot;add&quot;: [ # Added capabilities +optional
23601                      &quot;A String&quot;,
23602                    ],
23603                    &quot;drop&quot;: [ # Removed capabilities +optional
23604                      &quot;A String&quot;,
23605                    ],
23606                  },
23607                  &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
23608                  &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
23609                  &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
23610                  &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
23611                  &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
23612                  &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
23613                    &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
23614                    &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
23615                    &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
23616                    &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
23617                  },
23618                },
23619                &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
23620                &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
23621                &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
23622                &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
23623                &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
23624                &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
23625                  { # volumeDevice describes a mapping of a raw block device within a container.
23626                    &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
23627                    &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
23628                  },
23629                ],
23630                &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
23631                  { # VolumeMount describes a mounting of a Volume within a container.
23632                    &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
23633                    &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
23634                    &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
23635                    &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
23636                    &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
23637                  },
23638                ],
23639                &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
23640              },
23641            ],
23642            &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
23643            &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
23644            &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources are in for this Revision. Users must not specify this when creating a revision. It is expected that the system will manipulate this based on routability and load. Populated by the system. Read-only.
23645            &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Not currently used by Cloud Run.
23646            &quot;volumes&quot;: [
23647              { # Volume represents a named volume in a container.
23648                &quot;configMap&quot;: { # Adapts a ConfigMap into a volume. The contents of the target ConfigMap&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.
23649                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
23650                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
23651                    { # Maps a string key to a path within a volume.
23652                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
23653                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
23654                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
23655                    },
23656                  ],
23657                  &quot;name&quot;: &quot;A String&quot;, # Name of the config.
23658                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
23659                },
23660                &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
23661                &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names.
23662                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
23663                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
23664                    { # Maps a string key to a path within a volume.
23665                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
23666                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
23667                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
23668                    },
23669                  ],
23670                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
23671                  &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
23672                },
23673              },
23674            ],
23675          },
23676        },
23677        &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190 # Template holds the latest specification for the Revision to be stamped out.
23678          &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only). To set maximum instances for this revision, use the &quot;autoscaling.knative.dev/maxScale&quot; annotation key. To set Cloud SQL connections for the revision, use the &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be comma separated.
23679            &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
23680              &quot;a_key&quot;: &quot;A String&quot;,
23681            },
23682            &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
23683            &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
23684            &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
23685            &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
23686            &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
23687              &quot;A String&quot;,
23688            ],
23689            &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
23690            &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
23691            &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
23692              &quot;a_key&quot;: &quot;A String&quot;,
23693            },
23694            &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
23695            &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
23696            &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
23697              { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
23698                &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
23699                &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
23700                &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
23701                &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
23702                &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
23703                &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
23704              },
23705            ],
23706            &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
23707            &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
23708            &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
23709          },
23710          &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).
23711            &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model (Single or Multi) for the Revision. Defaults to Multi. Deprecated in favor of ContainerConcurrency. +optional
23712            &quot;container&quot;: { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime. # Container defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of the fields of this Container, including: name, ports, and volumeMounts. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
23713              &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
23714                &quot;A String&quot;,
23715              ],
23716              &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
23717                &quot;A String&quot;,
23718              ],
23719              &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
23720                { # EnvVar represents an environment variable present in a Container.
23721                  &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
23722                  &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
23723                  &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
23724                    &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
23725                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
23726                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
23727                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
23728                      },
23729                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
23730                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
23731                    },
23732                    &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
23733                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
23734                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
23735                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
23736                      },
23737                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
23738                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
23739                    },
23740                  },
23741                },
23742              ],
23743              &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
23744                { # EnvFromSource represents the source of a set of ConfigMaps
23745                  &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
23746                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
23747                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
23748                    },
23749                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
23750                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
23751                  },
23752                  &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
23753                  &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
23754                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
23755                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
23756                    },
23757                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
23758                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
23759                  },
23760                },
23761              ],
23762              &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
23763              &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
23764              &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
23765                &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
23766                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
23767                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
23768                      &quot;A String&quot;,
23769                    ],
23770                  },
23771                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
23772                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
23773                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
23774                      { # HTTPHeader describes a custom header to be used in HTTP probes
23775                        &quot;name&quot;: &quot;A String&quot;, # The header field name
23776                        &quot;value&quot;: &quot;A String&quot;, # The header field value
23777                      },
23778                    ],
23779                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
23780                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
23781                      &quot;intVal&quot;: 42, # The int value.
23782                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
23783                      &quot;type&quot;: 42, # The type of the value.
23784                    },
23785                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
23786                  },
23787                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
23788                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
23789                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
23790                      &quot;intVal&quot;: 42, # The int value.
23791                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
23792                      &quot;type&quot;: 42, # The type of the value.
23793                    },
23794                  },
23795                },
23796                &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
23797                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
23798                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
23799                      &quot;A String&quot;,
23800                    ],
23801                  },
23802                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
23803                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
23804                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
23805                      { # HTTPHeader describes a custom header to be used in HTTP probes
23806                        &quot;name&quot;: &quot;A String&quot;, # The header field name
23807                        &quot;value&quot;: &quot;A String&quot;, # The header field value
23808                      },
23809                    ],
23810                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
23811                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
23812                      &quot;intVal&quot;: 42, # The int value.
23813                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
23814                      &quot;type&quot;: 42, # The type of the value.
23815                    },
23816                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
23817                  },
23818                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
23819                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
23820                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
23821                      &quot;intVal&quot;: 42, # The int value.
23822                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
23823                      &quot;type&quot;: 42, # The type of the value.
23824                    },
23825                  },
23826                },
23827              },
23828              &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
23829                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
23830                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
23831                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
23832                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
23833                      &quot;A String&quot;,
23834                    ],
23835                  },
23836                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
23837                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
23838                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
23839                      { # HTTPHeader describes a custom header to be used in HTTP probes
23840                        &quot;name&quot;: &quot;A String&quot;, # The header field name
23841                        &quot;value&quot;: &quot;A String&quot;, # The header field value
23842                      },
23843                    ],
23844                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
23845                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
23846                      &quot;intVal&quot;: 42, # The int value.
23847                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
23848                      &quot;type&quot;: 42, # The type of the value.
23849                    },
23850                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
23851                  },
23852                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
23853                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
23854                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
23855                      &quot;intVal&quot;: 42, # The int value.
23856                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
23857                      &quot;type&quot;: 42, # The type of the value.
23858                    },
23859                  },
23860                },
23861                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
23862                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
23863                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
23864                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
23865              },
23866              &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
23867              &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
23868                { # ContainerPort represents a network port in a single container.
23869                  &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
23870                  &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
23871                  &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
23872                  &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
23873                  &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
23874                },
23875              ],
23876              &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
23877                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
23878                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
23879                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
23880                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
23881                      &quot;A String&quot;,
23882                    ],
23883                  },
23884                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
23885                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
23886                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
23887                      { # HTTPHeader describes a custom header to be used in HTTP probes
23888                        &quot;name&quot;: &quot;A String&quot;, # The header field name
23889                        &quot;value&quot;: &quot;A String&quot;, # The header field value
23890                      },
23891                    ],
23892                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
23893                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
23894                      &quot;intVal&quot;: 42, # The int value.
23895                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
23896                      &quot;type&quot;: 42, # The type of the value.
23897                    },
23898                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
23899                  },
23900                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
23901                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
23902                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
23903                      &quot;intVal&quot;: 42, # The int value.
23904                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
23905                      &quot;type&quot;: 42, # The type of the value.
23906                    },
23907                  },
23908                },
23909                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
23910                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
23911                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
23912                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
23913              },
23914              &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
23915                &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
23916                  &quot;a_key&quot;: &quot;A String&quot;,
23917                },
23918                &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
23919                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
23920                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
23921                  },
23922                },
23923                &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
23924                  &quot;a_key&quot;: &quot;A String&quot;,
23925                },
23926                &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
23927                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
23928                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
23929                  },
23930                },
23931              },
23932              &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
23933                &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
23934                &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
23935                  &quot;add&quot;: [ # Added capabilities +optional
23936                    &quot;A String&quot;,
23937                  ],
23938                  &quot;drop&quot;: [ # Removed capabilities +optional
23939                    &quot;A String&quot;,
23940                  ],
23941                },
23942                &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
23943                &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
23944                &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
23945                &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
23946                &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
23947                &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
23948                  &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
23949                  &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
23950                  &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
23951                  &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
23952                },
23953              },
23954              &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
23955              &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
23956              &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
23957              &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
23958              &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
23959              &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
23960                { # volumeDevice describes a mapping of a raw block device within a container.
23961                  &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
23962                  &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
23963                },
23964              ],
23965              &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
23966                { # VolumeMount describes a mounting of a Volume within a container.
23967                  &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
23968                  &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
23969                  &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
23970                  &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
23971                  &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
23972                },
23973              ],
23974              &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
23975            },
23976            &quot;containerConcurrency&quot;: 42, # (Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run on GKE: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
23977            &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided.
23978              { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
23979                &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
23980                  &quot;A String&quot;,
23981                ],
23982                &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
23983                  &quot;A String&quot;,
23984                ],
23985                &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
23986                  { # EnvVar represents an environment variable present in a Container.
23987                    &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
23988                    &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
23989                    &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
23990                      &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
23991                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
23992                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
23993                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
23994                        },
23995                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
23996                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
23997                      },
23998                      &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
23999                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
24000                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
24001                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
24002                        },
24003                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
24004                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
24005                      },
24006                    },
24007                  },
24008                ],
24009                &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
24010                  { # EnvFromSource represents the source of a set of ConfigMaps
24011                    &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
24012                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
24013                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
24014                      },
24015                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
24016                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
24017                    },
24018                    &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
24019                    &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
24020                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
24021                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
24022                      },
24023                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
24024                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
24025                    },
24026                  },
24027                ],
24028                &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
24029                &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
24030                &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
24031                  &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
24032                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
24033                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
24034                        &quot;A String&quot;,
24035                      ],
24036                    },
24037                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
24038                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
24039                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
24040                        { # HTTPHeader describes a custom header to be used in HTTP probes
24041                          &quot;name&quot;: &quot;A String&quot;, # The header field name
24042                          &quot;value&quot;: &quot;A String&quot;, # The header field value
24043                        },
24044                      ],
24045                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
24046                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
24047                        &quot;intVal&quot;: 42, # The int value.
24048                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
24049                        &quot;type&quot;: 42, # The type of the value.
24050                      },
24051                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
24052                    },
24053                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
24054                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
24055                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
24056                        &quot;intVal&quot;: 42, # The int value.
24057                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
24058                        &quot;type&quot;: 42, # The type of the value.
24059                      },
24060                    },
24061                  },
24062                  &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
24063                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
24064                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
24065                        &quot;A String&quot;,
24066                      ],
24067                    },
24068                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
24069                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
24070                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
24071                        { # HTTPHeader describes a custom header to be used in HTTP probes
24072                          &quot;name&quot;: &quot;A String&quot;, # The header field name
24073                          &quot;value&quot;: &quot;A String&quot;, # The header field value
24074                        },
24075                      ],
24076                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
24077                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
24078                        &quot;intVal&quot;: 42, # The int value.
24079                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
24080                        &quot;type&quot;: 42, # The type of the value.
24081                      },
24082                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
24083                    },
24084                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
24085                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
24086                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
24087                        &quot;intVal&quot;: 42, # The int value.
24088                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
24089                        &quot;type&quot;: 42, # The type of the value.
24090                      },
24091                    },
24092                  },
24093                },
24094                &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
24095                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
24096                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
24097                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
24098                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
24099                        &quot;A String&quot;,
24100                      ],
24101                    },
24102                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
24103                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
24104                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
24105                        { # HTTPHeader describes a custom header to be used in HTTP probes
24106                          &quot;name&quot;: &quot;A String&quot;, # The header field name
24107                          &quot;value&quot;: &quot;A String&quot;, # The header field value
24108                        },
24109                      ],
24110                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
24111                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
24112                        &quot;intVal&quot;: 42, # The int value.
24113                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
24114                        &quot;type&quot;: 42, # The type of the value.
24115                      },
24116                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
24117                    },
24118                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
24119                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
24120                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
24121                        &quot;intVal&quot;: 42, # The int value.
24122                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
24123                        &quot;type&quot;: 42, # The type of the value.
24124                      },
24125                    },
24126                  },
24127                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
24128                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
24129                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
24130                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
24131                },
24132                &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
24133                &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
24134                  { # ContainerPort represents a network port in a single container.
24135                    &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
24136                    &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
24137                    &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
24138                    &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
24139                    &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
24140                  },
24141                ],
24142                &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
24143                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
24144                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
24145                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
24146                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
24147                        &quot;A String&quot;,
24148                      ],
24149                    },
24150                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
24151                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
24152                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
24153                        { # HTTPHeader describes a custom header to be used in HTTP probes
24154                          &quot;name&quot;: &quot;A String&quot;, # The header field name
24155                          &quot;value&quot;: &quot;A String&quot;, # The header field value
24156                        },
24157                      ],
24158                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
24159                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
24160                        &quot;intVal&quot;: 42, # The int value.
24161                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
24162                        &quot;type&quot;: 42, # The type of the value.
24163                      },
24164                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
24165                    },
24166                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
24167                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
24168                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
24169                        &quot;intVal&quot;: 42, # The int value.
24170                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
24171                        &quot;type&quot;: 42, # The type of the value.
24172                      },
24173                    },
24174                  },
24175                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
24176                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
24177                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
24178                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
24179                },
24180                &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
24181                  &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
24182                    &quot;a_key&quot;: &quot;A String&quot;,
24183                  },
24184                  &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
24185                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
24186                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
24187                    },
24188                  },
24189                  &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
24190                    &quot;a_key&quot;: &quot;A String&quot;,
24191                  },
24192                  &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
24193                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
24194                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
24195                    },
24196                  },
24197                },
24198                &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
24199                  &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
24200                  &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
24201                    &quot;add&quot;: [ # Added capabilities +optional
24202                      &quot;A String&quot;,
24203                    ],
24204                    &quot;drop&quot;: [ # Removed capabilities +optional
24205                      &quot;A String&quot;,
24206                    ],
24207                  },
24208                  &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
24209                  &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
24210                  &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
24211                  &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
24212                  &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
24213                  &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
24214                    &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
24215                    &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
24216                    &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
24217                    &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
24218                  },
24219                },
24220                &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
24221                &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
24222                &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
24223                &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
24224                &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
24225                &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
24226                  { # volumeDevice describes a mapping of a raw block device within a container.
24227                    &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
24228                    &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
24229                  },
24230                ],
24231                &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
24232                  { # VolumeMount describes a mounting of a Volume within a container.
24233                    &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
24234                    &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
24235                    &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
24236                    &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
24237                    &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
24238                  },
24239                ],
24240                &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
24241              },
24242            ],
24243            &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
24244            &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
24245            &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources are in for this Revision. Users must not specify this when creating a revision. It is expected that the system will manipulate this based on routability and load. Populated by the system. Read-only.
24246            &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Not currently used by Cloud Run.
24247            &quot;volumes&quot;: [
24248              { # Volume represents a named volume in a container.
24249                &quot;configMap&quot;: { # Adapts a ConfigMap into a volume. The contents of the target ConfigMap&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.
24250                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
24251                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
24252                    { # Maps a string key to a path within a volume.
24253                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
24254                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
24255                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
24256                    },
24257                  ],
24258                  &quot;name&quot;: &quot;A String&quot;, # Name of the config.
24259                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
24260                },
24261                &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
24262                &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names.
24263                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
24264                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
24265                    { # Maps a string key to a path within a volume.
24266                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
24267                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
24268                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
24269                    },
24270                  ],
24271                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
24272                  &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
24273                },
24274              },
24275            ],
24276          },
24277        },
24278      },
24279      &quot;revisions&quot;: [ # Revisions is an ordered list of 1 or 2 revisions. The first is the current revision, and the second is the candidate revision. If a single revision is provided, traffic will be pinned at that revision. &quot;@latest&quot; is a shortcut for usage that refers to the latest created revision by the configuration.
24280        &quot;A String&quot;,
24281      ],
24282      &quot;rolloutPercent&quot;: 42, # RolloutPercent is the percent of traffic that should be sent to the candidate revision, i.e. the 2nd revision in the revisions list. Valid values are between 0 and 99 inclusive.
24283    },
24284    &quot;runLatest&quot;: { # ServiceSpecRunLatest contains the options for always having a route to the latest configuration. See ServiceSpec for more details. # RunLatest defines a simple Service. It will automatically configure a route that keeps the latest ready revision from the supplied configuration running. +optional
24285      &quot;configuration&quot;: { # ConfigurationSpec holds the desired state of the Configuration (from the client). # The configuration for this service.
24286        &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
24287        &quot;revisionTemplate&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190 # RevisionTemplate holds the latest specification for the Revision to be stamped out. The template references the container image, and may also include labels and annotations that should be attached to the Revision. To correlate a Revision, and/or to force a Revision to be created when the spec doesn&#x27;t otherwise change, a nonce label may be provided in the template metadata. For more details, see: https://github.com/knative/serving/blob/master/docs/client-conventions.md#associate-modifications-with-revisions Cloud Run does not currently support referencing a build that is responsible for materializing the container image from source.
24288          &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only). To set maximum instances for this revision, use the &quot;autoscaling.knative.dev/maxScale&quot; annotation key. To set Cloud SQL connections for the revision, use the &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be comma separated.
24289            &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
24290              &quot;a_key&quot;: &quot;A String&quot;,
24291            },
24292            &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
24293            &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
24294            &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
24295            &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
24296            &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
24297              &quot;A String&quot;,
24298            ],
24299            &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
24300            &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
24301            &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
24302              &quot;a_key&quot;: &quot;A String&quot;,
24303            },
24304            &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
24305            &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
24306            &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
24307              { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
24308                &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
24309                &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
24310                &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
24311                &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
24312                &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
24313                &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
24314              },
24315            ],
24316            &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
24317            &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
24318            &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
24319          },
24320          &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).
24321            &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model (Single or Multi) for the Revision. Defaults to Multi. Deprecated in favor of ContainerConcurrency. +optional
24322            &quot;container&quot;: { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime. # Container defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of the fields of this Container, including: name, ports, and volumeMounts. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
24323              &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
24324                &quot;A String&quot;,
24325              ],
24326              &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
24327                &quot;A String&quot;,
24328              ],
24329              &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
24330                { # EnvVar represents an environment variable present in a Container.
24331                  &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
24332                  &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
24333                  &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
24334                    &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
24335                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
24336                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
24337                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
24338                      },
24339                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
24340                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
24341                    },
24342                    &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
24343                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
24344                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
24345                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
24346                      },
24347                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
24348                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
24349                    },
24350                  },
24351                },
24352              ],
24353              &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
24354                { # EnvFromSource represents the source of a set of ConfigMaps
24355                  &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
24356                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
24357                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
24358                    },
24359                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
24360                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
24361                  },
24362                  &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
24363                  &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
24364                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
24365                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
24366                    },
24367                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
24368                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
24369                  },
24370                },
24371              ],
24372              &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
24373              &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
24374              &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
24375                &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
24376                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
24377                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
24378                      &quot;A String&quot;,
24379                    ],
24380                  },
24381                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
24382                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
24383                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
24384                      { # HTTPHeader describes a custom header to be used in HTTP probes
24385                        &quot;name&quot;: &quot;A String&quot;, # The header field name
24386                        &quot;value&quot;: &quot;A String&quot;, # The header field value
24387                      },
24388                    ],
24389                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
24390                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
24391                      &quot;intVal&quot;: 42, # The int value.
24392                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
24393                      &quot;type&quot;: 42, # The type of the value.
24394                    },
24395                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
24396                  },
24397                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
24398                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
24399                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
24400                      &quot;intVal&quot;: 42, # The int value.
24401                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
24402                      &quot;type&quot;: 42, # The type of the value.
24403                    },
24404                  },
24405                },
24406                &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
24407                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
24408                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
24409                      &quot;A String&quot;,
24410                    ],
24411                  },
24412                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
24413                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
24414                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
24415                      { # HTTPHeader describes a custom header to be used in HTTP probes
24416                        &quot;name&quot;: &quot;A String&quot;, # The header field name
24417                        &quot;value&quot;: &quot;A String&quot;, # The header field value
24418                      },
24419                    ],
24420                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
24421                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
24422                      &quot;intVal&quot;: 42, # The int value.
24423                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
24424                      &quot;type&quot;: 42, # The type of the value.
24425                    },
24426                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
24427                  },
24428                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
24429                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
24430                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
24431                      &quot;intVal&quot;: 42, # The int value.
24432                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
24433                      &quot;type&quot;: 42, # The type of the value.
24434                    },
24435                  },
24436                },
24437              },
24438              &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
24439                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
24440                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
24441                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
24442                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
24443                      &quot;A String&quot;,
24444                    ],
24445                  },
24446                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
24447                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
24448                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
24449                      { # HTTPHeader describes a custom header to be used in HTTP probes
24450                        &quot;name&quot;: &quot;A String&quot;, # The header field name
24451                        &quot;value&quot;: &quot;A String&quot;, # The header field value
24452                      },
24453                    ],
24454                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
24455                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
24456                      &quot;intVal&quot;: 42, # The int value.
24457                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
24458                      &quot;type&quot;: 42, # The type of the value.
24459                    },
24460                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
24461                  },
24462                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
24463                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
24464                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
24465                      &quot;intVal&quot;: 42, # The int value.
24466                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
24467                      &quot;type&quot;: 42, # The type of the value.
24468                    },
24469                  },
24470                },
24471                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
24472                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
24473                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
24474                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
24475              },
24476              &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
24477              &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
24478                { # ContainerPort represents a network port in a single container.
24479                  &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
24480                  &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
24481                  &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
24482                  &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
24483                  &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
24484                },
24485              ],
24486              &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
24487                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
24488                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
24489                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
24490                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
24491                      &quot;A String&quot;,
24492                    ],
24493                  },
24494                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
24495                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
24496                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
24497                      { # HTTPHeader describes a custom header to be used in HTTP probes
24498                        &quot;name&quot;: &quot;A String&quot;, # The header field name
24499                        &quot;value&quot;: &quot;A String&quot;, # The header field value
24500                      },
24501                    ],
24502                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
24503                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
24504                      &quot;intVal&quot;: 42, # The int value.
24505                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
24506                      &quot;type&quot;: 42, # The type of the value.
24507                    },
24508                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
24509                  },
24510                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
24511                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
24512                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
24513                      &quot;intVal&quot;: 42, # The int value.
24514                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
24515                      &quot;type&quot;: 42, # The type of the value.
24516                    },
24517                  },
24518                },
24519                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
24520                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
24521                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
24522                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
24523              },
24524              &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
24525                &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
24526                  &quot;a_key&quot;: &quot;A String&quot;,
24527                },
24528                &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
24529                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
24530                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
24531                  },
24532                },
24533                &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
24534                  &quot;a_key&quot;: &quot;A String&quot;,
24535                },
24536                &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
24537                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
24538                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
24539                  },
24540                },
24541              },
24542              &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
24543                &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
24544                &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
24545                  &quot;add&quot;: [ # Added capabilities +optional
24546                    &quot;A String&quot;,
24547                  ],
24548                  &quot;drop&quot;: [ # Removed capabilities +optional
24549                    &quot;A String&quot;,
24550                  ],
24551                },
24552                &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
24553                &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
24554                &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
24555                &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
24556                &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
24557                &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
24558                  &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
24559                  &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
24560                  &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
24561                  &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
24562                },
24563              },
24564              &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
24565              &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
24566              &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
24567              &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
24568              &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
24569              &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
24570                { # volumeDevice describes a mapping of a raw block device within a container.
24571                  &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
24572                  &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
24573                },
24574              ],
24575              &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
24576                { # VolumeMount describes a mounting of a Volume within a container.
24577                  &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
24578                  &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
24579                  &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
24580                  &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
24581                  &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
24582                },
24583              ],
24584              &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
24585            },
24586            &quot;containerConcurrency&quot;: 42, # (Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run on GKE: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
24587            &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided.
24588              { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
24589                &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
24590                  &quot;A String&quot;,
24591                ],
24592                &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
24593                  &quot;A String&quot;,
24594                ],
24595                &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
24596                  { # EnvVar represents an environment variable present in a Container.
24597                    &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
24598                    &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
24599                    &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
24600                      &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
24601                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
24602                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
24603                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
24604                        },
24605                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
24606                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
24607                      },
24608                      &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
24609                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
24610                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
24611                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
24612                        },
24613                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
24614                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
24615                      },
24616                    },
24617                  },
24618                ],
24619                &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
24620                  { # EnvFromSource represents the source of a set of ConfigMaps
24621                    &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
24622                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
24623                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
24624                      },
24625                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
24626                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
24627                    },
24628                    &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
24629                    &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
24630                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
24631                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
24632                      },
24633                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
24634                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
24635                    },
24636                  },
24637                ],
24638                &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
24639                &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
24640                &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
24641                  &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
24642                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
24643                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
24644                        &quot;A String&quot;,
24645                      ],
24646                    },
24647                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
24648                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
24649                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
24650                        { # HTTPHeader describes a custom header to be used in HTTP probes
24651                          &quot;name&quot;: &quot;A String&quot;, # The header field name
24652                          &quot;value&quot;: &quot;A String&quot;, # The header field value
24653                        },
24654                      ],
24655                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
24656                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
24657                        &quot;intVal&quot;: 42, # The int value.
24658                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
24659                        &quot;type&quot;: 42, # The type of the value.
24660                      },
24661                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
24662                    },
24663                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
24664                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
24665                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
24666                        &quot;intVal&quot;: 42, # The int value.
24667                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
24668                        &quot;type&quot;: 42, # The type of the value.
24669                      },
24670                    },
24671                  },
24672                  &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
24673                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
24674                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
24675                        &quot;A String&quot;,
24676                      ],
24677                    },
24678                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
24679                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
24680                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
24681                        { # HTTPHeader describes a custom header to be used in HTTP probes
24682                          &quot;name&quot;: &quot;A String&quot;, # The header field name
24683                          &quot;value&quot;: &quot;A String&quot;, # The header field value
24684                        },
24685                      ],
24686                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
24687                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
24688                        &quot;intVal&quot;: 42, # The int value.
24689                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
24690                        &quot;type&quot;: 42, # The type of the value.
24691                      },
24692                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
24693                    },
24694                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
24695                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
24696                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
24697                        &quot;intVal&quot;: 42, # The int value.
24698                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
24699                        &quot;type&quot;: 42, # The type of the value.
24700                      },
24701                    },
24702                  },
24703                },
24704                &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
24705                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
24706                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
24707                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
24708                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
24709                        &quot;A String&quot;,
24710                      ],
24711                    },
24712                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
24713                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
24714                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
24715                        { # HTTPHeader describes a custom header to be used in HTTP probes
24716                          &quot;name&quot;: &quot;A String&quot;, # The header field name
24717                          &quot;value&quot;: &quot;A String&quot;, # The header field value
24718                        },
24719                      ],
24720                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
24721                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
24722                        &quot;intVal&quot;: 42, # The int value.
24723                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
24724                        &quot;type&quot;: 42, # The type of the value.
24725                      },
24726                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
24727                    },
24728                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
24729                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
24730                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
24731                        &quot;intVal&quot;: 42, # The int value.
24732                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
24733                        &quot;type&quot;: 42, # The type of the value.
24734                      },
24735                    },
24736                  },
24737                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
24738                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
24739                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
24740                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
24741                },
24742                &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
24743                &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
24744                  { # ContainerPort represents a network port in a single container.
24745                    &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
24746                    &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
24747                    &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
24748                    &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
24749                    &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
24750                  },
24751                ],
24752                &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
24753                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
24754                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
24755                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
24756                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
24757                        &quot;A String&quot;,
24758                      ],
24759                    },
24760                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
24761                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
24762                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
24763                        { # HTTPHeader describes a custom header to be used in HTTP probes
24764                          &quot;name&quot;: &quot;A String&quot;, # The header field name
24765                          &quot;value&quot;: &quot;A String&quot;, # The header field value
24766                        },
24767                      ],
24768                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
24769                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
24770                        &quot;intVal&quot;: 42, # The int value.
24771                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
24772                        &quot;type&quot;: 42, # The type of the value.
24773                      },
24774                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
24775                    },
24776                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
24777                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
24778                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
24779                        &quot;intVal&quot;: 42, # The int value.
24780                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
24781                        &quot;type&quot;: 42, # The type of the value.
24782                      },
24783                    },
24784                  },
24785                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
24786                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
24787                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
24788                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
24789                },
24790                &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
24791                  &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
24792                    &quot;a_key&quot;: &quot;A String&quot;,
24793                  },
24794                  &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
24795                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
24796                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
24797                    },
24798                  },
24799                  &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
24800                    &quot;a_key&quot;: &quot;A String&quot;,
24801                  },
24802                  &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
24803                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
24804                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
24805                    },
24806                  },
24807                },
24808                &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
24809                  &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
24810                  &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
24811                    &quot;add&quot;: [ # Added capabilities +optional
24812                      &quot;A String&quot;,
24813                    ],
24814                    &quot;drop&quot;: [ # Removed capabilities +optional
24815                      &quot;A String&quot;,
24816                    ],
24817                  },
24818                  &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
24819                  &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
24820                  &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
24821                  &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
24822                  &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
24823                  &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
24824                    &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
24825                    &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
24826                    &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
24827                    &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
24828                  },
24829                },
24830                &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
24831                &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
24832                &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
24833                &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
24834                &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
24835                &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
24836                  { # volumeDevice describes a mapping of a raw block device within a container.
24837                    &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
24838                    &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
24839                  },
24840                ],
24841                &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
24842                  { # VolumeMount describes a mounting of a Volume within a container.
24843                    &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
24844                    &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
24845                    &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
24846                    &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
24847                    &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
24848                  },
24849                ],
24850                &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
24851              },
24852            ],
24853            &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
24854            &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
24855            &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources are in for this Revision. Users must not specify this when creating a revision. It is expected that the system will manipulate this based on routability and load. Populated by the system. Read-only.
24856            &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Not currently used by Cloud Run.
24857            &quot;volumes&quot;: [
24858              { # Volume represents a named volume in a container.
24859                &quot;configMap&quot;: { # Adapts a ConfigMap into a volume. The contents of the target ConfigMap&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.
24860                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
24861                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
24862                    { # Maps a string key to a path within a volume.
24863                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
24864                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
24865                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
24866                    },
24867                  ],
24868                  &quot;name&quot;: &quot;A String&quot;, # Name of the config.
24869                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
24870                },
24871                &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
24872                &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names.
24873                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
24874                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
24875                    { # Maps a string key to a path within a volume.
24876                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
24877                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
24878                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
24879                    },
24880                  ],
24881                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
24882                  &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
24883                },
24884              },
24885            ],
24886          },
24887        },
24888        &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190 # Template holds the latest specification for the Revision to be stamped out.
24889          &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only). To set maximum instances for this revision, use the &quot;autoscaling.knative.dev/maxScale&quot; annotation key. To set Cloud SQL connections for the revision, use the &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be comma separated.
24890            &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
24891              &quot;a_key&quot;: &quot;A String&quot;,
24892            },
24893            &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
24894            &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
24895            &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
24896            &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
24897            &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
24898              &quot;A String&quot;,
24899            ],
24900            &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
24901            &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
24902            &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
24903              &quot;a_key&quot;: &quot;A String&quot;,
24904            },
24905            &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
24906            &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
24907            &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
24908              { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
24909                &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
24910                &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
24911                &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
24912                &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
24913                &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
24914                &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
24915              },
24916            ],
24917            &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
24918            &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
24919            &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
24920          },
24921          &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).
24922            &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model (Single or Multi) for the Revision. Defaults to Multi. Deprecated in favor of ContainerConcurrency. +optional
24923            &quot;container&quot;: { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime. # Container defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of the fields of this Container, including: name, ports, and volumeMounts. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
24924              &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
24925                &quot;A String&quot;,
24926              ],
24927              &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
24928                &quot;A String&quot;,
24929              ],
24930              &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
24931                { # EnvVar represents an environment variable present in a Container.
24932                  &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
24933                  &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
24934                  &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
24935                    &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
24936                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
24937                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
24938                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
24939                      },
24940                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
24941                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
24942                    },
24943                    &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
24944                      &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
24945                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
24946                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
24947                      },
24948                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
24949                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
24950                    },
24951                  },
24952                },
24953              ],
24954              &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
24955                { # EnvFromSource represents the source of a set of ConfigMaps
24956                  &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
24957                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
24958                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
24959                    },
24960                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
24961                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
24962                  },
24963                  &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
24964                  &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
24965                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
24966                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
24967                    },
24968                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
24969                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
24970                  },
24971                },
24972              ],
24973              &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
24974              &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
24975              &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
24976                &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
24977                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
24978                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
24979                      &quot;A String&quot;,
24980                    ],
24981                  },
24982                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
24983                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
24984                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
24985                      { # HTTPHeader describes a custom header to be used in HTTP probes
24986                        &quot;name&quot;: &quot;A String&quot;, # The header field name
24987                        &quot;value&quot;: &quot;A String&quot;, # The header field value
24988                      },
24989                    ],
24990                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
24991                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
24992                      &quot;intVal&quot;: 42, # The int value.
24993                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
24994                      &quot;type&quot;: 42, # The type of the value.
24995                    },
24996                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
24997                  },
24998                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
24999                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
25000                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
25001                      &quot;intVal&quot;: 42, # The int value.
25002                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
25003                      &quot;type&quot;: 42, # The type of the value.
25004                    },
25005                  },
25006                },
25007                &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
25008                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
25009                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
25010                      &quot;A String&quot;,
25011                    ],
25012                  },
25013                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
25014                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
25015                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
25016                      { # HTTPHeader describes a custom header to be used in HTTP probes
25017                        &quot;name&quot;: &quot;A String&quot;, # The header field name
25018                        &quot;value&quot;: &quot;A String&quot;, # The header field value
25019                      },
25020                    ],
25021                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
25022                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
25023                      &quot;intVal&quot;: 42, # The int value.
25024                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
25025                      &quot;type&quot;: 42, # The type of the value.
25026                    },
25027                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
25028                  },
25029                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
25030                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
25031                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
25032                      &quot;intVal&quot;: 42, # The int value.
25033                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
25034                      &quot;type&quot;: 42, # The type of the value.
25035                    },
25036                  },
25037                },
25038              },
25039              &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
25040                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
25041                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
25042                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
25043                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
25044                      &quot;A String&quot;,
25045                    ],
25046                  },
25047                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
25048                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
25049                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
25050                      { # HTTPHeader describes a custom header to be used in HTTP probes
25051                        &quot;name&quot;: &quot;A String&quot;, # The header field name
25052                        &quot;value&quot;: &quot;A String&quot;, # The header field value
25053                      },
25054                    ],
25055                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
25056                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
25057                      &quot;intVal&quot;: 42, # The int value.
25058                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
25059                      &quot;type&quot;: 42, # The type of the value.
25060                    },
25061                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
25062                  },
25063                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
25064                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
25065                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
25066                      &quot;intVal&quot;: 42, # The int value.
25067                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
25068                      &quot;type&quot;: 42, # The type of the value.
25069                    },
25070                  },
25071                },
25072                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
25073                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
25074                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
25075                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
25076              },
25077              &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
25078              &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
25079                { # ContainerPort represents a network port in a single container.
25080                  &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
25081                  &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
25082                  &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
25083                  &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
25084                  &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
25085                },
25086              ],
25087              &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
25088                &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
25089                &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
25090                  &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
25091                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
25092                      &quot;A String&quot;,
25093                    ],
25094                  },
25095                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
25096                    &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
25097                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
25098                      { # HTTPHeader describes a custom header to be used in HTTP probes
25099                        &quot;name&quot;: &quot;A String&quot;, # The header field name
25100                        &quot;value&quot;: &quot;A String&quot;, # The header field value
25101                      },
25102                    ],
25103                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
25104                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
25105                      &quot;intVal&quot;: 42, # The int value.
25106                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
25107                      &quot;type&quot;: 42, # The type of the value.
25108                    },
25109                    &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
25110                  },
25111                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
25112                    &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
25113                    &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
25114                      &quot;intVal&quot;: 42, # The int value.
25115                      &quot;strVal&quot;: &quot;A String&quot;, # The string value.
25116                      &quot;type&quot;: 42, # The type of the value.
25117                    },
25118                  },
25119                },
25120                &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
25121                &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
25122                &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
25123                &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
25124              },
25125              &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
25126                &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
25127                  &quot;a_key&quot;: &quot;A String&quot;,
25128                },
25129                &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
25130                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
25131                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
25132                  },
25133                },
25134                &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
25135                  &quot;a_key&quot;: &quot;A String&quot;,
25136                },
25137                &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
25138                  &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
25139                    &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
25140                  },
25141                },
25142              },
25143              &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
25144                &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
25145                &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
25146                  &quot;add&quot;: [ # Added capabilities +optional
25147                    &quot;A String&quot;,
25148                  ],
25149                  &quot;drop&quot;: [ # Removed capabilities +optional
25150                    &quot;A String&quot;,
25151                  ],
25152                },
25153                &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
25154                &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
25155                &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
25156                &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
25157                &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
25158                &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
25159                  &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
25160                  &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
25161                  &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
25162                  &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
25163                },
25164              },
25165              &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
25166              &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
25167              &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
25168              &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
25169              &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
25170              &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
25171                { # volumeDevice describes a mapping of a raw block device within a container.
25172                  &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
25173                  &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
25174                },
25175              ],
25176              &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
25177                { # VolumeMount describes a mounting of a Volume within a container.
25178                  &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
25179                  &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
25180                  &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
25181                  &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
25182                  &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
25183                },
25184              ],
25185              &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
25186            },
25187            &quot;containerConcurrency&quot;: 42, # (Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run on GKE: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
25188            &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided.
25189              { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
25190                &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
25191                  &quot;A String&quot;,
25192                ],
25193                &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
25194                  &quot;A String&quot;,
25195                ],
25196                &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
25197                  { # EnvVar represents an environment variable present in a Container.
25198                    &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
25199                    &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
25200                    &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
25201                      &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
25202                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
25203                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
25204                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
25205                        },
25206                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
25207                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
25208                      },
25209                      &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
25210                        &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
25211                        &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
25212                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
25213                        },
25214                        &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
25215                        &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
25216                      },
25217                    },
25218                  },
25219                ],
25220                &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
25221                  { # EnvFromSource represents the source of a set of ConfigMaps
25222                    &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
25223                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
25224                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
25225                      },
25226                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
25227                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
25228                    },
25229                    &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
25230                    &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
25231                      &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
25232                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
25233                      },
25234                      &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
25235                      &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
25236                    },
25237                  },
25238                ],
25239                &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
25240                &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
25241                &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
25242                  &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
25243                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
25244                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
25245                        &quot;A String&quot;,
25246                      ],
25247                    },
25248                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
25249                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
25250                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
25251                        { # HTTPHeader describes a custom header to be used in HTTP probes
25252                          &quot;name&quot;: &quot;A String&quot;, # The header field name
25253                          &quot;value&quot;: &quot;A String&quot;, # The header field value
25254                        },
25255                      ],
25256                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
25257                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
25258                        &quot;intVal&quot;: 42, # The int value.
25259                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
25260                        &quot;type&quot;: 42, # The type of the value.
25261                      },
25262                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
25263                    },
25264                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
25265                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
25266                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
25267                        &quot;intVal&quot;: 42, # The int value.
25268                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
25269                        &quot;type&quot;: 42, # The type of the value.
25270                      },
25271                    },
25272                  },
25273                  &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
25274                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
25275                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
25276                        &quot;A String&quot;,
25277                      ],
25278                    },
25279                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
25280                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
25281                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
25282                        { # HTTPHeader describes a custom header to be used in HTTP probes
25283                          &quot;name&quot;: &quot;A String&quot;, # The header field name
25284                          &quot;value&quot;: &quot;A String&quot;, # The header field value
25285                        },
25286                      ],
25287                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
25288                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
25289                        &quot;intVal&quot;: 42, # The int value.
25290                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
25291                        &quot;type&quot;: 42, # The type of the value.
25292                      },
25293                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
25294                    },
25295                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
25296                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
25297                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
25298                        &quot;intVal&quot;: 42, # The int value.
25299                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
25300                        &quot;type&quot;: 42, # The type of the value.
25301                      },
25302                    },
25303                  },
25304                },
25305                &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
25306                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
25307                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
25308                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
25309                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
25310                        &quot;A String&quot;,
25311                      ],
25312                    },
25313                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
25314                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
25315                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
25316                        { # HTTPHeader describes a custom header to be used in HTTP probes
25317                          &quot;name&quot;: &quot;A String&quot;, # The header field name
25318                          &quot;value&quot;: &quot;A String&quot;, # The header field value
25319                        },
25320                      ],
25321                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
25322                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
25323                        &quot;intVal&quot;: 42, # The int value.
25324                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
25325                        &quot;type&quot;: 42, # The type of the value.
25326                      },
25327                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
25328                    },
25329                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
25330                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
25331                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
25332                        &quot;intVal&quot;: 42, # The int value.
25333                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
25334                        &quot;type&quot;: 42, # The type of the value.
25335                      },
25336                    },
25337                  },
25338                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
25339                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
25340                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
25341                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
25342                },
25343                &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
25344                &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
25345                  { # ContainerPort represents a network port in a single container.
25346                    &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
25347                    &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
25348                    &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
25349                    &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
25350                    &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
25351                  },
25352                ],
25353                &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
25354                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
25355                  &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
25356                    &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
25357                      &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
25358                        &quot;A String&quot;,
25359                      ],
25360                    },
25361                    &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
25362                      &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
25363                      &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
25364                        { # HTTPHeader describes a custom header to be used in HTTP probes
25365                          &quot;name&quot;: &quot;A String&quot;, # The header field name
25366                          &quot;value&quot;: &quot;A String&quot;, # The header field value
25367                        },
25368                      ],
25369                      &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
25370                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
25371                        &quot;intVal&quot;: 42, # The int value.
25372                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
25373                        &quot;type&quot;: 42, # The type of the value.
25374                      },
25375                      &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
25376                    },
25377                    &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
25378                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
25379                      &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
25380                        &quot;intVal&quot;: 42, # The int value.
25381                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
25382                        &quot;type&quot;: 42, # The type of the value.
25383                      },
25384                    },
25385                  },
25386                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
25387                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
25388                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
25389                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
25390                },
25391                &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
25392                  &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
25393                    &quot;a_key&quot;: &quot;A String&quot;,
25394                  },
25395                  &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
25396                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
25397                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
25398                    },
25399                  },
25400                  &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
25401                    &quot;a_key&quot;: &quot;A String&quot;,
25402                  },
25403                  &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
25404                    &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
25405                      &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
25406                    },
25407                  },
25408                },
25409                &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
25410                  &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
25411                  &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
25412                    &quot;add&quot;: [ # Added capabilities +optional
25413                      &quot;A String&quot;,
25414                    ],
25415                    &quot;drop&quot;: [ # Removed capabilities +optional
25416                      &quot;A String&quot;,
25417                    ],
25418                  },
25419                  &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
25420                  &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
25421                  &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
25422                  &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
25423                  &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
25424                  &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
25425                    &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
25426                    &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
25427                    &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
25428                    &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
25429                  },
25430                },
25431                &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
25432                &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
25433                &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
25434                &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
25435                &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
25436                &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
25437                  { # volumeDevice describes a mapping of a raw block device within a container.
25438                    &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
25439                    &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
25440                  },
25441                ],
25442                &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
25443                  { # VolumeMount describes a mounting of a Volume within a container.
25444                    &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
25445                    &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
25446                    &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
25447                    &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
25448                    &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
25449                  },
25450                ],
25451                &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
25452              },
25453            ],
25454            &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
25455            &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
25456            &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources are in for this Revision. Users must not specify this when creating a revision. It is expected that the system will manipulate this based on routability and load. Populated by the system. Read-only.
25457            &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Not currently used by Cloud Run.
25458            &quot;volumes&quot;: [
25459              { # Volume represents a named volume in a container.
25460                &quot;configMap&quot;: { # Adapts a ConfigMap into a volume. The contents of the target ConfigMap&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.
25461                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
25462                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
25463                    { # Maps a string key to a path within a volume.
25464                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
25465                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
25466                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
25467                    },
25468                  ],
25469                  &quot;name&quot;: &quot;A String&quot;, # Name of the config.
25470                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
25471                },
25472                &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
25473                &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names.
25474                  &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
25475                  &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
25476                    { # Maps a string key to a path within a volume.
25477                      &quot;key&quot;: &quot;A String&quot;, # The key to project.
25478                      &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
25479                      &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
25480                    },
25481                  ],
25482                  &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
25483                  &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
25484                },
25485              },
25486            ],
25487          },
25488        },
25489      },
25490    },
25491    &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190 # Template holds the latest specification for the Revision to be stamped out.
25492      &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only). To set maximum instances for this revision, use the &quot;autoscaling.knative.dev/maxScale&quot; annotation key. To set Cloud SQL connections for the revision, use the &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be comma separated.
25493        &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations +optional
25494          &quot;a_key&quot;: &quot;A String&quot;,
25495        },
25496        &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional
25497        &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
25498        &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional
25499        &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
25500        &quot;finalizers&quot;: [ # Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge
25501          &quot;A String&quot;,
25502        ],
25503        &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;
25504        &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional
25505        &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional
25506          &quot;a_key&quot;: &quot;A String&quot;,
25507        },
25508        &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional
25509        &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number.
25510        &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional
25511          { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.
25512            &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
25513            &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs &quot;delete&quot; permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. +optional
25514            &quot;controller&quot;: True or False, # If true, this reference points to the managing controller. +optional
25515            &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
25516            &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
25517            &quot;uid&quot;: &quot;A String&quot;, # UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
25518          },
25519        ],
25520        &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
25521        &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;
25522        &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
25523      },
25524      &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).
25525        &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model (Single or Multi) for the Revision. Defaults to Multi. Deprecated in favor of ContainerConcurrency. +optional
25526        &quot;container&quot;: { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime. # Container defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of the fields of this Container, including: name, ports, and volumeMounts. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md
25527          &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
25528            &quot;A String&quot;,
25529          ],
25530          &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
25531            &quot;A String&quot;,
25532          ],
25533          &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
25534            { # EnvVar represents an environment variable present in a Container.
25535              &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
25536              &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
25537              &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
25538                &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
25539                  &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
25540                  &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
25541                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
25542                  },
25543                  &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
25544                  &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
25545                },
25546                &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
25547                  &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
25548                  &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
25549                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
25550                  },
25551                  &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
25552                  &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
25553                },
25554              },
25555            },
25556          ],
25557          &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
25558            { # EnvFromSource represents the source of a set of ConfigMaps
25559              &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
25560                &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
25561                  &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
25562                },
25563                &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
25564                &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
25565              },
25566              &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
25567              &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
25568                &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
25569                  &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
25570                },
25571                &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
25572                &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
25573              },
25574            },
25575          ],
25576          &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
25577          &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
25578          &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
25579            &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
25580              &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
25581                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
25582                  &quot;A String&quot;,
25583                ],
25584              },
25585              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
25586                &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
25587                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
25588                  { # HTTPHeader describes a custom header to be used in HTTP probes
25589                    &quot;name&quot;: &quot;A String&quot;, # The header field name
25590                    &quot;value&quot;: &quot;A String&quot;, # The header field value
25591                  },
25592                ],
25593                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
25594                &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
25595                  &quot;intVal&quot;: 42, # The int value.
25596                  &quot;strVal&quot;: &quot;A String&quot;, # The string value.
25597                  &quot;type&quot;: 42, # The type of the value.
25598                },
25599                &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
25600              },
25601              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
25602                &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
25603                &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
25604                  &quot;intVal&quot;: 42, # The int value.
25605                  &quot;strVal&quot;: &quot;A String&quot;, # The string value.
25606                  &quot;type&quot;: 42, # The type of the value.
25607                },
25608              },
25609            },
25610            &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
25611              &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
25612                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
25613                  &quot;A String&quot;,
25614                ],
25615              },
25616              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
25617                &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
25618                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
25619                  { # HTTPHeader describes a custom header to be used in HTTP probes
25620                    &quot;name&quot;: &quot;A String&quot;, # The header field name
25621                    &quot;value&quot;: &quot;A String&quot;, # The header field value
25622                  },
25623                ],
25624                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
25625                &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
25626                  &quot;intVal&quot;: 42, # The int value.
25627                  &quot;strVal&quot;: &quot;A String&quot;, # The string value.
25628                  &quot;type&quot;: 42, # The type of the value.
25629                },
25630                &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
25631              },
25632              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
25633                &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
25634                &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
25635                  &quot;intVal&quot;: 42, # The int value.
25636                  &quot;strVal&quot;: &quot;A String&quot;, # The string value.
25637                  &quot;type&quot;: 42, # The type of the value.
25638                },
25639              },
25640            },
25641          },
25642          &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
25643            &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
25644            &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
25645              &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
25646                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
25647                  &quot;A String&quot;,
25648                ],
25649              },
25650              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
25651                &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
25652                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
25653                  { # HTTPHeader describes a custom header to be used in HTTP probes
25654                    &quot;name&quot;: &quot;A String&quot;, # The header field name
25655                    &quot;value&quot;: &quot;A String&quot;, # The header field value
25656                  },
25657                ],
25658                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
25659                &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
25660                  &quot;intVal&quot;: 42, # The int value.
25661                  &quot;strVal&quot;: &quot;A String&quot;, # The string value.
25662                  &quot;type&quot;: 42, # The type of the value.
25663                },
25664                &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
25665              },
25666              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
25667                &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
25668                &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
25669                  &quot;intVal&quot;: 42, # The int value.
25670                  &quot;strVal&quot;: &quot;A String&quot;, # The string value.
25671                  &quot;type&quot;: 42, # The type of the value.
25672                },
25673              },
25674            },
25675            &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
25676            &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
25677            &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
25678            &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
25679          },
25680          &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
25681          &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
25682            { # ContainerPort represents a network port in a single container.
25683              &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
25684              &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
25685              &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
25686              &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
25687              &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
25688            },
25689          ],
25690          &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
25691            &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
25692            &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
25693              &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
25694                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
25695                  &quot;A String&quot;,
25696                ],
25697              },
25698              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
25699                &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
25700                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
25701                  { # HTTPHeader describes a custom header to be used in HTTP probes
25702                    &quot;name&quot;: &quot;A String&quot;, # The header field name
25703                    &quot;value&quot;: &quot;A String&quot;, # The header field value
25704                  },
25705                ],
25706                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
25707                &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
25708                  &quot;intVal&quot;: 42, # The int value.
25709                  &quot;strVal&quot;: &quot;A String&quot;, # The string value.
25710                  &quot;type&quot;: 42, # The type of the value.
25711                },
25712                &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
25713              },
25714              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
25715                &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
25716                &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
25717                  &quot;intVal&quot;: 42, # The int value.
25718                  &quot;strVal&quot;: &quot;A String&quot;, # The string value.
25719                  &quot;type&quot;: 42, # The type of the value.
25720                },
25721              },
25722            },
25723            &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
25724            &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
25725            &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
25726            &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
25727          },
25728          &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
25729            &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
25730              &quot;a_key&quot;: &quot;A String&quot;,
25731            },
25732            &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
25733              &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
25734                &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
25735              },
25736            },
25737            &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
25738              &quot;a_key&quot;: &quot;A String&quot;,
25739            },
25740            &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
25741              &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
25742                &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
25743              },
25744            },
25745          },
25746          &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
25747            &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
25748            &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
25749              &quot;add&quot;: [ # Added capabilities +optional
25750                &quot;A String&quot;,
25751              ],
25752              &quot;drop&quot;: [ # Removed capabilities +optional
25753                &quot;A String&quot;,
25754              ],
25755            },
25756            &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
25757            &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
25758            &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
25759            &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
25760            &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
25761            &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
25762              &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
25763              &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
25764              &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
25765              &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
25766            },
25767          },
25768          &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
25769          &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
25770          &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
25771          &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
25772          &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
25773          &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
25774            { # volumeDevice describes a mapping of a raw block device within a container.
25775              &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
25776              &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
25777            },
25778          ],
25779          &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
25780            { # VolumeMount describes a mounting of a Volume within a container.
25781              &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
25782              &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
25783              &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
25784              &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
25785              &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
25786            },
25787          ],
25788          &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
25789        },
25790        &quot;containerConcurrency&quot;: 42, # (Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run on GKE: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
25791        &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided.
25792          { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
25793            &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
25794              &quot;A String&quot;,
25795            ],
25796            &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container&#x27;s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional
25797              &quot;A String&quot;,
25798            ],
25799            &quot;env&quot;: [ # List of environment variables to set in the container. Cannot be updated. +optional
25800              { # EnvVar represents an environment variable present in a Container.
25801                &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
25802                &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to &quot;&quot;. +optional
25803                &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable&#x27;s value. Cannot be used if value is not empty. +optional
25804                  &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional
25805                    &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.
25806                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
25807                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
25808                    },
25809                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.
25810                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional
25811                  },
25812                  &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret. # Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod&#x27;s namespace +optional
25813                    &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.
25814                    &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
25815                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
25816                    },
25817                    &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod&#x27;s namespace to select from.
25818                    &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional
25819                  },
25820                },
25821              },
25822            ],
25823            &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional
25824              { # EnvFromSource represents the source of a set of ConfigMaps
25825                &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from +optional
25826                  &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
25827                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
25828                  },
25829                  &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.
25830                  &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional
25831                },
25832                &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional
25833                &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from +optional
25834                  &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
25835                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
25836                  },
25837                  &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.
25838                  &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional
25839                },
25840              },
25841            ],
25842            &quot;image&quot;: &quot;A String&quot;, # Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
25843            &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional
25844            &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. # Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional
25845              &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
25846                &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
25847                  &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
25848                    &quot;A String&quot;,
25849                  ],
25850                },
25851                &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
25852                  &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
25853                  &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
25854                    { # HTTPHeader describes a custom header to be used in HTTP probes
25855                      &quot;name&quot;: &quot;A String&quot;, # The header field name
25856                      &quot;value&quot;: &quot;A String&quot;, # The header field value
25857                    },
25858                  ],
25859                  &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
25860                  &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
25861                    &quot;intVal&quot;: 42, # The int value.
25862                    &quot;strVal&quot;: &quot;A String&quot;, # The string value.
25863                    &quot;type&quot;: 42, # The type of the value.
25864                  },
25865                  &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
25866                },
25867                &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
25868                  &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
25869                  &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
25870                    &quot;intVal&quot;: 42, # The int value.
25871                    &quot;strVal&quot;: &quot;A String&quot;, # The string value.
25872                    &quot;type&quot;: 42, # The type of the value.
25873                  },
25874                },
25875              },
25876              &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional
25877                &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
25878                  &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
25879                    &quot;A String&quot;,
25880                  ],
25881                },
25882                &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
25883                  &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
25884                  &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
25885                    { # HTTPHeader describes a custom header to be used in HTTP probes
25886                      &quot;name&quot;: &quot;A String&quot;, # The header field name
25887                      &quot;value&quot;: &quot;A String&quot;, # The header field value
25888                    },
25889                  ],
25890                  &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
25891                  &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
25892                    &quot;intVal&quot;: 42, # The int value.
25893                    &quot;strVal&quot;: &quot;A String&quot;, # The string value.
25894                    &quot;type&quot;: 42, # The type of the value.
25895                  },
25896                  &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
25897                },
25898                &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
25899                  &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
25900                  &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
25901                    &quot;intVal&quot;: 42, # The int value.
25902                    &quot;strVal&quot;: &quot;A String&quot;, # The string value.
25903                    &quot;type&quot;: 42, # The type of the value.
25904                  },
25905                },
25906              },
25907            },
25908            &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
25909              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
25910              &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
25911                &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
25912                  &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
25913                    &quot;A String&quot;,
25914                  ],
25915                },
25916                &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
25917                  &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
25918                  &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
25919                    { # HTTPHeader describes a custom header to be used in HTTP probes
25920                      &quot;name&quot;: &quot;A String&quot;, # The header field name
25921                      &quot;value&quot;: &quot;A String&quot;, # The header field value
25922                    },
25923                  ],
25924                  &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
25925                  &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
25926                    &quot;intVal&quot;: 42, # The int value.
25927                    &quot;strVal&quot;: &quot;A String&quot;, # The string value.
25928                    &quot;type&quot;: 42, # The type of the value.
25929                  },
25930                  &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
25931                },
25932                &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
25933                  &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
25934                  &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
25935                    &quot;intVal&quot;: 42, # The int value.
25936                    &quot;strVal&quot;: &quot;A String&quot;, # The string value.
25937                    &quot;type&quot;: 42, # The type of the value.
25938                  },
25939                },
25940              },
25941              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
25942              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
25943              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
25944              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
25945            },
25946            &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.
25947            &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default &quot;0.0.0.0&quot; address inside a container will be accessible from the network. Cannot be updated. +optional
25948              { # ContainerPort represents a network port in a single container.
25949                &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address. This must be a valid port number, 0 &lt; x &lt; 65536.
25950                &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to. +optional
25951                &quot;hostPort&quot;: 42, # Number of port to expose on the host. If specified, this must be a valid port number, 0 &lt; x &lt; 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional
25952                &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional
25953                &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP. Defaults to &quot;TCP&quot;. +optional
25954              },
25955            ],
25956            &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
25957              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional
25958              &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
25959                &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified. Exec specifies the action to take. +optional
25960                  &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional
25961                    &quot;A String&quot;,
25962                  ],
25963                },
25964                &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform. +optional
25965                  &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set &quot;Host&quot; in httpHeaders instead. +optional
25966                  &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers. +optional
25967                    { # HTTPHeader describes a custom header to be used in HTTP probes
25968                      &quot;name&quot;: &quot;A String&quot;, # The header field name
25969                      &quot;value&quot;: &quot;A String&quot;, # The header field value
25970                    },
25971                  ],
25972                  &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server. +optional
25973                  &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
25974                    &quot;intVal&quot;: 42, # The int value.
25975                    &quot;strVal&quot;: &quot;A String&quot;, # The string value.
25976                    &quot;type&quot;: 42, # The type of the value.
25977                  },
25978                  &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host. Defaults to HTTP. +optional
25979                },
25980                &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
25981                  &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP. +optional
25982                  &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. # Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
25983                    &quot;intVal&quot;: 42, # The int value.
25984                    &quot;strVal&quot;: &quot;A String&quot;, # The string value.
25985                    &quot;type&quot;: 42, # The type of the value.
25986                  },
25987                },
25988              },
25989              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
25990              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional
25991              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional
25992              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional
25993            },
25994            &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional
25995              &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
25996                &quot;a_key&quot;: &quot;A String&quot;,
25997              },
25998              &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.
25999                &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
26000                  &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
26001                },
26002              },
26003              &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the &#x27;quantity&#x27; k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
26004                &quot;a_key&quot;: &quot;A String&quot;,
26005              },
26006              &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.
26007                &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
26008                  &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
26009                },
26010              },
26011            },
26012            &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional
26013              &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional
26014              &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional
26015                &quot;add&quot;: [ # Added capabilities +optional
26016                  &quot;A String&quot;,
26017                ],
26018                &quot;drop&quot;: [ # Removed capabilities +optional
26019                  &quot;A String&quot;,
26020                ],
26021              },
26022              &quot;privileged&quot;: True or False, # Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional
26023              &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem. Default is false. +optional
26024              &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
26025              &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
26026              &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
26027              &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional
26028                &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container. +optional
26029                &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container. +optional
26030                &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container. +optional
26031                &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container. +optional
26032              },
26033            },
26034            &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional
26035            &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional
26036            &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional
26037            &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional
26038            &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires &#x27;stdin&#x27; to be true. Default is false. +optional
26039            &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional
26040              { # volumeDevice describes a mapping of a raw block device within a container.
26041                &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be mapped to.
26042                &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
26043              },
26044            ],
26045            &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem. Cannot be updated. +optional
26046              { # VolumeMount describes a mounting of a Volume within a container.
26047                &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
26048                &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional
26049                &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
26050                &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional
26051                &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). +optional
26052              },
26053            ],
26054            &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image. Cannot be updated. +optional
26055          },
26056        ],
26057        &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.
26058        &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
26059        &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources are in for this Revision. Users must not specify this when creating a revision. It is expected that the system will manipulate this based on routability and load. Populated by the system. Read-only.
26060        &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Not currently used by Cloud Run.
26061        &quot;volumes&quot;: [
26062          { # Volume represents a named volume in a container.
26063            &quot;configMap&quot;: { # Adapts a ConfigMap into a volume. The contents of the target ConfigMap&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.
26064              &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
26065              &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
26066                { # Maps a string key to a path within a volume.
26067                  &quot;key&quot;: &quot;A String&quot;, # The key to project.
26068                  &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
26069                  &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
26070                },
26071              ],
26072              &quot;name&quot;: &quot;A String&quot;, # Name of the config.
26073              &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
26074            },
26075            &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
26076            &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume as files using the keys in the Data field as the file names.
26077              &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
26078              &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.
26079                { # Maps a string key to a path within a volume.
26080                  &quot;key&quot;: &quot;A String&quot;, # The key to project.
26081                  &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional
26082                  &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to. May not be an absolute path. May not contain the path element &#x27;..&#x27;. May not start with the string &#x27;..&#x27;.
26083                },
26084              ],
26085              &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
26086              &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
26087            },
26088          },
26089        ],
26090      },
26091    },
26092    &quot;traffic&quot;: [ # Traffic specifies how to distribute traffic over a collection of Knative Revisions and Configurations.
26093      { # TrafficTarget holds a single entry of the routing table for a Route.
26094        &quot;configurationName&quot;: &quot;A String&quot;, # ConfigurationName of a configuration to whose latest revision we will send this portion of traffic. When the &quot;status.latestReadyRevisionName&quot; of the referenced configuration changes, we will automatically migrate traffic from the prior &quot;latest ready&quot; revision to the new one. This field is never set in Route&#x27;s status, only its spec. This is mutually exclusive with RevisionName. Cloud Run currently supports a single ConfigurationName.
26095        &quot;latestRevision&quot;: True or False, # LatestRevision may be optionally provided to indicate that the latest ready Revision of the Configuration should be used for this traffic target. When provided LatestRevision must be true if RevisionName is empty; it must be false when RevisionName is non-empty. +optional
26096        &quot;name&quot;: &quot;A String&quot;, # Name is optionally used to expose a dedicated hostname for referencing this target exclusively. Not currently supported by Cloud Run. +optional
26097        &quot;percent&quot;: 42, # Percent specifies percent of the traffic to this Revision or Configuration. This defaults to zero if unspecified. Cloud Run currently requires 100 percent for a single ConfigurationName TrafficTarget entry.
26098        &quot;revisionName&quot;: &quot;A String&quot;, # RevisionName of a specific revision to which to send this portion of traffic. This is mutually exclusive with ConfigurationName. Providing RevisionName in spec is not currently supported by Cloud Run.
26099        &quot;tag&quot;: &quot;A String&quot;, # Tag is optionally used to expose a dedicated url for referencing this target exclusively. Not currently supported in Cloud Run. +optional
26100        &quot;url&quot;: &quot;A String&quot;, # Output only. URL displays the URL for accessing named traffic targets. URL is displayed in status, and is disallowed on spec. URL must contain a scheme (e.g. http://) and a hostname, but may not contain anything else (e.g. basic auth, url path, etc. Not currently supported in Cloud Run.
26101      },
26102    ],
26103  },
26104  &quot;status&quot;: { # The current state of the Service. Output only. # Status communicates the observed state of the Service (from the controller).
26105    &quot;address&quot;: { # Information for connecting over HTTP(s). # From RouteStatus. Similar to url, information on where the service is available on HTTP.
26106      &quot;hostname&quot;: &quot;A String&quot;, # Deprecated - use url instead.
26107      &quot;url&quot;: &quot;A String&quot;,
26108    },
26109    &quot;conditions&quot;: [ # Conditions communicates information about ongoing/complete reconciliation processes that bring the &quot;spec&quot; inline with the observed state of the world.
26110      { # ServiceCondition defines a readiness condition for a Service.
26111        &quot;lastTransitionTime&quot;: &quot;A String&quot;, # Last time the condition transitioned from one status to another. +optional
26112        &quot;message&quot;: &quot;A String&quot;, # Human-readable message indicating details about last transition. +optional
26113        &quot;reason&quot;: &quot;A String&quot;, # One-word CamelCase reason for the condition&#x27;s last transition. +optional
26114        &quot;severity&quot;: &quot;A String&quot;, # How to interpret failures of this condition, one of Error, Warning, Info +optional
26115        &quot;status&quot;: &quot;A String&quot;, # Status of the condition, one of True, False, Unknown.
26116        &quot;type&quot;: &quot;A String&quot;, # ServiceConditionType is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types include: &quot;Ready&quot;, &quot;ConfigurationsReady&quot;, and &quot;RoutesReady&quot;. &quot;Ready&quot; will be true when the underlying Route and Configuration are ready.
26117      },
26118    ],
26119    &quot;domain&quot;: &quot;A String&quot;, # From RouteStatus. Domain holds the top-level domain that will distribute traffic over the provided targets. It generally has the form https://{route-hash}-{project-hash}-{cluster-level-suffix}.a.run.app
26120    &quot;latestCreatedRevisionName&quot;: &quot;A String&quot;, # From ConfigurationStatus. LatestCreatedRevisionName is the last revision that was created from this Service&#x27;s Configuration. It might not be ready yet, for that use LatestReadyRevisionName.
26121    &quot;latestReadyRevisionName&quot;: &quot;A String&quot;, # From ConfigurationStatus. LatestReadyRevisionName holds the name of the latest Revision stamped out from this Service&#x27;s Configuration that has had its &quot;Ready&quot; condition become &quot;True&quot;.
26122    &quot;observedGeneration&quot;: 42, # ObservedGeneration is the &#x27;Generation&#x27; of the Route that was last processed by the controller. Clients polling for completed reconciliation should poll until observedGeneration = metadata.generation and the Ready condition&#x27;s status is True or False.
26123    &quot;traffic&quot;: [ # From RouteStatus. Traffic holds the configured traffic distribution. These entries will always contain RevisionName references. When ConfigurationName appears in the spec, this will hold the LatestReadyRevisionName that we last observed.
26124      { # TrafficTarget holds a single entry of the routing table for a Route.
26125        &quot;configurationName&quot;: &quot;A String&quot;, # ConfigurationName of a configuration to whose latest revision we will send this portion of traffic. When the &quot;status.latestReadyRevisionName&quot; of the referenced configuration changes, we will automatically migrate traffic from the prior &quot;latest ready&quot; revision to the new one. This field is never set in Route&#x27;s status, only its spec. This is mutually exclusive with RevisionName. Cloud Run currently supports a single ConfigurationName.
26126        &quot;latestRevision&quot;: True or False, # LatestRevision may be optionally provided to indicate that the latest ready Revision of the Configuration should be used for this traffic target. When provided LatestRevision must be true if RevisionName is empty; it must be false when RevisionName is non-empty. +optional
26127        &quot;name&quot;: &quot;A String&quot;, # Name is optionally used to expose a dedicated hostname for referencing this target exclusively. Not currently supported by Cloud Run. +optional
26128        &quot;percent&quot;: 42, # Percent specifies percent of the traffic to this Revision or Configuration. This defaults to zero if unspecified. Cloud Run currently requires 100 percent for a single ConfigurationName TrafficTarget entry.
26129        &quot;revisionName&quot;: &quot;A String&quot;, # RevisionName of a specific revision to which to send this portion of traffic. This is mutually exclusive with ConfigurationName. Providing RevisionName in spec is not currently supported by Cloud Run.
26130        &quot;tag&quot;: &quot;A String&quot;, # Tag is optionally used to expose a dedicated url for referencing this target exclusively. Not currently supported in Cloud Run. +optional
26131        &quot;url&quot;: &quot;A String&quot;, # Output only. URL displays the URL for accessing named traffic targets. URL is displayed in status, and is disallowed on spec. URL must contain a scheme (e.g. http://) and a hostname, but may not contain anything else (e.g. basic auth, url path, etc. Not currently supported in Cloud Run.
26132      },
26133    ],
26134    &quot;url&quot;: &quot;A String&quot;, # From RouteStatus. URL holds the url that will distribute traffic over the provided traffic targets. It generally has the form https://{route-hash}-{project-hash}-{cluster-level-suffix}.a.run.app
26135  },
26136}</pre>
26137</div>
26138
26139<div class="method">
26140    <code class="details" id="setIamPolicy">setIamPolicy(resource, body=None, x__xgafv=None)</code>
26141  <pre>Sets the IAM Access control policy for the specified Service. Overwrites any existing policy.
26142
26143Args:
26144  resource: string, REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. (required)
26145  body: object, The request body.
26146    The object takes the form of:
26147
26148{ # Request message for `SetIamPolicy` method.
26149  &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:[email protected]&quot;, &quot;group:[email protected]&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:[email protected]&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:[email protected]&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:[email protected] - group:[email protected] - domain:google.com - serviceAccount:[email protected] role: roles/resourcemanager.organizationAdmin - members: - user:[email protected] role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
26150    &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
26151      { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { &quot;audit_configs&quot;: [ { &quot;service&quot;: &quot;allServices&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:[email protected]&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; }, { &quot;log_type&quot;: &quot;ADMIN_READ&quot; } ] }, { &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot; }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot;, &quot;exempted_members&quot;: [ &quot;user:[email protected]&quot; ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts [email protected] from DATA_READ logging, and [email protected] from DATA_WRITE logging.
26152        &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
26153          { # Provides the configuration for logging a type of permissions. Example: { &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:[email protected]&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; } ] } This enables &#x27;DATA_READ&#x27; and &#x27;DATA_WRITE&#x27; logging, while exempting [email protected] from DATA_READ logging.
26154            &quot;exemptedMembers&quot;: [ # Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.
26155              &quot;A String&quot;,
26156            ],
26157            &quot;logType&quot;: &quot;A String&quot;, # The log type that this config enables.
26158          },
26159        ],
26160        &quot;service&quot;: &quot;A String&quot;, # Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.
26161      },
26162    ],
26163    &quot;bindings&quot;: [ # Associates a list of `members` to a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one member.
26164      { # Associates `members` with a `role`.
26165        &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
26166          &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
26167          &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language syntax.
26168          &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
26169          &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
26170        },
26171        &quot;members&quot;: [ # Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `[email protected]` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `[email protected]`. * `group:{emailid}`: An email address that represents a Google group. For example, `[email protected]`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `[email protected]?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `[email protected]?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `[email protected]?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`.
26172          &quot;A String&quot;,
26173        ],
26174        &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
26175      },
26176    ],
26177    &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.
26178    &quot;version&quot;: 42, # Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
26179  },
26180  &quot;updateMask&quot;: &quot;A String&quot;, # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: &quot;bindings, etag&quot;`
26181}
26182
26183  x__xgafv: string, V1 error format.
26184    Allowed values
26185      1 - v1 error format
26186      2 - v2 error format
26187
26188Returns:
26189  An object of the form:
26190
26191    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:[email protected]&quot;, &quot;group:[email protected]&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:[email protected]&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:[email protected]&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } **YAML example:** bindings: - members: - user:[email protected] - group:[email protected] - domain:google.com - serviceAccount:[email protected] role: roles/resourcemanager.organizationAdmin - members: - user:[email protected] role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
26192  &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
26193    { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { &quot;audit_configs&quot;: [ { &quot;service&quot;: &quot;allServices&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:[email protected]&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; }, { &quot;log_type&quot;: &quot;ADMIN_READ&quot; } ] }, { &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot; }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot;, &quot;exempted_members&quot;: [ &quot;user:[email protected]&quot; ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts [email protected] from DATA_READ logging, and [email protected] from DATA_WRITE logging.
26194      &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
26195        { # Provides the configuration for logging a type of permissions. Example: { &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:[email protected]&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; } ] } This enables &#x27;DATA_READ&#x27; and &#x27;DATA_WRITE&#x27; logging, while exempting [email protected] from DATA_READ logging.
26196          &quot;exemptedMembers&quot;: [ # Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.
26197            &quot;A String&quot;,
26198          ],
26199          &quot;logType&quot;: &quot;A String&quot;, # The log type that this config enables.
26200        },
26201      ],
26202      &quot;service&quot;: &quot;A String&quot;, # Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.
26203    },
26204  ],
26205  &quot;bindings&quot;: [ # Associates a list of `members` to a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one member.
26206    { # Associates `members` with a `role`.
26207      &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
26208        &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
26209        &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language syntax.
26210        &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
26211        &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
26212      },
26213      &quot;members&quot;: [ # Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `[email protected]` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `[email protected]`. * `group:{emailid}`: An email address that represents a Google group. For example, `[email protected]`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `[email protected]?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `[email protected]?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `[email protected]?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`.
26214        &quot;A String&quot;,
26215      ],
26216      &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
26217    },
26218  ],
26219  &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.
26220  &quot;version&quot;: 42, # Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
26221}</pre>
26222</div>
26223
26224<div class="method">
26225    <code class="details" id="testIamPermissions">testIamPermissions(resource, body=None, x__xgafv=None)</code>
26226  <pre>Returns permissions that a caller has on the specified Project. There are no permissions required for making this API call.
26227
26228Args:
26229  resource: string, REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. (required)
26230  body: object, The request body.
26231    The object takes the form of:
26232
26233{ # Request message for `TestIamPermissions` method.
26234  &quot;permissions&quot;: [ # The set of permissions to check for the `resource`. Permissions with wildcards (such as &#x27;*&#x27; or &#x27;storage.*&#x27;) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
26235    &quot;A String&quot;,
26236  ],
26237}
26238
26239  x__xgafv: string, V1 error format.
26240    Allowed values
26241      1 - v1 error format
26242      2 - v2 error format
26243
26244Returns:
26245  An object of the form:
26246
26247    { # Response message for `TestIamPermissions` method.
26248  &quot;permissions&quot;: [ # A subset of `TestPermissionsRequest.permissions` that the caller is allowed.
26249    &quot;A String&quot;,
26250  ],
26251}</pre>
26252</div>
26253
26254</body></html>