blob: 45563209fee16d1f10008ea128c02802c30671db [file] [log] [blame]
<html><body>
<style>
body, h1, h2, h3, div, span, p, pre, a {
margin: 0;
padding: 0;
border: 0;
font-weight: inherit;
font-style: inherit;
font-size: 100%;
font-family: inherit;
vertical-align: baseline;
}
body {
font-size: 13px;
padding: 1em;
}
h1 {
font-size: 26px;
margin-bottom: 1em;
}
h2 {
font-size: 24px;
margin-bottom: 1em;
}
h3 {
font-size: 20px;
margin-bottom: 1em;
margin-top: 1em;
}
pre, code {
line-height: 1.5;
font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}
pre {
margin-top: 0.5em;
}
h1, h2, h3, p {
font-family: Arial, sans serif;
}
h1, h2, h3 {
border-bottom: solid #CCC 1px;
}
.toc_element {
margin-top: 0.5em;
}
.firstline {
margin-left: 2 em;
}
.method {
margin-top: 1em;
border: solid 1px #CCC;
padding: 1em;
background: #EEE;
}
.details {
font-weight: bold;
font-size: 14px;
}
</style>
<h1><a href="run_v1alpha1.html">Cloud Run API</a> . <a href="run_v1alpha1.namespaces.html">namespaces</a> . <a href="run_v1alpha1.namespaces.revisions.html">revisions</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
<code><a href="#delete">delete(name, propagationPolicy=None, kind=None, orphanDependents=None, apiVersion=None, x__xgafv=None)</a></code></p>
<p class="firstline">Rpc to delete a revision.</p>
<p class="toc_element">
<code><a href="#get">get(name, x__xgafv=None)</a></code></p>
<p class="firstline">Rpc to get information about a revision.</p>
<p class="toc_element">
<code><a href="#list">list(parent, limit=None, watch=None, labelSelector=None, resourceVersion=None, includeUninitialized=None, fieldSelector=None, continue=None, x__xgafv=None)</a></code></p>
<p class="firstline">Rpc to list revisions.</p>
<h3>Method Details</h3>
<div class="method">
<code class="details" id="delete">delete(name, propagationPolicy=None, kind=None, orphanDependents=None, apiVersion=None, x__xgafv=None)</code>
<pre>Rpc to delete a revision.
Args:
name: string, The name of the revision being deleted. If needed, replace
{namespace_id} with the project ID. (required)
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.
kind: string, Cloud Run currently ignores this parameter.
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.
apiVersion: string, Cloud Run currently ignores this parameter.
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # 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 `{}`.
}</pre>
</div>
<div class="method">
<code class="details" id="get">get(name, x__xgafv=None)</code>
<pre>Rpc to get information about a revision.
Args:
name: string, The name of the revision being retrieved. If needed, replace
{namespace_id} with the project ID. (required)
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # Revision is an immutable snapshot of code and configuration. A revision
# references a container image. Revisions are created by updates to a
# Configuration.
#
# Cloud Run does not currently support referencing a build that is responsible
# for materializing the container image from source.
#
# See also:
# https://github.com/knative/serving/blob/master/docs/spec/overview.md#revision
&quot;kind&quot;: &quot;A String&quot;, # The kind of this resource, in this case &quot;Revision&quot;.
&quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes # Metadata associated with this Revision, including name, namespace, labels,
# and annotations.
# all objects users must create.
&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;
&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
&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
&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
&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
&quot;A String&quot;,
],
&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
&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
{ # 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.
&quot;controller&quot;: True or False, # If true, this reference points to the managing controller.
# +optional
&quot;kind&quot;: &quot;A String&quot;, # Kind of the referent.
# More info:
# https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
&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
&quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
&quot;name&quot;: &quot;A String&quot;, # Name of the referent.
# More info: http://kubernetes.io/docs/user-guide/identifiers#names
&quot;uid&quot;: &quot;A String&quot;, # UID of the referent.
# More info: http://kubernetes.io/docs/user-guide/identifiers#uids
},
],
&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
&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
&quot;a_key&quot;: &quot;A String&quot;,
},
&quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state.
# Populated by the system. Read-only.
# +optional
&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
&quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object.
# Populated by the system.
# Read-only.
# +optional
# string selfLink = 4;
&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
&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.
&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
&quot;a_key&quot;: &quot;A String&quot;,
},
},
&quot;status&quot;: { # RevisionStatus communicates the observed state of the Revision (from the # Status communicates the observed state of the Revision (from the
# controller).
# controller).
&quot;serviceName&quot;: &quot;A String&quot;, # Not currently used by Cloud Run.
&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.
#
# As a Revision is being prepared, it will incrementally
# update conditions &quot;ResourcesAvailable&quot;, &quot;ContainerHealthy&quot;, and &quot;Active&quot;,
# which contribute to the overall &quot;Ready&quot; condition.
{ # RevisionCondition defines a readiness condition for a Revision.
&quot;message&quot;: &quot;A String&quot;, # Human readable message indicating details about the current status.
# +optional
&quot;lastTransitionTime&quot;: &quot;A String&quot;, # Last time the condition transitioned from one status to another.
# +optional
&quot;status&quot;: &quot;A String&quot;, # Status of the condition, one of True, False, Unknown.
&quot;severity&quot;: &quot;A String&quot;, # How to interpret failures of this condition, one of Error, Warning, Info
# +optional
&quot;reason&quot;: &quot;A String&quot;, # One-word CamelCase reason for the condition&#x27;s last transition.
# +optional
&quot;type&quot;: &quot;A String&quot;, # RevisionConditionType 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;: True when the Revision is ready.
# * &quot;ResourcesAvailable&quot;: True when underlying resources have been
# provisioned.
# * &quot;ContainerHealthy&quot;: True when the Revision readiness check completes.
# * &quot;Active&quot;: True when the Revision may receive traffic.
},
],
&quot;observedGeneration&quot;: 42, # ObservedGeneration is the &#x27;Generation&#x27; of the Revision 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.
&quot;imageDigest&quot;: &quot;A String&quot;, # ImageDigest holds the resolved digest for the image specified
# within .Spec.Container.Image. The digest is resolved during the creation
# of Revision. This field holds the digest value regardless of whether
# a tag or digest was originally specified in the Container object.
&quot;logUrl&quot;: &quot;A String&quot;, # Specifies the generated logging url for this particular revision
# based on the revision url template specified in the controller&#x27;s config.
# +optional
},
&quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1alpha1&quot;.
&quot;spec&quot;: { # RevisionSpec holds the desired state of the Revision (from the client). # Spec holds the desired state of the Revision (from the client).
&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.
&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.
{ # 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.
&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
&quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a # 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
# container. Some fields are present in both SecurityContext and
# PodSecurityContext. When both are set, the values in SecurityContext take
# precedence.
&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
&quot;add&quot;: [ # Added capabilities
# +optional
&quot;A String&quot;,
],
&quot;drop&quot;: [ # Removed capabilities
# +optional
&quot;A String&quot;,
],
},
&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
&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
&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
&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
&quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem.
# Default is false.
# +optional
&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
&quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container.
# +optional
&quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container.
# +optional
&quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container.
# +optional
&quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container.
# +optional
},
&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
},
&quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to # 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
# determine whether it is alive or ready to receive traffic.
&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
&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
&quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
&quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
# TCP hooks not yet supported
&quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
# Number must be in the range 1 to 65535.
# Name must be an IANA_SVC_NAME.
# JSON or YAML marshalling and unmarshalling, it produces or consumes the
# inner type. This allows you to have, for example, a JSON field that can
# accept a name or number.
&quot;strVal&quot;: &quot;A String&quot;, # The string value.
&quot;type&quot;: 42, # The type of the value.
&quot;intVal&quot;: 42, # The int value.
},
&quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
# +optional
},
&quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
# Exec specifies the action to take.
# +optional
&quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
# directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
# command is simply exec&#x27;d, it is not run inside a shell, so traditional
# shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
# explicitly call out to that shell. Exit status of 0 is treated as
# live/healthy and non-zero is unhealthy. +optional
},
&quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
# +optional
&quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
# +optional
{ # HTTPHeader describes a custom header to be used in HTTP probes
&quot;name&quot;: &quot;A String&quot;, # The header field name
&quot;value&quot;: &quot;A String&quot;, # The header field value
},
],
&quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
# +optional
&quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
# Number must be in the range 1 to 65535.
# Name must be an IANA_SVC_NAME.
# JSON or YAML marshalling and unmarshalling, it produces or consumes the
# inner type. This allows you to have, for example, a JSON field that can
# accept a name or number.
&quot;strVal&quot;: &quot;A String&quot;, # The string value.
&quot;type&quot;: 42, # The type of the value.
&quot;intVal&quot;: 42, # The int value.
},
&quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
# &quot;Host&quot; in httpHeaders instead.
# +optional
&quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
# Defaults to HTTP.
# +optional
},
},
&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
&quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe.
# Default to 10 seconds. Minimum value is 1.
# +optional
&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
},
&quot;env&quot;: [ # List of environment variables to set in the container.
# Cannot be updated.
# +optional
{ # EnvVar represents an environment variable present in a Container.
&quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
&quot;valueFrom&quot;: { # Cloud Run fully managed: not supported # 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
#
# Cloud Run on GKE: supported
#
# EnvVarSource represents a source for the value of an EnvVar.
&quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
#
# Cloud Run on GKE: supported
#
# Selects a key of a ConfigMap.
# +optional
#
# Cloud Run on GKE: supported
#
# Selects a key from a ConfigMap.
&quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
# directly into the message. Use the &quot;name&quot; field instead.
# referenced object inside the same namespace.
&quot;name&quot;: &quot;A String&quot;, # Name of the referent.
# More info:
# https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
},
&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
&quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
#
# Cloud Run on GKE: supported
#
# The key to select.
&quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
#
# Cloud Run on GKE: supported
#
# The ConfigMap to select from.
},
&quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
#
# Cloud Run on GKE: supported
#
# Selects a key of a secret in the pod&#x27;s namespace
# +optional
#
# Cloud Run on GKE: supported
#
# SecretKeySelector selects a key of a Secret.
&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
&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.
&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.
&quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
# directly into the message. Use the &quot;name&quot; field instead.
# referenced object inside the same namespace.
&quot;name&quot;: &quot;A String&quot;, # Name of the referent.
# More info:
# https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
},
},
},
&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
},
],
&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
&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&lt;string, Quantity&gt; requests field. This is done to become compliant
# with k8s style API.
# This field is deprecated in favor of requests field.
&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
&quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
},
},
&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
&quot;a_key&quot;: &quot;A String&quot;,
},
&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
&quot;a_key&quot;: &quot;A String&quot;,
},
&quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed.
# This is a temporary field created to migrate away from the
# map&lt;string, Quantity&gt; limits field. This is done to become compliant
# with k8s style API.
# This field is deprecated in favor of limits field.
&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
&quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
},
},
},
&quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to # 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
# determine whether it is alive or ready to receive traffic.
&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
&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
&quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
&quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
# TCP hooks not yet supported
&quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
# Number must be in the range 1 to 65535.
# Name must be an IANA_SVC_NAME.
# JSON or YAML marshalling and unmarshalling, it produces or consumes the
# inner type. This allows you to have, for example, a JSON field that can
# accept a name or number.
&quot;strVal&quot;: &quot;A String&quot;, # The string value.
&quot;type&quot;: 42, # The type of the value.
&quot;intVal&quot;: 42, # The int value.
},
&quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
# +optional
},
&quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
# Exec specifies the action to take.
# +optional
&quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
# directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
# command is simply exec&#x27;d, it is not run inside a shell, so traditional
# shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
# explicitly call out to that shell. Exit status of 0 is treated as
# live/healthy and non-zero is unhealthy. +optional
},
&quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
# +optional
&quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
# +optional
{ # HTTPHeader describes a custom header to be used in HTTP probes
&quot;name&quot;: &quot;A String&quot;, # The header field name
&quot;value&quot;: &quot;A String&quot;, # The header field value
},
],
&quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
# +optional
&quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
# Number must be in the range 1 to 65535.
# Name must be an IANA_SVC_NAME.
# JSON or YAML marshalling and unmarshalling, it produces or consumes the
# inner type. This allows you to have, for example, a JSON field that can
# accept a name or number.
&quot;strVal&quot;: &quot;A String&quot;, # The string value.
&quot;type&quot;: 42, # The type of the value.
&quot;intVal&quot;: 42, # The int value.
},
&quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
# &quot;Host&quot; in httpHeaders instead.
# +optional
&quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
# Defaults to HTTP.
# +optional
},
},
&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
&quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe.
# Default to 10 seconds. Minimum value is 1.
# +optional
&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
},
&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
&quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in # Actions that the management system should take in response to container
# lifecycle events. Cannot be updated. +optional
# 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.
&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
&quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
# TCP hooks not yet supported
&quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
# Number must be in the range 1 to 65535.
# Name must be an IANA_SVC_NAME.
# JSON or YAML marshalling and unmarshalling, it produces or consumes the
# inner type. This allows you to have, for example, a JSON field that can
# accept a name or number.
&quot;strVal&quot;: &quot;A String&quot;, # The string value.
&quot;type&quot;: 42, # The type of the value.
&quot;intVal&quot;: 42, # The int value.
},
&quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
# +optional
},
&quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
# Exec specifies the action to take.
# +optional
&quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
# directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
# command is simply exec&#x27;d, it is not run inside a shell, so traditional
# shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
# explicitly call out to that shell. Exit status of 0 is treated as
# live/healthy and non-zero is unhealthy. +optional
},
&quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
# +optional
&quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
# +optional
{ # HTTPHeader describes a custom header to be used in HTTP probes
&quot;name&quot;: &quot;A String&quot;, # The header field name
&quot;value&quot;: &quot;A String&quot;, # The header field value
},
],
&quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
# +optional
&quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
# Number must be in the range 1 to 65535.
# Name must be an IANA_SVC_NAME.
# JSON or YAML marshalling and unmarshalling, it produces or consumes the
# inner type. This allows you to have, for example, a JSON field that can
# accept a name or number.
&quot;strVal&quot;: &quot;A String&quot;, # The string value.
&quot;type&quot;: 42, # The type of the value.
&quot;intVal&quot;: 42, # The int value.
},
&quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
# &quot;Host&quot; in httpHeaders instead.
# +optional
&quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
# Defaults to HTTP.
# +optional
},
},
&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
&quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
# TCP hooks not yet supported
&quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
# Number must be in the range 1 to 65535.
# Name must be an IANA_SVC_NAME.
# JSON or YAML marshalling and unmarshalling, it produces or consumes the
# inner type. This allows you to have, for example, a JSON field that can
# accept a name or number.
&quot;strVal&quot;: &quot;A String&quot;, # The string value.
&quot;type&quot;: 42, # The type of the value.
&quot;intVal&quot;: 42, # The int value.
},
&quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
# +optional
},
&quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
# Exec specifies the action to take.
# +optional
&quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
# directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
# command is simply exec&#x27;d, it is not run inside a shell, so traditional
# shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
# explicitly call out to that shell. Exit status of 0 is treated as
# live/healthy and non-zero is unhealthy. +optional
},
&quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
# +optional
&quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
# +optional
{ # HTTPHeader describes a custom header to be used in HTTP probes
&quot;name&quot;: &quot;A String&quot;, # The header field name
&quot;value&quot;: &quot;A String&quot;, # The header field value
},
],
&quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
# +optional
&quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
# Number must be in the range 1 to 65535.
# Name must be an IANA_SVC_NAME.
# JSON or YAML marshalling and unmarshalling, it produces or consumes the
# inner type. This allows you to have, for example, a JSON field that can
# accept a name or number.
&quot;strVal&quot;: &quot;A String&quot;, # The string value.
&quot;type&quot;: 42, # The type of the value.
&quot;intVal&quot;: 42, # The int value.
},
&quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
# &quot;Host&quot; in httpHeaders instead.
# +optional
&quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
# Defaults to HTTP.
# +optional
},
},
},
&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
&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
&quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem.
# Cannot be updated.
# +optional
{ # VolumeMount describes a mounting of a Volume within a container.
&quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
&quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified).
# Defaults to false.
# +optional
&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
&quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must
# not contain &#x27;:&#x27;.
&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
},
],
&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
&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
{ # volumeDevice describes a mapping of a raw block device within a container.
&quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
&quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be
# mapped to.
},
],
&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
&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
&quot;A String&quot;,
],
&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
&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
{ # ContainerPort represents a network port in a single container.
&quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to.
# +optional
&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
&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
&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.
&quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP.
# Defaults to &quot;TCP&quot;.
# +optional
},
],
&quot;image&quot;: &quot;A String&quot;, # Docker image name.
# More info: https://kubernetes.io/docs/concepts/containers/images
&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
{ # EnvFromSource represents the source of a set of ConfigMaps
&quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a
# C_IDENTIFIER. +optional
&quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment # The ConfigMap to select from
# +optional
# variables with.
#
# The contents of the target ConfigMap&#x27;s Data field will represent the
# key-value pairs as environment variables.
&quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
# directly into the message. Use the &quot;name&quot; field instead.
# referenced object inside the same namespace.
&quot;name&quot;: &quot;A String&quot;, # Name of the referent.
# More info:
# https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
},
&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
&quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
#
# Cloud Run for Anthos: supported
#
# The ConfigMap to select from.
},
&quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment # The Secret to select from
# +optional
# variables with.
#
# The contents of the target Secret&#x27;s Data field will represent the
# key-value pairs as environment variables.
&quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
#
# Cloud Run for Anthos: supported
#
# The Secret to select from.
&quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
# directly into the message. Use the &quot;name&quot; field instead.
# referenced object inside the same namespace.
&quot;name&quot;: &quot;A String&quot;, # Name of the referent.
# More info:
# https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
},
&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
},
},
],
&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.
&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
&quot;A String&quot;,
],
},
],
&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.
&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.
&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.
&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
&quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for
# responding to a request.
# Not currently used by Cloud Run.
&quot;container&quot;: { # A single application container. # 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
# 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.
&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
&quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a # 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
# container. Some fields are present in both SecurityContext and
# PodSecurityContext. When both are set, the values in SecurityContext take
# precedence.
&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
&quot;add&quot;: [ # Added capabilities
# +optional
&quot;A String&quot;,
],
&quot;drop&quot;: [ # Removed capabilities
# +optional
&quot;A String&quot;,
],
},
&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
&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
&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
&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
&quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem.
# Default is false.
# +optional
&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
&quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container.
# +optional
&quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container.
# +optional
&quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container.
# +optional
&quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container.
# +optional
},
&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
},
&quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to # 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
# determine whether it is alive or ready to receive traffic.
&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
&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
&quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
&quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
# TCP hooks not yet supported
&quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
# Number must be in the range 1 to 65535.
# Name must be an IANA_SVC_NAME.
# JSON or YAML marshalling and unmarshalling, it produces or consumes the
# inner type. This allows you to have, for example, a JSON field that can
# accept a name or number.
&quot;strVal&quot;: &quot;A String&quot;, # The string value.
&quot;type&quot;: 42, # The type of the value.
&quot;intVal&quot;: 42, # The int value.
},
&quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
# +optional
},
&quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
# Exec specifies the action to take.
# +optional
&quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
# directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
# command is simply exec&#x27;d, it is not run inside a shell, so traditional
# shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
# explicitly call out to that shell. Exit status of 0 is treated as
# live/healthy and non-zero is unhealthy. +optional
},
&quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
# +optional
&quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
# +optional
{ # HTTPHeader describes a custom header to be used in HTTP probes
&quot;name&quot;: &quot;A String&quot;, # The header field name
&quot;value&quot;: &quot;A String&quot;, # The header field value
},
],
&quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
# +optional
&quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
# Number must be in the range 1 to 65535.
# Name must be an IANA_SVC_NAME.
# JSON or YAML marshalling and unmarshalling, it produces or consumes the
# inner type. This allows you to have, for example, a JSON field that can
# accept a name or number.
&quot;strVal&quot;: &quot;A String&quot;, # The string value.
&quot;type&quot;: 42, # The type of the value.
&quot;intVal&quot;: 42, # The int value.
},
&quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
# &quot;Host&quot; in httpHeaders instead.
# +optional
&quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
# Defaults to HTTP.
# +optional
},
},
&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
&quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe.
# Default to 10 seconds. Minimum value is 1.
# +optional
&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
},
&quot;env&quot;: [ # List of environment variables to set in the container.
# Cannot be updated.
# +optional
{ # EnvVar represents an environment variable present in a Container.
&quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
&quot;valueFrom&quot;: { # Cloud Run fully managed: not supported # 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
#
# Cloud Run on GKE: supported
#
# EnvVarSource represents a source for the value of an EnvVar.
&quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
#
# Cloud Run on GKE: supported
#
# Selects a key of a ConfigMap.
# +optional
#
# Cloud Run on GKE: supported
#
# Selects a key from a ConfigMap.
&quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
# directly into the message. Use the &quot;name&quot; field instead.
# referenced object inside the same namespace.
&quot;name&quot;: &quot;A String&quot;, # Name of the referent.
# More info:
# https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
},
&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
&quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
#
# Cloud Run on GKE: supported
#
# The key to select.
&quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
#
# Cloud Run on GKE: supported
#
# The ConfigMap to select from.
},
&quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
#
# Cloud Run on GKE: supported
#
# Selects a key of a secret in the pod&#x27;s namespace
# +optional
#
# Cloud Run on GKE: supported
#
# SecretKeySelector selects a key of a Secret.
&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
&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.
&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.
&quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
# directly into the message. Use the &quot;name&quot; field instead.
# referenced object inside the same namespace.
&quot;name&quot;: &quot;A String&quot;, # Name of the referent.
# More info:
# https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
},
},
},
&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
},
],
&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
&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&lt;string, Quantity&gt; requests field. This is done to become compliant
# with k8s style API.
# This field is deprecated in favor of requests field.
&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
&quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
},
},
&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
&quot;a_key&quot;: &quot;A String&quot;,
},
&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
&quot;a_key&quot;: &quot;A String&quot;,
},
&quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed.
# This is a temporary field created to migrate away from the
# map&lt;string, Quantity&gt; limits field. This is done to become compliant
# with k8s style API.
# This field is deprecated in favor of limits field.
&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
&quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
},
},
},
&quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to # 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
# determine whether it is alive or ready to receive traffic.
&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
&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
&quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
&quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
# TCP hooks not yet supported
&quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
# Number must be in the range 1 to 65535.
# Name must be an IANA_SVC_NAME.
# JSON or YAML marshalling and unmarshalling, it produces or consumes the
# inner type. This allows you to have, for example, a JSON field that can
# accept a name or number.
&quot;strVal&quot;: &quot;A String&quot;, # The string value.
&quot;type&quot;: 42, # The type of the value.
&quot;intVal&quot;: 42, # The int value.
},
&quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
# +optional
},
&quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
# Exec specifies the action to take.
# +optional
&quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
# directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
# command is simply exec&#x27;d, it is not run inside a shell, so traditional
# shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
# explicitly call out to that shell. Exit status of 0 is treated as
# live/healthy and non-zero is unhealthy. +optional
},
&quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
# +optional
&quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
# +optional
{ # HTTPHeader describes a custom header to be used in HTTP probes
&quot;name&quot;: &quot;A String&quot;, # The header field name
&quot;value&quot;: &quot;A String&quot;, # The header field value
},
],
&quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
# +optional
&quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
# Number must be in the range 1 to 65535.
# Name must be an IANA_SVC_NAME.
# JSON or YAML marshalling and unmarshalling, it produces or consumes the
# inner type. This allows you to have, for example, a JSON field that can
# accept a name or number.
&quot;strVal&quot;: &quot;A String&quot;, # The string value.
&quot;type&quot;: 42, # The type of the value.
&quot;intVal&quot;: 42, # The int value.
},
&quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
# &quot;Host&quot; in httpHeaders instead.
# +optional
&quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
# Defaults to HTTP.
# +optional
},
},
&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
&quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe.
# Default to 10 seconds. Minimum value is 1.
# +optional
&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
},
&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
&quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in # Actions that the management system should take in response to container
# lifecycle events. Cannot be updated. +optional
# 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.
&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
&quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
# TCP hooks not yet supported
&quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
# Number must be in the range 1 to 65535.
# Name must be an IANA_SVC_NAME.
# JSON or YAML marshalling and unmarshalling, it produces or consumes the
# inner type. This allows you to have, for example, a JSON field that can
# accept a name or number.
&quot;strVal&quot;: &quot;A String&quot;, # The string value.
&quot;type&quot;: 42, # The type of the value.
&quot;intVal&quot;: 42, # The int value.
},
&quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
# +optional
},
&quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
# Exec specifies the action to take.
# +optional
&quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
# directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
# command is simply exec&#x27;d, it is not run inside a shell, so traditional
# shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
# explicitly call out to that shell. Exit status of 0 is treated as
# live/healthy and non-zero is unhealthy. +optional
},
&quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
# +optional
&quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
# +optional
{ # HTTPHeader describes a custom header to be used in HTTP probes
&quot;name&quot;: &quot;A String&quot;, # The header field name
&quot;value&quot;: &quot;A String&quot;, # The header field value
},
],
&quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
# +optional
&quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
# Number must be in the range 1 to 65535.
# Name must be an IANA_SVC_NAME.
# JSON or YAML marshalling and unmarshalling, it produces or consumes the
# inner type. This allows you to have, for example, a JSON field that can
# accept a name or number.
&quot;strVal&quot;: &quot;A String&quot;, # The string value.
&quot;type&quot;: 42, # The type of the value.
&quot;intVal&quot;: 42, # The int value.
},
&quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
# &quot;Host&quot; in httpHeaders instead.
# +optional
&quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
# Defaults to HTTP.
# +optional
},
},
&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
&quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
# TCP hooks not yet supported
&quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
# Number must be in the range 1 to 65535.
# Name must be an IANA_SVC_NAME.
# JSON or YAML marshalling and unmarshalling, it produces or consumes the
# inner type. This allows you to have, for example, a JSON field that can
# accept a name or number.
&quot;strVal&quot;: &quot;A String&quot;, # The string value.
&quot;type&quot;: 42, # The type of the value.
&quot;intVal&quot;: 42, # The int value.
},
&quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
# +optional
},
&quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
# Exec specifies the action to take.
# +optional
&quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
# directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
# command is simply exec&#x27;d, it is not run inside a shell, so traditional
# shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
# explicitly call out to that shell. Exit status of 0 is treated as
# live/healthy and non-zero is unhealthy. +optional
},
&quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
# +optional
&quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
# +optional
{ # HTTPHeader describes a custom header to be used in HTTP probes
&quot;name&quot;: &quot;A String&quot;, # The header field name
&quot;value&quot;: &quot;A String&quot;, # The header field value
},
],
&quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
# +optional
&quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
# Number must be in the range 1 to 65535.
# Name must be an IANA_SVC_NAME.
# JSON or YAML marshalling and unmarshalling, it produces or consumes the
# inner type. This allows you to have, for example, a JSON field that can
# accept a name or number.
&quot;strVal&quot;: &quot;A String&quot;, # The string value.
&quot;type&quot;: 42, # The type of the value.
&quot;intVal&quot;: 42, # The int value.
},
&quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
# &quot;Host&quot; in httpHeaders instead.
# +optional
&quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
# Defaults to HTTP.
# +optional
},
},
},
&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
&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
&quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem.
# Cannot be updated.
# +optional
{ # VolumeMount describes a mounting of a Volume within a container.
&quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
&quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified).
# Defaults to false.
# +optional
&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
&quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must
# not contain &#x27;:&#x27;.
&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
},
],
&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
&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
{ # volumeDevice describes a mapping of a raw block device within a container.
&quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
&quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be
# mapped to.
},
],
&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
&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
&quot;A String&quot;,
],
&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
&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
{ # ContainerPort represents a network port in a single container.
&quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to.
# +optional
&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
&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
&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.
&quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP.
# Defaults to &quot;TCP&quot;.
# +optional
},
],
&quot;image&quot;: &quot;A String&quot;, # Docker image name.
# More info: https://kubernetes.io/docs/concepts/containers/images
&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
{ # EnvFromSource represents the source of a set of ConfigMaps
&quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a
# C_IDENTIFIER. +optional
&quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment # The ConfigMap to select from
# +optional
# variables with.
#
# The contents of the target ConfigMap&#x27;s Data field will represent the
# key-value pairs as environment variables.
&quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
# directly into the message. Use the &quot;name&quot; field instead.
# referenced object inside the same namespace.
&quot;name&quot;: &quot;A String&quot;, # Name of the referent.
# More info:
# https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
},
&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
&quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
#
# Cloud Run for Anthos: supported
#
# The ConfigMap to select from.
},
&quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment # The Secret to select from
# +optional
# variables with.
#
# The contents of the target Secret&#x27;s Data field will represent the
# key-value pairs as environment variables.
&quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
#
# Cloud Run for Anthos: supported
#
# The Secret to select from.
&quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
# directly into the message. Use the &quot;name&quot; field instead.
# referenced object inside the same namespace.
&quot;name&quot;: &quot;A String&quot;, # Name of the referent.
# More info:
# https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
},
&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
},
},
],
&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.
&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
&quot;A String&quot;,
],
},
&quot;volumes&quot;: [
{ # Volume represents a named volume in a container.
&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.
&quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
&quot;name&quot;: &quot;A String&quot;, # Name of the config.
&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.
&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.
{ # Maps a string key to a path within a volume.
&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;.
&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
&quot;key&quot;: &quot;A String&quot;, # The key to project.
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
&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.
&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.
&quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
&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.
{ # Maps a string key to a path within a volume.
&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;.
&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
&quot;key&quot;: &quot;A String&quot;, # The key to project.
},
],
&quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
},
},
],
},
}</pre>
</div>
<div class="method">
<code class="details" id="list">list(parent, limit=None, watch=None, labelSelector=None, resourceVersion=None, includeUninitialized=None, fieldSelector=None, continue=None, x__xgafv=None)</code>
<pre>Rpc to list revisions.
Args:
parent: string, The project ID or project number from which the revisions should be listed. (required)
limit: integer, The maximum number of records that should be returned.
watch: boolean, Flag that indicates that the client expects to watch this resource as well.
Not currently used by Cloud Run.
labelSelector: string, Allows to filter resources based on a label. Supported operations are
=, !=, exists, in, and notIn.
resourceVersion: string, The baseline resource version from which the list or watch operation should
start. Not currently used by Cloud Run.
includeUninitialized: boolean, Not currently used by Cloud Run.
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.
continue: string, Optional encoded string to continue paging.
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # ListRevisionsResponse is a list of Revision resources.
&quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1alpha1&quot;.
&quot;kind&quot;: &quot;A String&quot;, # The kind of this resource, in this case &quot;RevisionList&quot;.
&quot;unreachable&quot;: [ # Locations that could not be reached.
&quot;A String&quot;,
],
&quot;metadata&quot;: { # ListMeta describes metadata that synthetic resources must have, including # Metadata associated with this revision list.
# lists and various status objects. A resource may have only one of
# {ObjectMeta, ListMeta}.
&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
&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.
&quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object.
# Populated by the system.
# Read-only.
# +optional
},
&quot;items&quot;: [ # List of Revisions.
{ # Revision is an immutable snapshot of code and configuration. A revision
# references a container image. Revisions are created by updates to a
# Configuration.
#
# Cloud Run does not currently support referencing a build that is responsible
# for materializing the container image from source.
#
# See also:
# https://github.com/knative/serving/blob/master/docs/spec/overview.md#revision
&quot;kind&quot;: &quot;A String&quot;, # The kind of this resource, in this case &quot;Revision&quot;.
&quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes # Metadata associated with this Revision, including name, namespace, labels,
# and annotations.
# all objects users must create.
&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;
&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
&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
&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
&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
&quot;A String&quot;,
],
&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
&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
{ # 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.
&quot;controller&quot;: True or False, # If true, this reference points to the managing controller.
# +optional
&quot;kind&quot;: &quot;A String&quot;, # Kind of the referent.
# More info:
# https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
&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
&quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
&quot;name&quot;: &quot;A String&quot;, # Name of the referent.
# More info: http://kubernetes.io/docs/user-guide/identifiers#names
&quot;uid&quot;: &quot;A String&quot;, # UID of the referent.
# More info: http://kubernetes.io/docs/user-guide/identifiers#uids
},
],
&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
&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
&quot;a_key&quot;: &quot;A String&quot;,
},
&quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state.
# Populated by the system. Read-only.
# +optional
&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
&quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object.
# Populated by the system.
# Read-only.
# +optional
# string selfLink = 4;
&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
&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.
&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
&quot;a_key&quot;: &quot;A String&quot;,
},
},
&quot;status&quot;: { # RevisionStatus communicates the observed state of the Revision (from the # Status communicates the observed state of the Revision (from the
# controller).
# controller).
&quot;serviceName&quot;: &quot;A String&quot;, # Not currently used by Cloud Run.
&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.
#
# As a Revision is being prepared, it will incrementally
# update conditions &quot;ResourcesAvailable&quot;, &quot;ContainerHealthy&quot;, and &quot;Active&quot;,
# which contribute to the overall &quot;Ready&quot; condition.
{ # RevisionCondition defines a readiness condition for a Revision.
&quot;message&quot;: &quot;A String&quot;, # Human readable message indicating details about the current status.
# +optional
&quot;lastTransitionTime&quot;: &quot;A String&quot;, # Last time the condition transitioned from one status to another.
# +optional
&quot;status&quot;: &quot;A String&quot;, # Status of the condition, one of True, False, Unknown.
&quot;severity&quot;: &quot;A String&quot;, # How to interpret failures of this condition, one of Error, Warning, Info
# +optional
&quot;reason&quot;: &quot;A String&quot;, # One-word CamelCase reason for the condition&#x27;s last transition.
# +optional
&quot;type&quot;: &quot;A String&quot;, # RevisionConditionType 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;: True when the Revision is ready.
# * &quot;ResourcesAvailable&quot;: True when underlying resources have been
# provisioned.
# * &quot;ContainerHealthy&quot;: True when the Revision readiness check completes.
# * &quot;Active&quot;: True when the Revision may receive traffic.
},
],
&quot;observedGeneration&quot;: 42, # ObservedGeneration is the &#x27;Generation&#x27; of the Revision 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.
&quot;imageDigest&quot;: &quot;A String&quot;, # ImageDigest holds the resolved digest for the image specified
# within .Spec.Container.Image. The digest is resolved during the creation
# of Revision. This field holds the digest value regardless of whether
# a tag or digest was originally specified in the Container object.
&quot;logUrl&quot;: &quot;A String&quot;, # Specifies the generated logging url for this particular revision
# based on the revision url template specified in the controller&#x27;s config.
# +optional
},
&quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1alpha1&quot;.
&quot;spec&quot;: { # RevisionSpec holds the desired state of the Revision (from the client). # Spec holds the desired state of the Revision (from the client).
&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.
&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.
{ # 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.
&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
&quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a # 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
# container. Some fields are present in both SecurityContext and
# PodSecurityContext. When both are set, the values in SecurityContext take
# precedence.
&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
&quot;add&quot;: [ # Added capabilities
# +optional
&quot;A String&quot;,
],
&quot;drop&quot;: [ # Removed capabilities
# +optional
&quot;A String&quot;,
],
},
&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
&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
&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
&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
&quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem.
# Default is false.
# +optional
&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
&quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container.
# +optional
&quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container.
# +optional
&quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container.
# +optional
&quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container.
# +optional
},
&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
},
&quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to # 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
# determine whether it is alive or ready to receive traffic.
&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
&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
&quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
&quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
# TCP hooks not yet supported
&quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
# Number must be in the range 1 to 65535.
# Name must be an IANA_SVC_NAME.
# JSON or YAML marshalling and unmarshalling, it produces or consumes the
# inner type. This allows you to have, for example, a JSON field that can
# accept a name or number.
&quot;strVal&quot;: &quot;A String&quot;, # The string value.
&quot;type&quot;: 42, # The type of the value.
&quot;intVal&quot;: 42, # The int value.
},
&quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
# +optional
},
&quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
# Exec specifies the action to take.
# +optional
&quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
# directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
# command is simply exec&#x27;d, it is not run inside a shell, so traditional
# shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
# explicitly call out to that shell. Exit status of 0 is treated as
# live/healthy and non-zero is unhealthy. +optional
},
&quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
# +optional
&quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
# +optional
{ # HTTPHeader describes a custom header to be used in HTTP probes
&quot;name&quot;: &quot;A String&quot;, # The header field name
&quot;value&quot;: &quot;A String&quot;, # The header field value
},
],
&quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
# +optional
&quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
# Number must be in the range 1 to 65535.
# Name must be an IANA_SVC_NAME.
# JSON or YAML marshalling and unmarshalling, it produces or consumes the
# inner type. This allows you to have, for example, a JSON field that can
# accept a name or number.
&quot;strVal&quot;: &quot;A String&quot;, # The string value.
&quot;type&quot;: 42, # The type of the value.
&quot;intVal&quot;: 42, # The int value.
},
&quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
# &quot;Host&quot; in httpHeaders instead.
# +optional
&quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
# Defaults to HTTP.
# +optional
},
},
&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
&quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe.
# Default to 10 seconds. Minimum value is 1.
# +optional
&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
},
&quot;env&quot;: [ # List of environment variables to set in the container.
# Cannot be updated.
# +optional
{ # EnvVar represents an environment variable present in a Container.
&quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
&quot;valueFrom&quot;: { # Cloud Run fully managed: not supported # 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
#
# Cloud Run on GKE: supported
#
# EnvVarSource represents a source for the value of an EnvVar.
&quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
#
# Cloud Run on GKE: supported
#
# Selects a key of a ConfigMap.
# +optional
#
# Cloud Run on GKE: supported
#
# Selects a key from a ConfigMap.
&quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
# directly into the message. Use the &quot;name&quot; field instead.
# referenced object inside the same namespace.
&quot;name&quot;: &quot;A String&quot;, # Name of the referent.
# More info:
# https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
},
&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
&quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
#
# Cloud Run on GKE: supported
#
# The key to select.
&quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
#
# Cloud Run on GKE: supported
#
# The ConfigMap to select from.
},
&quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
#
# Cloud Run on GKE: supported
#
# Selects a key of a secret in the pod&#x27;s namespace
# +optional
#
# Cloud Run on GKE: supported
#
# SecretKeySelector selects a key of a Secret.
&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
&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.
&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.
&quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
# directly into the message. Use the &quot;name&quot; field instead.
# referenced object inside the same namespace.
&quot;name&quot;: &quot;A String&quot;, # Name of the referent.
# More info:
# https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
},
},
},
&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
},
],
&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
&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&lt;string, Quantity&gt; requests field. This is done to become compliant
# with k8s style API.
# This field is deprecated in favor of requests field.
&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
&quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
},
},
&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
&quot;a_key&quot;: &quot;A String&quot;,
},
&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
&quot;a_key&quot;: &quot;A String&quot;,
},
&quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed.
# This is a temporary field created to migrate away from the
# map&lt;string, Quantity&gt; limits field. This is done to become compliant
# with k8s style API.
# This field is deprecated in favor of limits field.
&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
&quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
},
},
},
&quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to # 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
# determine whether it is alive or ready to receive traffic.
&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
&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
&quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
&quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
# TCP hooks not yet supported
&quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
# Number must be in the range 1 to 65535.
# Name must be an IANA_SVC_NAME.
# JSON or YAML marshalling and unmarshalling, it produces or consumes the
# inner type. This allows you to have, for example, a JSON field that can
# accept a name or number.
&quot;strVal&quot;: &quot;A String&quot;, # The string value.
&quot;type&quot;: 42, # The type of the value.
&quot;intVal&quot;: 42, # The int value.
},
&quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
# +optional
},
&quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
# Exec specifies the action to take.
# +optional
&quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
# directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
# command is simply exec&#x27;d, it is not run inside a shell, so traditional
# shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
# explicitly call out to that shell. Exit status of 0 is treated as
# live/healthy and non-zero is unhealthy. +optional
},
&quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
# +optional
&quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
# +optional
{ # HTTPHeader describes a custom header to be used in HTTP probes
&quot;name&quot;: &quot;A String&quot;, # The header field name
&quot;value&quot;: &quot;A String&quot;, # The header field value
},
],
&quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
# +optional
&quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
# Number must be in the range 1 to 65535.
# Name must be an IANA_SVC_NAME.
# JSON or YAML marshalling and unmarshalling, it produces or consumes the
# inner type. This allows you to have, for example, a JSON field that can
# accept a name or number.
&quot;strVal&quot;: &quot;A String&quot;, # The string value.
&quot;type&quot;: 42, # The type of the value.
&quot;intVal&quot;: 42, # The int value.
},
&quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
# &quot;Host&quot; in httpHeaders instead.
# +optional
&quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
# Defaults to HTTP.
# +optional
},
},
&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
&quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe.
# Default to 10 seconds. Minimum value is 1.
# +optional
&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
},
&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
&quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in # Actions that the management system should take in response to container
# lifecycle events. Cannot be updated. +optional
# 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.
&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
&quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
# TCP hooks not yet supported
&quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
# Number must be in the range 1 to 65535.
# Name must be an IANA_SVC_NAME.
# JSON or YAML marshalling and unmarshalling, it produces or consumes the
# inner type. This allows you to have, for example, a JSON field that can
# accept a name or number.
&quot;strVal&quot;: &quot;A String&quot;, # The string value.
&quot;type&quot;: 42, # The type of the value.
&quot;intVal&quot;: 42, # The int value.
},
&quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
# +optional
},
&quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
# Exec specifies the action to take.
# +optional
&quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
# directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
# command is simply exec&#x27;d, it is not run inside a shell, so traditional
# shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
# explicitly call out to that shell. Exit status of 0 is treated as
# live/healthy and non-zero is unhealthy. +optional
},
&quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
# +optional
&quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
# +optional
{ # HTTPHeader describes a custom header to be used in HTTP probes
&quot;name&quot;: &quot;A String&quot;, # The header field name
&quot;value&quot;: &quot;A String&quot;, # The header field value
},
],
&quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
# +optional
&quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
# Number must be in the range 1 to 65535.
# Name must be an IANA_SVC_NAME.
# JSON or YAML marshalling and unmarshalling, it produces or consumes the
# inner type. This allows you to have, for example, a JSON field that can
# accept a name or number.
&quot;strVal&quot;: &quot;A String&quot;, # The string value.
&quot;type&quot;: 42, # The type of the value.
&quot;intVal&quot;: 42, # The int value.
},
&quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
# &quot;Host&quot; in httpHeaders instead.
# +optional
&quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
# Defaults to HTTP.
# +optional
},
},
&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
&quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
# TCP hooks not yet supported
&quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
# Number must be in the range 1 to 65535.
# Name must be an IANA_SVC_NAME.
# JSON or YAML marshalling and unmarshalling, it produces or consumes the
# inner type. This allows you to have, for example, a JSON field that can
# accept a name or number.
&quot;strVal&quot;: &quot;A String&quot;, # The string value.
&quot;type&quot;: 42, # The type of the value.
&quot;intVal&quot;: 42, # The int value.
},
&quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
# +optional
},
&quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
# Exec specifies the action to take.
# +optional
&quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
# directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
# command is simply exec&#x27;d, it is not run inside a shell, so traditional
# shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
# explicitly call out to that shell. Exit status of 0 is treated as
# live/healthy and non-zero is unhealthy. +optional
},
&quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
# +optional
&quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
# +optional
{ # HTTPHeader describes a custom header to be used in HTTP probes
&quot;name&quot;: &quot;A String&quot;, # The header field name
&quot;value&quot;: &quot;A String&quot;, # The header field value
},
],
&quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
# +optional
&quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
# Number must be in the range 1 to 65535.
# Name must be an IANA_SVC_NAME.
# JSON or YAML marshalling and unmarshalling, it produces or consumes the
# inner type. This allows you to have, for example, a JSON field that can
# accept a name or number.
&quot;strVal&quot;: &quot;A String&quot;, # The string value.
&quot;type&quot;: 42, # The type of the value.
&quot;intVal&quot;: 42, # The int value.
},
&quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
# &quot;Host&quot; in httpHeaders instead.
# +optional
&quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
# Defaults to HTTP.
# +optional
},
},
},
&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
&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
&quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem.
# Cannot be updated.
# +optional
{ # VolumeMount describes a mounting of a Volume within a container.
&quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
&quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified).
# Defaults to false.
# +optional
&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
&quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must
# not contain &#x27;:&#x27;.
&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
},
],
&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
&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
{ # volumeDevice describes a mapping of a raw block device within a container.
&quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
&quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be
# mapped to.
},
],
&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
&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
&quot;A String&quot;,
],
&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
&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
{ # ContainerPort represents a network port in a single container.
&quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to.
# +optional
&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
&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
&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.
&quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP.
# Defaults to &quot;TCP&quot;.
# +optional
},
],
&quot;image&quot;: &quot;A String&quot;, # Docker image name.
# More info: https://kubernetes.io/docs/concepts/containers/images
&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
{ # EnvFromSource represents the source of a set of ConfigMaps
&quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a
# C_IDENTIFIER. +optional
&quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment # The ConfigMap to select from
# +optional
# variables with.
#
# The contents of the target ConfigMap&#x27;s Data field will represent the
# key-value pairs as environment variables.
&quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
# directly into the message. Use the &quot;name&quot; field instead.
# referenced object inside the same namespace.
&quot;name&quot;: &quot;A String&quot;, # Name of the referent.
# More info:
# https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
},
&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
&quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
#
# Cloud Run for Anthos: supported
#
# The ConfigMap to select from.
},
&quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment # The Secret to select from
# +optional
# variables with.
#
# The contents of the target Secret&#x27;s Data field will represent the
# key-value pairs as environment variables.
&quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
#
# Cloud Run for Anthos: supported
#
# The Secret to select from.
&quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
# directly into the message. Use the &quot;name&quot; field instead.
# referenced object inside the same namespace.
&quot;name&quot;: &quot;A String&quot;, # Name of the referent.
# More info:
# https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
},
&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
},
},
],
&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.
&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
&quot;A String&quot;,
],
},
],
&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.
&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.
&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.
&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
&quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for
# responding to a request.
# Not currently used by Cloud Run.
&quot;container&quot;: { # A single application container. # 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
# 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.
&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
&quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a # 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
# container. Some fields are present in both SecurityContext and
# PodSecurityContext. When both are set, the values in SecurityContext take
# precedence.
&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
&quot;add&quot;: [ # Added capabilities
# +optional
&quot;A String&quot;,
],
&quot;drop&quot;: [ # Removed capabilities
# +optional
&quot;A String&quot;,
],
},
&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
&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
&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
&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
&quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem.
# Default is false.
# +optional
&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
&quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container.
# +optional
&quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container.
# +optional
&quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container.
# +optional
&quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container.
# +optional
},
&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
},
&quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to # 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
# determine whether it is alive or ready to receive traffic.
&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
&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
&quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
&quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
# TCP hooks not yet supported
&quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
# Number must be in the range 1 to 65535.
# Name must be an IANA_SVC_NAME.
# JSON or YAML marshalling and unmarshalling, it produces or consumes the
# inner type. This allows you to have, for example, a JSON field that can
# accept a name or number.
&quot;strVal&quot;: &quot;A String&quot;, # The string value.
&quot;type&quot;: 42, # The type of the value.
&quot;intVal&quot;: 42, # The int value.
},
&quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
# +optional
},
&quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
# Exec specifies the action to take.
# +optional
&quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
# directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
# command is simply exec&#x27;d, it is not run inside a shell, so traditional
# shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
# explicitly call out to that shell. Exit status of 0 is treated as
# live/healthy and non-zero is unhealthy. +optional
},
&quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
# +optional
&quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
# +optional
{ # HTTPHeader describes a custom header to be used in HTTP probes
&quot;name&quot;: &quot;A String&quot;, # The header field name
&quot;value&quot;: &quot;A String&quot;, # The header field value
},
],
&quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
# +optional
&quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
# Number must be in the range 1 to 65535.
# Name must be an IANA_SVC_NAME.
# JSON or YAML marshalling and unmarshalling, it produces or consumes the
# inner type. This allows you to have, for example, a JSON field that can
# accept a name or number.
&quot;strVal&quot;: &quot;A String&quot;, # The string value.
&quot;type&quot;: 42, # The type of the value.
&quot;intVal&quot;: 42, # The int value.
},
&quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
# &quot;Host&quot; in httpHeaders instead.
# +optional
&quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
# Defaults to HTTP.
# +optional
},
},
&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
&quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe.
# Default to 10 seconds. Minimum value is 1.
# +optional
&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
},
&quot;env&quot;: [ # List of environment variables to set in the container.
# Cannot be updated.
# +optional
{ # EnvVar represents an environment variable present in a Container.
&quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
&quot;valueFrom&quot;: { # Cloud Run fully managed: not supported # 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
#
# Cloud Run on GKE: supported
#
# EnvVarSource represents a source for the value of an EnvVar.
&quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
#
# Cloud Run on GKE: supported
#
# Selects a key of a ConfigMap.
# +optional
#
# Cloud Run on GKE: supported
#
# Selects a key from a ConfigMap.
&quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
# directly into the message. Use the &quot;name&quot; field instead.
# referenced object inside the same namespace.
&quot;name&quot;: &quot;A String&quot;, # Name of the referent.
# More info:
# https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
},
&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
&quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
#
# Cloud Run on GKE: supported
#
# The key to select.
&quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
#
# Cloud Run on GKE: supported
#
# The ConfigMap to select from.
},
&quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
#
# Cloud Run on GKE: supported
#
# Selects a key of a secret in the pod&#x27;s namespace
# +optional
#
# Cloud Run on GKE: supported
#
# SecretKeySelector selects a key of a Secret.
&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
&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.
&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.
&quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
# directly into the message. Use the &quot;name&quot; field instead.
# referenced object inside the same namespace.
&quot;name&quot;: &quot;A String&quot;, # Name of the referent.
# More info:
# https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
},
},
},
&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
},
],
&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
&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&lt;string, Quantity&gt; requests field. This is done to become compliant
# with k8s style API.
# This field is deprecated in favor of requests field.
&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
&quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
},
},
&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
&quot;a_key&quot;: &quot;A String&quot;,
},
&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
&quot;a_key&quot;: &quot;A String&quot;,
},
&quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed.
# This is a temporary field created to migrate away from the
# map&lt;string, Quantity&gt; limits field. This is done to become compliant
# with k8s style API.
# This field is deprecated in favor of limits field.
&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
&quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
},
},
},
&quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to # 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
# determine whether it is alive or ready to receive traffic.
&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
&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
&quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
&quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
# TCP hooks not yet supported
&quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
# Number must be in the range 1 to 65535.
# Name must be an IANA_SVC_NAME.
# JSON or YAML marshalling and unmarshalling, it produces or consumes the
# inner type. This allows you to have, for example, a JSON field that can
# accept a name or number.
&quot;strVal&quot;: &quot;A String&quot;, # The string value.
&quot;type&quot;: 42, # The type of the value.
&quot;intVal&quot;: 42, # The int value.
},
&quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
# +optional
},
&quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
# Exec specifies the action to take.
# +optional
&quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
# directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
# command is simply exec&#x27;d, it is not run inside a shell, so traditional
# shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
# explicitly call out to that shell. Exit status of 0 is treated as
# live/healthy and non-zero is unhealthy. +optional
},
&quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
# +optional
&quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
# +optional
{ # HTTPHeader describes a custom header to be used in HTTP probes
&quot;name&quot;: &quot;A String&quot;, # The header field name
&quot;value&quot;: &quot;A String&quot;, # The header field value
},
],
&quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
# +optional
&quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
# Number must be in the range 1 to 65535.
# Name must be an IANA_SVC_NAME.
# JSON or YAML marshalling and unmarshalling, it produces or consumes the
# inner type. This allows you to have, for example, a JSON field that can
# accept a name or number.
&quot;strVal&quot;: &quot;A String&quot;, # The string value.
&quot;type&quot;: 42, # The type of the value.
&quot;intVal&quot;: 42, # The int value.
},
&quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
# &quot;Host&quot; in httpHeaders instead.
# +optional
&quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
# Defaults to HTTP.
# +optional
},
},
&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
&quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe.
# Default to 10 seconds. Minimum value is 1.
# +optional
&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
},
&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
&quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in # Actions that the management system should take in response to container
# lifecycle events. Cannot be updated. +optional
# 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.
&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
&quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
# TCP hooks not yet supported
&quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
# Number must be in the range 1 to 65535.
# Name must be an IANA_SVC_NAME.
# JSON or YAML marshalling and unmarshalling, it produces or consumes the
# inner type. This allows you to have, for example, a JSON field that can
# accept a name or number.
&quot;strVal&quot;: &quot;A String&quot;, # The string value.
&quot;type&quot;: 42, # The type of the value.
&quot;intVal&quot;: 42, # The int value.
},
&quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
# +optional
},
&quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
# Exec specifies the action to take.
# +optional
&quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
# directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
# command is simply exec&#x27;d, it is not run inside a shell, so traditional
# shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
# explicitly call out to that shell. Exit status of 0 is treated as
# live/healthy and non-zero is unhealthy. +optional
},
&quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
# +optional
&quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
# +optional
{ # HTTPHeader describes a custom header to be used in HTTP probes
&quot;name&quot;: &quot;A String&quot;, # The header field name
&quot;value&quot;: &quot;A String&quot;, # The header field value
},
],
&quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
# +optional
&quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
# Number must be in the range 1 to 65535.
# Name must be an IANA_SVC_NAME.
# JSON or YAML marshalling and unmarshalling, it produces or consumes the
# inner type. This allows you to have, for example, a JSON field that can
# accept a name or number.
&quot;strVal&quot;: &quot;A String&quot;, # The string value.
&quot;type&quot;: 42, # The type of the value.
&quot;intVal&quot;: 42, # The int value.
},
&quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
# &quot;Host&quot; in httpHeaders instead.
# +optional
&quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
# Defaults to HTTP.
# +optional
},
},
&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
&quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
# TCP hooks not yet supported
&quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
# Number must be in the range 1 to 65535.
# Name must be an IANA_SVC_NAME.
# JSON or YAML marshalling and unmarshalling, it produces or consumes the
# inner type. This allows you to have, for example, a JSON field that can
# accept a name or number.
&quot;strVal&quot;: &quot;A String&quot;, # The string value.
&quot;type&quot;: 42, # The type of the value.
&quot;intVal&quot;: 42, # The int value.
},
&quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
# +optional
},
&quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
# Exec specifies the action to take.
# +optional
&quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
# directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
# command is simply exec&#x27;d, it is not run inside a shell, so traditional
# shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
# explicitly call out to that shell. Exit status of 0 is treated as
# live/healthy and non-zero is unhealthy. +optional
},
&quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
# +optional
&quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
# +optional
{ # HTTPHeader describes a custom header to be used in HTTP probes
&quot;name&quot;: &quot;A String&quot;, # The header field name
&quot;value&quot;: &quot;A String&quot;, # The header field value
},
],
&quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
# +optional
&quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
# Number must be in the range 1 to 65535.
# Name must be an IANA_SVC_NAME.
# JSON or YAML marshalling and unmarshalling, it produces or consumes the
# inner type. This allows you to have, for example, a JSON field that can
# accept a name or number.
&quot;strVal&quot;: &quot;A String&quot;, # The string value.
&quot;type&quot;: 42, # The type of the value.
&quot;intVal&quot;: 42, # The int value.
},
&quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
# &quot;Host&quot; in httpHeaders instead.
# +optional
&quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
# Defaults to HTTP.
# +optional
},
},
},
&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
&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
&quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem.
# Cannot be updated.
# +optional
{ # VolumeMount describes a mounting of a Volume within a container.
&quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
&quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified).
# Defaults to false.
# +optional
&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
&quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must
# not contain &#x27;:&#x27;.
&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
},
],
&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
&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
{ # volumeDevice describes a mapping of a raw block device within a container.
&quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
&quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be
# mapped to.
},
],
&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
&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
&quot;A String&quot;,
],
&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
&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
{ # ContainerPort represents a network port in a single container.
&quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to.
# +optional
&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
&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
&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.
&quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP.
# Defaults to &quot;TCP&quot;.
# +optional
},
],
&quot;image&quot;: &quot;A String&quot;, # Docker image name.
# More info: https://kubernetes.io/docs/concepts/containers/images
&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
{ # EnvFromSource represents the source of a set of ConfigMaps
&quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a
# C_IDENTIFIER. +optional
&quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment # The ConfigMap to select from
# +optional
# variables with.
#
# The contents of the target ConfigMap&#x27;s Data field will represent the
# key-value pairs as environment variables.
&quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
# directly into the message. Use the &quot;name&quot; field instead.
# referenced object inside the same namespace.
&quot;name&quot;: &quot;A String&quot;, # Name of the referent.
# More info:
# https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
},
&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
&quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
#
# Cloud Run for Anthos: supported
#
# The ConfigMap to select from.
},
&quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment # The Secret to select from
# +optional
# variables with.
#
# The contents of the target Secret&#x27;s Data field will represent the
# key-value pairs as environment variables.
&quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
#
# Cloud Run for Anthos: supported
#
# The Secret to select from.
&quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
# directly into the message. Use the &quot;name&quot; field instead.
# referenced object inside the same namespace.
&quot;name&quot;: &quot;A String&quot;, # Name of the referent.
# More info:
# https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
},
&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
},
},
],
&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.
&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
&quot;A String&quot;,
],
},
&quot;volumes&quot;: [
{ # Volume represents a named volume in a container.
&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.
&quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
&quot;name&quot;: &quot;A String&quot;, # Name of the config.
&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.
&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.
{ # Maps a string key to a path within a volume.
&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;.
&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
&quot;key&quot;: &quot;A String&quot;, # The key to project.
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
&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.
&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.
&quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
&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.
{ # Maps a string key to a path within a volume.
&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;.
&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
&quot;key&quot;: &quot;A String&quot;, # The key to project.
},
],
&quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
},
},
],
},
},
],
}</pre>
</div>
</body></html>