docs: update docs (#916)

* fix: re-run script

* test: fix noxfile
diff --git a/docs/dyn/run_v1alpha1.namespaces.configurations.html b/docs/dyn/run_v1alpha1.namespaces.configurations.html
index bb53a29..44a917a 100644
--- a/docs/dyn/run_v1alpha1.namespaces.configurations.html
+++ b/docs/dyn/run_v1alpha1.namespaces.configurations.html
@@ -108,170 +108,6 @@
       "template": { # RevisionTemplateSpec describes the data a revision should have when created # Template holds the latest specification for the Revision to be stamped out.
           # from a template. Based on:
           # https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190
-        "metadata": { # ObjectMeta is metadata that all persisted resources must have, which includes # Optional metadata for this Revision, including labels and annotations. Name
-            # will be generated by the Configuration.
-            # To set minimum instances for this revision, use the
-            # "autoscaling.knative.dev/minScale" annotation key. (Cloud Run on GKE only).
-            # To set maximum instances for this revision, use the
-            # "autoscaling.knative.dev/maxScale" annotation key.
-            # To set Cloud SQL connections for the revision, use the
-            # "run.googleapis.com/cloudsql-instances" annotation key. Values should be
-            # comma separated.
-            # all objects users must create.
-          "annotations": { # 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
-            "a_key": "A String",
-          },
-          "generateName": "A String", # 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;
-          "name": "A String", # 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
-          "clusterName": "A String", # 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
-          "deletionGracePeriodSeconds": 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
-          "finalizers": [ # 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
-            "A String",
-          ],
-          "deletionTimestamp": "A String", # 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
-          "ownerReferences": [ # 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.
-              "apiVersion": "A String", # API version of the referent.
-              "name": "A String", # Name of the referent.
-                  # More info: http://kubernetes.io/docs/user-guide/identifiers#names
-              "uid": "A String", # UID of the referent.
-                  # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
-              "controller": True or False, # If true, this reference points to the managing controller.
-                  # +optional
-              "kind": "A String", # Kind of the referent.
-                  # More info:
-                  # https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
-              "blockOwnerDeletion": True or False, # If true, AND if the owner has the "foregroundDeletion" 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 "delete" permission of the owner,
-                  # otherwise 422 (Unprocessable Entity) will be returned.
-                  # +optional
-            },
-          ],
-          "creationTimestamp": "A String", # 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
-          "labels": { # 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
-            "a_key": "A String",
-          },
-          "generation": 42, # A sequence number representing a specific generation of the desired state.
-              # Populated by the system. Read-only.
-              # +optional
-          "resourceVersion": "A String", # 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
-          "uid": "A String", # 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
-          "selfLink": "A String", # SelfLink is a URL representing this object.
-              # Populated by the system.
-              # Read-only.
-              # +optional
-              #  string selfLink = 4;
-          "namespace": "A String", # 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.
-        },
         "spec": { # RevisionSpec holds the desired state of the Revision (from the client). # RevisionSpec holds the desired state of the Revision (from the client).
           "containerConcurrency": 42, # (Optional)
               #
@@ -283,10 +119,6 @@
               # 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.
-          "serviceAccountName": "A String", # 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's default service account.
           "containers": [ # 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.
@@ -296,309 +128,6 @@
                 # and the arguments to supply to it.
                 # Note that additional arguments may be supplied by the system to the container
                 # at runtime.
-              "terminationMessagePath": "A String", # Optional: Path at which the file to which the container's termination
-                  # message will be written is mounted into the container'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
-              "lifecycle": { # 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.
-                "preStop": { # 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
-                  "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
-                      # Exec specifies the action to take.
-                      # +optional
-                    "command": "A String", # Command is the command line to execute inside the container, the working
-                        # directory for the command  is root ('/') in the container's filesystem. The
-                        # command is simply exec'd, it is not run inside a shell, so traditional
-                        # shell instructions ('|', etc) won't work. To use a shell, you need to
-                        # explicitly call out to that shell. Exit status of 0 is treated as
-                        # live/healthy and non-zero is unhealthy. +optional
-                  },
-                  "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                      # +optional
-                    "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
-                        # +optional
-                      { # HTTPHeader describes a custom header to be used in HTTP probes
-                        "value": "A String", # The header field value
-                        "name": "A String", # The header field name
-                      },
-                    ],
-                    "path": "A String", # Path to access on the HTTP server.
-                        # +optional
-                    "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Name or number of the port to access on the container.
-                        # 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.
-                      "type": 42, # The type of the value.
-                      "intVal": 42, # The int value.
-                      "strVal": "A String", # The string value.
-                    },
-                    "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
-                        # "Host" in httpHeaders instead.
-                        # +optional
-                    "scheme": "A String", # Scheme to use for connecting to the host.
-                        # Defaults to HTTP.
-                        # +optional
-                  },
-                  "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                      # TCP hooks not yet supported
-                    "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Number or name of the port to access on the container.
-                        # 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.
-                      "type": 42, # The type of the value.
-                      "intVal": 42, # The int value.
-                      "strVal": "A String", # The string value.
-                    },
-                    "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
-                        # +optional
-                  },
-                },
-                "postStart": { # 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
-                  "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
-                      # Exec specifies the action to take.
-                      # +optional
-                    "command": "A String", # Command is the command line to execute inside the container, the working
-                        # directory for the command  is root ('/') in the container's filesystem. The
-                        # command is simply exec'd, it is not run inside a shell, so traditional
-                        # shell instructions ('|', etc) won't work. To use a shell, you need to
-                        # explicitly call out to that shell. Exit status of 0 is treated as
-                        # live/healthy and non-zero is unhealthy. +optional
-                  },
-                  "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                      # +optional
-                    "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
-                        # +optional
-                      { # HTTPHeader describes a custom header to be used in HTTP probes
-                        "value": "A String", # The header field value
-                        "name": "A String", # The header field name
-                      },
-                    ],
-                    "path": "A String", # Path to access on the HTTP server.
-                        # +optional
-                    "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Name or number of the port to access on the container.
-                        # 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.
-                      "type": 42, # The type of the value.
-                      "intVal": 42, # The int value.
-                      "strVal": "A String", # The string value.
-                    },
-                    "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
-                        # "Host" in httpHeaders instead.
-                        # +optional
-                    "scheme": "A String", # Scheme to use for connecting to the host.
-                        # Defaults to HTTP.
-                        # +optional
-                  },
-                  "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                      # TCP hooks not yet supported
-                    "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Number or name of the port to access on the container.
-                        # 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.
-                      "type": 42, # The type of the value.
-                      "intVal": 42, # The int value.
-                      "strVal": "A String", # The string value.
-                    },
-                    "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
-                        # +optional
-                  },
-                },
-              },
-              "stdin": 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
-              "tty": True or False, # Whether this container should allocate a TTY for itself, also requires
-                  # 'stdin' to be true. Default is false. +optional
-              "volumeMounts": [ # Pod volumes to mount into the container's filesystem.
-                  # Cannot be updated.
-                  # +optional
-                { # VolumeMount describes a mounting of a Volume within a container.
-                  "readOnly": True or False, # Mounted read-only if true, read-write otherwise (false or unspecified).
-                      # Defaults to false.
-                      # +optional
-                  "mountPropagation": "A String", # 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
-                  "mountPath": "A String", # Path within the container at which the volume should be mounted.  Must
-                      # not contain ':'.
-                  "subPath": "A String", # Path within the volume from which the container's volume should be mounted.
-                      # Defaults to "" (volume's root).
-                      # +optional
-                  "name": "A String", # This must match the Name of a Volume.
-                },
-              ],
-              "volumeDevices": [ # 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.
-                  "name": "A String", # name must match the name of a persistentVolumeClaim in the pod
-                  "devicePath": "A String", # devicePath is the path inside of the container that the device will be
-                      # mapped to.
-                },
-              ],
-              "ports": [ # 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 "0.0.0.0" address inside a container will be
-                  # accessible from the network.
-                  # Cannot be updated.
-                  # +optional
-                { # ContainerPort represents a network port in a single container.
-                  "hostPort": 42, # Number of port to expose on the host.
-                      # If specified, this must be a valid port number, 0 < x < 65536.
-                      # If HostNetwork is specified, this must match ContainerPort.
-                      # Most containers do not need this.
-                      # +optional
-                  "containerPort": 42, # Number of port to expose on the pod's IP address.
-                      # This must be a valid port number, 0 < x < 65536.
-                  "protocol": "A String", # Protocol for port. Must be UDP or TCP.
-                      # Defaults to "TCP".
-                      # +optional
-                  "hostIP": "A String", # What host IP to bind the external port to.
-                      # +optional
-                  "name": "A String", # 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
-                },
-              ],
-              "workingDir": "A String", # Container's working directory.
-                  # If not specified, the container runtime's default will be used, which
-                  # might be configured in the container image.
-                  # Cannot be updated.
-                  # +optional
-              "args": [ # Arguments to the entrypoint.
-                  # The docker image's CMD is used if this is not provided.
-                  # Variable references $(VAR_NAME) are expanded using the container'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
-                "A String",
-              ],
-              "stdinOnce": 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
-              "envFrom": [ # 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
-                  "configMapRef": { # ConfigMapEnvSource selects a ConfigMap to populate the environment # The ConfigMap to select from
-                      # +optional
-                      # variables with.
-                      #
-                      # The contents of the target ConfigMap's Data field will represent the
-                      # key-value pairs as environment variables.
-                    "name": "A String", # Cloud Run fully managed: not supported
-                        #
-                        # Cloud Run for Anthos: supported
-                        #
-                        # The ConfigMap to select from.
-                    "localObjectReference": { # 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 "name" field instead.
-                        # referenced object inside the same namespace.
-                      "name": "A String", # Name of the referent.
-                          # More info:
-                          # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                    },
-                    "optional": True or False, # Cloud Run fully managed: not supported
-                        #
-                        # Cloud Run for Anthos: supported
-                        #
-                        # Specify whether the ConfigMap must be defined
-                        # +optional
-                  },
-                  "secretRef": { # SecretEnvSource selects a Secret to populate the environment # The Secret to select from
-                      # +optional
-                      # variables with.
-                      #
-                      # The contents of the target Secret's Data field will represent the
-                      # key-value pairs as environment variables.
-                    "localObjectReference": { # 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 "name" field instead.
-                        # referenced object inside the same namespace.
-                      "name": "A String", # Name of the referent.
-                          # More info:
-                          # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                    },
-                    "optional": True or False, # Cloud Run fully managed: not supported
-                        #
-                        # Cloud Run for Anthos: supported
-                        #
-                        # Specify whether the Secret must be defined
-                        # +optional
-                    "name": "A String", # Cloud Run fully managed: not supported
-                        #
-                        # Cloud Run for Anthos: supported
-                        #
-                        # The Secret to select from.
-                  },
-                  "prefix": "A String", # An optional identifier to prepend to each key in the ConfigMap. Must be a
-                      # C_IDENTIFIER. +optional
-                },
-              ],
-              "image": "A String", # Docker image name.
-                  # More info: https://kubernetes.io/docs/concepts/containers/images
-              "name": "A String", # Name of the container specified as a DNS_LABEL.
-                  # Each container must have a unique name (DNS_LABEL).
-                  # Cannot be updated.
-              "command": [ # Entrypoint array. Not executed within a shell.
-                  # The docker image's ENTRYPOINT is used if this is not provided.
-                  # Variable references $(VAR_NAME) are expanded using the container'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
-                "A String",
-              ],
               "terminationMessagePolicy": "A String", # 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
@@ -648,6 +177,9 @@
                     # 1) run as Privileged
                     # 2) has CAP_SYS_ADMIN
                     # +optional
+                "readOnlyRootFilesystem": True or False, # Whether this container has a read-only root filesystem.
+                    # Default is false.
+                    # +optional
                 "seLinuxOptions": { # 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
@@ -662,9 +194,6 @@
                   "type": "A String", # Type is a SELinux type label that applies to the container.
                       # +optional
                 },
-                "readOnlyRootFilesystem": True or False, # Whether this container has a read-only root filesystem.
-                    # Default is false.
-                    # +optional
                 "runAsUser": 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
@@ -678,8 +207,6 @@
                   # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
                   # +optional
                   # determine whether it is alive or ready to receive traffic.
-                "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
-                    # having succeeded. Defaults to 3. Minimum value is 1. +optional
                 "initialDelaySeconds": 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
@@ -690,6 +217,21 @@
                     # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
                     # +optional
                 "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
+                  "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
+                      # TCP hooks not yet supported
+                    "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Number or name of the port to access on the container.
+                        # 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.
+                      "strVal": "A String", # The string value.
+                      "type": 42, # The type of the value.
+                      "intVal": 42, # The int value.
+                    },
+                    "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
+                        # +optional
+                  },
                   "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
                       # Exec specifies the action to take.
                       # +optional
@@ -705,8 +247,8 @@
                     "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
                         # +optional
                       { # HTTPHeader describes a custom header to be used in HTTP probes
-                        "value": "A String", # The header field value
                         "name": "A String", # The header field name
+                        "value": "A String", # The header field value
                       },
                     ],
                     "path": "A String", # Path to access on the HTTP server.
@@ -717,9 +259,9 @@
                         # JSON or YAML marshalling and unmarshalling, it produces or consumes the
                         # inner type.  This allows you to have, for example, a JSON field that can
                         # accept a name or number.
+                      "strVal": "A String", # The string value.
                       "type": 42, # The type of the value.
                       "intVal": 42, # The int value.
-                      "strVal": "A String", # The string value.
                     },
                     "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
                         # "Host" in httpHeaders instead.
@@ -728,21 +270,6 @@
                         # Defaults to HTTP.
                         # +optional
                   },
-                  "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                      # TCP hooks not yet supported
-                    "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Number or name of the port to access on the container.
-                        # 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.
-                      "type": 42, # The type of the value.
-                      "intVal": 42, # The int value.
-                      "strVal": "A String", # The string value.
-                    },
-                    "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
-                        # +optional
-                  },
                 },
                 "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
                     # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
@@ -750,20 +277,13 @@
                 "periodSeconds": 42, # How often (in seconds) to perform the probe.
                     # Default to 10 seconds. Minimum value is 1.
                     # +optional
+                "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
+                    # having succeeded. Defaults to 3. Minimum value is 1. +optional
               },
               "env": [ # List of environment variables to set in the container.
                   # Cannot be updated.
                   # +optional
                 { # EnvVar represents an environment variable present in a Container.
-                  "value": "A String", # 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 "".
-                      # +optional
                   "name": "A String", # Name of the environment variable. Must be a C_IDENTIFIER.
                   "valueFrom": { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
                       #
@@ -785,6 +305,13 @@
                         # Cloud Run on GKE: supported
                         #
                         # Selects a key from a ConfigMap.
+                      "localObjectReference": { # 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 "name" field instead.
+                          # referenced object inside the same namespace.
+                        "name": "A String", # Name of the referent.
+                            # More info:
+                            # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                      },
                       "optional": True or False, # Cloud Run fully managed: not supported
                           #
                           # Cloud Run on GKE: supported
@@ -801,13 +328,6 @@
                           # Cloud Run on GKE: supported
                           #
                           # The ConfigMap to select from.
-                      "localObjectReference": { # 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 "name" field instead.
-                          # referenced object inside the same namespace.
-                        "name": "A String", # Name of the referent.
-                            # More info:
-                            # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                      },
                     },
                     "secretKeyRef": { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
                         #
@@ -819,13 +339,6 @@
                         # Cloud Run on GKE: supported
                         #
                         # SecretKeySelector selects a key of a Secret.
-                      "localObjectReference": { # 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 "name" field instead.
-                          # referenced object inside the same namespace.
-                        "name": "A String", # Name of the referent.
-                            # More info:
-                            # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                      },
                       "optional": True or False, # Cloud Run fully managed: not supported
                           #
                           # Cloud Run on GKE: supported
@@ -842,8 +355,24 @@
                           # Cloud Run on GKE: supported
                           #
                           # The name of the secret in the pod's namespace to select from.
+                      "localObjectReference": { # 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 "name" field instead.
+                          # referenced object inside the same namespace.
+                        "name": "A String", # Name of the referent.
+                            # More info:
+                            # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                      },
                     },
                   },
+                  "value": "A String", # 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 "".
+                      # +optional
                 },
               ],
               "resources": { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
@@ -893,8 +422,6 @@
                   # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
                   # +optional
                   # determine whether it is alive or ready to receive traffic.
-                "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
-                    # having succeeded. Defaults to 3. Minimum value is 1. +optional
                 "initialDelaySeconds": 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
@@ -905,6 +432,21 @@
                     # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
                     # +optional
                 "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
+                  "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
+                      # TCP hooks not yet supported
+                    "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Number or name of the port to access on the container.
+                        # 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.
+                      "strVal": "A String", # The string value.
+                      "type": 42, # The type of the value.
+                      "intVal": 42, # The int value.
+                    },
+                    "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
+                        # +optional
+                  },
                   "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
                       # Exec specifies the action to take.
                       # +optional
@@ -920,8 +462,8 @@
                     "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
                         # +optional
                       { # HTTPHeader describes a custom header to be used in HTTP probes
-                        "value": "A String", # The header field value
                         "name": "A String", # The header field name
+                        "value": "A String", # The header field value
                       },
                     ],
                     "path": "A String", # Path to access on the HTTP server.
@@ -932,9 +474,9 @@
                         # JSON or YAML marshalling and unmarshalling, it produces or consumes the
                         # inner type.  This allows you to have, for example, a JSON field that can
                         # accept a name or number.
+                      "strVal": "A String", # The string value.
                       "type": 42, # The type of the value.
                       "intVal": 42, # The int value.
-                      "strVal": "A String", # The string value.
                     },
                     "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
                         # "Host" in httpHeaders instead.
@@ -943,21 +485,6 @@
                         # Defaults to HTTP.
                         # +optional
                   },
-                  "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                      # TCP hooks not yet supported
-                    "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Number or name of the port to access on the container.
-                        # 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.
-                      "type": 42, # The type of the value.
-                      "intVal": 42, # The int value.
-                      "strVal": "A String", # The string value.
-                    },
-                    "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
-                        # +optional
-                  },
                 },
                 "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
                     # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
@@ -965,6 +492,8 @@
                 "periodSeconds": 42, # How often (in seconds) to perform the probe.
                     # Default to 10 seconds. Minimum value is 1.
                     # +optional
+                "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
+                    # having succeeded. Defaults to 3. Minimum value is 1. +optional
               },
               "imagePullPolicy": "A String", # Image pull policy.
                   # One of Always, Never, IfNotPresent.
@@ -973,8 +502,315 @@
                   # More info:
                   # https://kubernetes.io/docs/concepts/containers/images#updating-images
                   # +optional
+              "lifecycle": { # 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.
+                "preStop": { # 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
+                  "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
+                      # TCP hooks not yet supported
+                    "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Number or name of the port to access on the container.
+                        # 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.
+                      "strVal": "A String", # The string value.
+                      "type": 42, # The type of the value.
+                      "intVal": 42, # The int value.
+                    },
+                    "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
+                        # +optional
+                  },
+                  "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
+                      # Exec specifies the action to take.
+                      # +optional
+                    "command": "A String", # Command is the command line to execute inside the container, the working
+                        # directory for the command  is root ('/') in the container's filesystem. The
+                        # command is simply exec'd, it is not run inside a shell, so traditional
+                        # shell instructions ('|', etc) won't work. To use a shell, you need to
+                        # explicitly call out to that shell. Exit status of 0 is treated as
+                        # live/healthy and non-zero is unhealthy. +optional
+                  },
+                  "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
+                      # +optional
+                    "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
+                        # +optional
+                      { # HTTPHeader describes a custom header to be used in HTTP probes
+                        "name": "A String", # The header field name
+                        "value": "A String", # The header field value
+                      },
+                    ],
+                    "path": "A String", # Path to access on the HTTP server.
+                        # +optional
+                    "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Name or number of the port to access on the container.
+                        # 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.
+                      "strVal": "A String", # The string value.
+                      "type": 42, # The type of the value.
+                      "intVal": 42, # The int value.
+                    },
+                    "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
+                        # "Host" in httpHeaders instead.
+                        # +optional
+                    "scheme": "A String", # Scheme to use for connecting to the host.
+                        # Defaults to HTTP.
+                        # +optional
+                  },
+                },
+                "postStart": { # 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
+                  "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
+                      # TCP hooks not yet supported
+                    "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Number or name of the port to access on the container.
+                        # 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.
+                      "strVal": "A String", # The string value.
+                      "type": 42, # The type of the value.
+                      "intVal": 42, # The int value.
+                    },
+                    "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
+                        # +optional
+                  },
+                  "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
+                      # Exec specifies the action to take.
+                      # +optional
+                    "command": "A String", # Command is the command line to execute inside the container, the working
+                        # directory for the command  is root ('/') in the container's filesystem. The
+                        # command is simply exec'd, it is not run inside a shell, so traditional
+                        # shell instructions ('|', etc) won't work. To use a shell, you need to
+                        # explicitly call out to that shell. Exit status of 0 is treated as
+                        # live/healthy and non-zero is unhealthy. +optional
+                  },
+                  "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
+                      # +optional
+                    "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
+                        # +optional
+                      { # HTTPHeader describes a custom header to be used in HTTP probes
+                        "name": "A String", # The header field name
+                        "value": "A String", # The header field value
+                      },
+                    ],
+                    "path": "A String", # Path to access on the HTTP server.
+                        # +optional
+                    "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Name or number of the port to access on the container.
+                        # 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.
+                      "strVal": "A String", # The string value.
+                      "type": 42, # The type of the value.
+                      "intVal": 42, # The int value.
+                    },
+                    "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
+                        # "Host" in httpHeaders instead.
+                        # +optional
+                    "scheme": "A String", # Scheme to use for connecting to the host.
+                        # Defaults to HTTP.
+                        # +optional
+                  },
+                },
+              },
+              "terminationMessagePath": "A String", # Optional: Path at which the file to which the container's termination
+                  # message will be written is mounted into the container'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
+              "stdin": 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
+              "volumeMounts": [ # Pod volumes to mount into the container's filesystem.
+                  # Cannot be updated.
+                  # +optional
+                { # VolumeMount describes a mounting of a Volume within a container.
+                  "name": "A String", # This must match the Name of a Volume.
+                  "readOnly": True or False, # Mounted read-only if true, read-write otherwise (false or unspecified).
+                      # Defaults to false.
+                      # +optional
+                  "mountPropagation": "A String", # 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
+                  "mountPath": "A String", # Path within the container at which the volume should be mounted.  Must
+                      # not contain ':'.
+                  "subPath": "A String", # Path within the volume from which the container's volume should be mounted.
+                      # Defaults to "" (volume's root).
+                      # +optional
+                },
+              ],
+              "tty": True or False, # Whether this container should allocate a TTY for itself, also requires
+                  # 'stdin' to be true. Default is false. +optional
+              "volumeDevices": [ # 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.
+                  "name": "A String", # name must match the name of a persistentVolumeClaim in the pod
+                  "devicePath": "A String", # devicePath is the path inside of the container that the device will be
+                      # mapped to.
+                },
+              ],
+              "stdinOnce": 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
+              "args": [ # Arguments to the entrypoint.
+                  # The docker image's CMD is used if this is not provided.
+                  # Variable references $(VAR_NAME) are expanded using the container'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
+                "A String",
+              ],
+              "workingDir": "A String", # Container's working directory.
+                  # If not specified, the container runtime's default will be used, which
+                  # might be configured in the container image.
+                  # Cannot be updated.
+                  # +optional
+              "ports": [ # 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 "0.0.0.0" address inside a container will be
+                  # accessible from the network.
+                  # Cannot be updated.
+                  # +optional
+                { # ContainerPort represents a network port in a single container.
+                  "hostIP": "A String", # What host IP to bind the external port to.
+                      # +optional
+                  "name": "A String", # 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
+                  "hostPort": 42, # Number of port to expose on the host.
+                      # If specified, this must be a valid port number, 0 < x < 65536.
+                      # If HostNetwork is specified, this must match ContainerPort.
+                      # Most containers do not need this.
+                      # +optional
+                  "containerPort": 42, # Number of port to expose on the pod's IP address.
+                      # This must be a valid port number, 0 < x < 65536.
+                  "protocol": "A String", # Protocol for port. Must be UDP or TCP.
+                      # Defaults to "TCP".
+                      # +optional
+                },
+              ],
+              "image": "A String", # Docker image name.
+                  # More info: https://kubernetes.io/docs/concepts/containers/images
+              "envFrom": [ # 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
+                  "prefix": "A String", # An optional identifier to prepend to each key in the ConfigMap. Must be a
+                      # C_IDENTIFIER. +optional
+                  "configMapRef": { # ConfigMapEnvSource selects a ConfigMap to populate the environment # The ConfigMap to select from
+                      # +optional
+                      # variables with.
+                      #
+                      # The contents of the target ConfigMap's Data field will represent the
+                      # key-value pairs as environment variables.
+                    "localObjectReference": { # 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 "name" field instead.
+                        # referenced object inside the same namespace.
+                      "name": "A String", # Name of the referent.
+                          # More info:
+                          # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                    },
+                    "optional": True or False, # Cloud Run fully managed: not supported
+                        #
+                        # Cloud Run for Anthos: supported
+                        #
+                        # Specify whether the ConfigMap must be defined
+                        # +optional
+                    "name": "A String", # Cloud Run fully managed: not supported
+                        #
+                        # Cloud Run for Anthos: supported
+                        #
+                        # The ConfigMap to select from.
+                  },
+                  "secretRef": { # SecretEnvSource selects a Secret to populate the environment # The Secret to select from
+                      # +optional
+                      # variables with.
+                      #
+                      # The contents of the target Secret's Data field will represent the
+                      # key-value pairs as environment variables.
+                    "name": "A String", # Cloud Run fully managed: not supported
+                        #
+                        # Cloud Run for Anthos: supported
+                        #
+                        # The Secret to select from.
+                    "localObjectReference": { # 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 "name" field instead.
+                        # referenced object inside the same namespace.
+                      "name": "A String", # Name of the referent.
+                          # More info:
+                          # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                    },
+                    "optional": True or False, # Cloud Run fully managed: not supported
+                        #
+                        # Cloud Run for Anthos: supported
+                        #
+                        # Specify whether the Secret must be defined
+                        # +optional
+                  },
+                },
+              ],
+              "name": "A String", # Name of the container specified as a DNS_LABEL.
+                  # Each container must have a unique name (DNS_LABEL).
+                  # Cannot be updated.
+              "command": [ # Entrypoint array. Not executed within a shell.
+                  # The docker image's ENTRYPOINT is used if this is not provided.
+                  # Variable references $(VAR_NAME) are expanded using the container'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
+                "A String",
+              ],
             },
           ],
+          "serviceAccountName": "A String", # 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's default service account.
           "generation": 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.
@@ -991,6 +827,9 @@
               # (Single or Multi) for the Revision. Defaults to Multi.
               # Deprecated in favor of ContainerConcurrency.
               # +optional
+          "timeoutSeconds": 42, # TimeoutSeconds holds the max duration the instance is allowed for
+              # responding to a request.
+              # Not currently used by Cloud Run.
           "container": { # 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.
@@ -1000,309 +839,6 @@
               # and the arguments to supply to it.
               # Note that additional arguments may be supplied by the system to the container
               # at runtime.
-            "terminationMessagePath": "A String", # Optional: Path at which the file to which the container's termination
-                # message will be written is mounted into the container'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
-            "lifecycle": { # 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.
-              "preStop": { # 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
-                "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
-                    # Exec specifies the action to take.
-                    # +optional
-                  "command": "A String", # Command is the command line to execute inside the container, the working
-                      # directory for the command  is root ('/') in the container's filesystem. The
-                      # command is simply exec'd, it is not run inside a shell, so traditional
-                      # shell instructions ('|', etc) won't work. To use a shell, you need to
-                      # explicitly call out to that shell. Exit status of 0 is treated as
-                      # live/healthy and non-zero is unhealthy. +optional
-                },
-                "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                    # +optional
-                  "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
-                      # +optional
-                    { # HTTPHeader describes a custom header to be used in HTTP probes
-                      "value": "A String", # The header field value
-                      "name": "A String", # The header field name
-                    },
-                  ],
-                  "path": "A String", # Path to access on the HTTP server.
-                      # +optional
-                  "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Name or number of the port to access on the container.
-                      # 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.
-                    "type": 42, # The type of the value.
-                    "intVal": 42, # The int value.
-                    "strVal": "A String", # The string value.
-                  },
-                  "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
-                      # "Host" in httpHeaders instead.
-                      # +optional
-                  "scheme": "A String", # Scheme to use for connecting to the host.
-                      # Defaults to HTTP.
-                      # +optional
-                },
-                "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                    # TCP hooks not yet supported
-                  "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Number or name of the port to access on the container.
-                      # 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.
-                    "type": 42, # The type of the value.
-                    "intVal": 42, # The int value.
-                    "strVal": "A String", # The string value.
-                  },
-                  "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
-                      # +optional
-                },
-              },
-              "postStart": { # 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
-                "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
-                    # Exec specifies the action to take.
-                    # +optional
-                  "command": "A String", # Command is the command line to execute inside the container, the working
-                      # directory for the command  is root ('/') in the container's filesystem. The
-                      # command is simply exec'd, it is not run inside a shell, so traditional
-                      # shell instructions ('|', etc) won't work. To use a shell, you need to
-                      # explicitly call out to that shell. Exit status of 0 is treated as
-                      # live/healthy and non-zero is unhealthy. +optional
-                },
-                "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                    # +optional
-                  "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
-                      # +optional
-                    { # HTTPHeader describes a custom header to be used in HTTP probes
-                      "value": "A String", # The header field value
-                      "name": "A String", # The header field name
-                    },
-                  ],
-                  "path": "A String", # Path to access on the HTTP server.
-                      # +optional
-                  "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Name or number of the port to access on the container.
-                      # 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.
-                    "type": 42, # The type of the value.
-                    "intVal": 42, # The int value.
-                    "strVal": "A String", # The string value.
-                  },
-                  "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
-                      # "Host" in httpHeaders instead.
-                      # +optional
-                  "scheme": "A String", # Scheme to use for connecting to the host.
-                      # Defaults to HTTP.
-                      # +optional
-                },
-                "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                    # TCP hooks not yet supported
-                  "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Number or name of the port to access on the container.
-                      # 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.
-                    "type": 42, # The type of the value.
-                    "intVal": 42, # The int value.
-                    "strVal": "A String", # The string value.
-                  },
-                  "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
-                      # +optional
-                },
-              },
-            },
-            "stdin": 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
-            "tty": True or False, # Whether this container should allocate a TTY for itself, also requires
-                # 'stdin' to be true. Default is false. +optional
-            "volumeMounts": [ # Pod volumes to mount into the container's filesystem.
-                # Cannot be updated.
-                # +optional
-              { # VolumeMount describes a mounting of a Volume within a container.
-                "readOnly": True or False, # Mounted read-only if true, read-write otherwise (false or unspecified).
-                    # Defaults to false.
-                    # +optional
-                "mountPropagation": "A String", # 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
-                "mountPath": "A String", # Path within the container at which the volume should be mounted.  Must
-                    # not contain ':'.
-                "subPath": "A String", # Path within the volume from which the container's volume should be mounted.
-                    # Defaults to "" (volume's root).
-                    # +optional
-                "name": "A String", # This must match the Name of a Volume.
-              },
-            ],
-            "volumeDevices": [ # 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.
-                "name": "A String", # name must match the name of a persistentVolumeClaim in the pod
-                "devicePath": "A String", # devicePath is the path inside of the container that the device will be
-                    # mapped to.
-              },
-            ],
-            "ports": [ # 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 "0.0.0.0" address inside a container will be
-                # accessible from the network.
-                # Cannot be updated.
-                # +optional
-              { # ContainerPort represents a network port in a single container.
-                "hostPort": 42, # Number of port to expose on the host.
-                    # If specified, this must be a valid port number, 0 < x < 65536.
-                    # If HostNetwork is specified, this must match ContainerPort.
-                    # Most containers do not need this.
-                    # +optional
-                "containerPort": 42, # Number of port to expose on the pod's IP address.
-                    # This must be a valid port number, 0 < x < 65536.
-                "protocol": "A String", # Protocol for port. Must be UDP or TCP.
-                    # Defaults to "TCP".
-                    # +optional
-                "hostIP": "A String", # What host IP to bind the external port to.
-                    # +optional
-                "name": "A String", # 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
-              },
-            ],
-            "workingDir": "A String", # Container's working directory.
-                # If not specified, the container runtime's default will be used, which
-                # might be configured in the container image.
-                # Cannot be updated.
-                # +optional
-            "args": [ # Arguments to the entrypoint.
-                # The docker image's CMD is used if this is not provided.
-                # Variable references $(VAR_NAME) are expanded using the container'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
-              "A String",
-            ],
-            "stdinOnce": 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
-            "envFrom": [ # 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
-                "configMapRef": { # ConfigMapEnvSource selects a ConfigMap to populate the environment # The ConfigMap to select from
-                    # +optional
-                    # variables with.
-                    #
-                    # The contents of the target ConfigMap's Data field will represent the
-                    # key-value pairs as environment variables.
-                  "name": "A String", # Cloud Run fully managed: not supported
-                      #
-                      # Cloud Run for Anthos: supported
-                      #
-                      # The ConfigMap to select from.
-                  "localObjectReference": { # 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 "name" field instead.
-                      # referenced object inside the same namespace.
-                    "name": "A String", # Name of the referent.
-                        # More info:
-                        # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                  },
-                  "optional": True or False, # Cloud Run fully managed: not supported
-                      #
-                      # Cloud Run for Anthos: supported
-                      #
-                      # Specify whether the ConfigMap must be defined
-                      # +optional
-                },
-                "secretRef": { # SecretEnvSource selects a Secret to populate the environment # The Secret to select from
-                    # +optional
-                    # variables with.
-                    #
-                    # The contents of the target Secret's Data field will represent the
-                    # key-value pairs as environment variables.
-                  "localObjectReference": { # 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 "name" field instead.
-                      # referenced object inside the same namespace.
-                    "name": "A String", # Name of the referent.
-                        # More info:
-                        # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                  },
-                  "optional": True or False, # Cloud Run fully managed: not supported
-                      #
-                      # Cloud Run for Anthos: supported
-                      #
-                      # Specify whether the Secret must be defined
-                      # +optional
-                  "name": "A String", # Cloud Run fully managed: not supported
-                      #
-                      # Cloud Run for Anthos: supported
-                      #
-                      # The Secret to select from.
-                },
-                "prefix": "A String", # An optional identifier to prepend to each key in the ConfigMap. Must be a
-                    # C_IDENTIFIER. +optional
-              },
-            ],
-            "image": "A String", # Docker image name.
-                # More info: https://kubernetes.io/docs/concepts/containers/images
-            "name": "A String", # Name of the container specified as a DNS_LABEL.
-                # Each container must have a unique name (DNS_LABEL).
-                # Cannot be updated.
-            "command": [ # Entrypoint array. Not executed within a shell.
-                # The docker image's ENTRYPOINT is used if this is not provided.
-                # Variable references $(VAR_NAME) are expanded using the container'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
-              "A String",
-            ],
             "terminationMessagePolicy": "A String", # 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
@@ -1352,6 +888,9 @@
                   # 1) run as Privileged
                   # 2) has CAP_SYS_ADMIN
                   # +optional
+              "readOnlyRootFilesystem": True or False, # Whether this container has a read-only root filesystem.
+                  # Default is false.
+                  # +optional
               "seLinuxOptions": { # 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
@@ -1366,9 +905,6 @@
                 "type": "A String", # Type is a SELinux type label that applies to the container.
                     # +optional
               },
-              "readOnlyRootFilesystem": True or False, # Whether this container has a read-only root filesystem.
-                  # Default is false.
-                  # +optional
               "runAsUser": 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
@@ -1382,8 +918,6 @@
                 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
                 # +optional
                 # determine whether it is alive or ready to receive traffic.
-              "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
-                  # having succeeded. Defaults to 3. Minimum value is 1. +optional
               "initialDelaySeconds": 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
@@ -1394,6 +928,21 @@
                   # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
                   # +optional
               "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
+                "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
+                    # TCP hooks not yet supported
+                  "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Number or name of the port to access on the container.
+                      # 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.
+                    "strVal": "A String", # The string value.
+                    "type": 42, # The type of the value.
+                    "intVal": 42, # The int value.
+                  },
+                  "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
+                      # +optional
+                },
                 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
                     # Exec specifies the action to take.
                     # +optional
@@ -1409,8 +958,8 @@
                   "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
                       # +optional
                     { # HTTPHeader describes a custom header to be used in HTTP probes
-                      "value": "A String", # The header field value
                       "name": "A String", # The header field name
+                      "value": "A String", # The header field value
                     },
                   ],
                   "path": "A String", # Path to access on the HTTP server.
@@ -1421,9 +970,9 @@
                       # JSON or YAML marshalling and unmarshalling, it produces or consumes the
                       # inner type.  This allows you to have, for example, a JSON field that can
                       # accept a name or number.
+                    "strVal": "A String", # The string value.
                     "type": 42, # The type of the value.
                     "intVal": 42, # The int value.
-                    "strVal": "A String", # The string value.
                   },
                   "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
                       # "Host" in httpHeaders instead.
@@ -1432,21 +981,6 @@
                       # Defaults to HTTP.
                       # +optional
                 },
-                "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                    # TCP hooks not yet supported
-                  "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Number or name of the port to access on the container.
-                      # 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.
-                    "type": 42, # The type of the value.
-                    "intVal": 42, # The int value.
-                    "strVal": "A String", # The string value.
-                  },
-                  "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
-                      # +optional
-                },
               },
               "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
                   # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
@@ -1454,20 +988,13 @@
               "periodSeconds": 42, # How often (in seconds) to perform the probe.
                   # Default to 10 seconds. Minimum value is 1.
                   # +optional
+              "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
+                  # having succeeded. Defaults to 3. Minimum value is 1. +optional
             },
             "env": [ # List of environment variables to set in the container.
                 # Cannot be updated.
                 # +optional
               { # EnvVar represents an environment variable present in a Container.
-                "value": "A String", # 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 "".
-                    # +optional
                 "name": "A String", # Name of the environment variable. Must be a C_IDENTIFIER.
                 "valueFrom": { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
                     #
@@ -1489,6 +1016,13 @@
                       # Cloud Run on GKE: supported
                       #
                       # Selects a key from a ConfigMap.
+                    "localObjectReference": { # 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 "name" field instead.
+                        # referenced object inside the same namespace.
+                      "name": "A String", # Name of the referent.
+                          # More info:
+                          # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                    },
                     "optional": True or False, # Cloud Run fully managed: not supported
                         #
                         # Cloud Run on GKE: supported
@@ -1505,13 +1039,6 @@
                         # Cloud Run on GKE: supported
                         #
                         # The ConfigMap to select from.
-                    "localObjectReference": { # 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 "name" field instead.
-                        # referenced object inside the same namespace.
-                      "name": "A String", # Name of the referent.
-                          # More info:
-                          # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                    },
                   },
                   "secretKeyRef": { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
                       #
@@ -1523,13 +1050,6 @@
                       # Cloud Run on GKE: supported
                       #
                       # SecretKeySelector selects a key of a Secret.
-                    "localObjectReference": { # 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 "name" field instead.
-                        # referenced object inside the same namespace.
-                      "name": "A String", # Name of the referent.
-                          # More info:
-                          # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                    },
                     "optional": True or False, # Cloud Run fully managed: not supported
                         #
                         # Cloud Run on GKE: supported
@@ -1546,8 +1066,24 @@
                         # Cloud Run on GKE: supported
                         #
                         # The name of the secret in the pod's namespace to select from.
+                    "localObjectReference": { # 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 "name" field instead.
+                        # referenced object inside the same namespace.
+                      "name": "A String", # Name of the referent.
+                          # More info:
+                          # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                    },
                   },
                 },
+                "value": "A String", # 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 "".
+                    # +optional
               },
             ],
             "resources": { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
@@ -1597,8 +1133,6 @@
                 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
                 # +optional
                 # determine whether it is alive or ready to receive traffic.
-              "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
-                  # having succeeded. Defaults to 3. Minimum value is 1. +optional
               "initialDelaySeconds": 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
@@ -1609,6 +1143,21 @@
                   # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
                   # +optional
               "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
+                "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
+                    # TCP hooks not yet supported
+                  "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Number or name of the port to access on the container.
+                      # 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.
+                    "strVal": "A String", # The string value.
+                    "type": 42, # The type of the value.
+                    "intVal": 42, # The int value.
+                  },
+                  "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
+                      # +optional
+                },
                 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
                     # Exec specifies the action to take.
                     # +optional
@@ -1624,8 +1173,8 @@
                   "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
                       # +optional
                     { # HTTPHeader describes a custom header to be used in HTTP probes
-                      "value": "A String", # The header field value
                       "name": "A String", # The header field name
+                      "value": "A String", # The header field value
                     },
                   ],
                   "path": "A String", # Path to access on the HTTP server.
@@ -1636,9 +1185,9 @@
                       # JSON or YAML marshalling and unmarshalling, it produces or consumes the
                       # inner type.  This allows you to have, for example, a JSON field that can
                       # accept a name or number.
+                    "strVal": "A String", # The string value.
                     "type": 42, # The type of the value.
                     "intVal": 42, # The int value.
-                    "strVal": "A String", # The string value.
                   },
                   "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
                       # "Host" in httpHeaders instead.
@@ -1647,21 +1196,6 @@
                       # Defaults to HTTP.
                       # +optional
                 },
-                "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                    # TCP hooks not yet supported
-                  "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Number or name of the port to access on the container.
-                      # 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.
-                    "type": 42, # The type of the value.
-                    "intVal": 42, # The int value.
-                    "strVal": "A String", # The string value.
-                  },
-                  "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
-                      # +optional
-                },
               },
               "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
                   # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
@@ -1669,6 +1203,8 @@
               "periodSeconds": 42, # How often (in seconds) to perform the probe.
                   # Default to 10 seconds. Minimum value is 1.
                   # +optional
+              "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
+                  # having succeeded. Defaults to 3. Minimum value is 1. +optional
             },
             "imagePullPolicy": "A String", # Image pull policy.
                 # One of Always, Never, IfNotPresent.
@@ -1677,16 +1213,317 @@
                 # More info:
                 # https://kubernetes.io/docs/concepts/containers/images#updating-images
                 # +optional
+            "lifecycle": { # 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.
+              "preStop": { # 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
+                "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
+                    # TCP hooks not yet supported
+                  "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Number or name of the port to access on the container.
+                      # 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.
+                    "strVal": "A String", # The string value.
+                    "type": 42, # The type of the value.
+                    "intVal": 42, # The int value.
+                  },
+                  "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
+                      # +optional
+                },
+                "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
+                    # Exec specifies the action to take.
+                    # +optional
+                  "command": "A String", # Command is the command line to execute inside the container, the working
+                      # directory for the command  is root ('/') in the container's filesystem. The
+                      # command is simply exec'd, it is not run inside a shell, so traditional
+                      # shell instructions ('|', etc) won't work. To use a shell, you need to
+                      # explicitly call out to that shell. Exit status of 0 is treated as
+                      # live/healthy and non-zero is unhealthy. +optional
+                },
+                "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
+                    # +optional
+                  "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
+                      # +optional
+                    { # HTTPHeader describes a custom header to be used in HTTP probes
+                      "name": "A String", # The header field name
+                      "value": "A String", # The header field value
+                    },
+                  ],
+                  "path": "A String", # Path to access on the HTTP server.
+                      # +optional
+                  "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Name or number of the port to access on the container.
+                      # 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.
+                    "strVal": "A String", # The string value.
+                    "type": 42, # The type of the value.
+                    "intVal": 42, # The int value.
+                  },
+                  "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
+                      # "Host" in httpHeaders instead.
+                      # +optional
+                  "scheme": "A String", # Scheme to use for connecting to the host.
+                      # Defaults to HTTP.
+                      # +optional
+                },
+              },
+              "postStart": { # 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
+                "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
+                    # TCP hooks not yet supported
+                  "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Number or name of the port to access on the container.
+                      # 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.
+                    "strVal": "A String", # The string value.
+                    "type": 42, # The type of the value.
+                    "intVal": 42, # The int value.
+                  },
+                  "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
+                      # +optional
+                },
+                "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
+                    # Exec specifies the action to take.
+                    # +optional
+                  "command": "A String", # Command is the command line to execute inside the container, the working
+                      # directory for the command  is root ('/') in the container's filesystem. The
+                      # command is simply exec'd, it is not run inside a shell, so traditional
+                      # shell instructions ('|', etc) won't work. To use a shell, you need to
+                      # explicitly call out to that shell. Exit status of 0 is treated as
+                      # live/healthy and non-zero is unhealthy. +optional
+                },
+                "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
+                    # +optional
+                  "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
+                      # +optional
+                    { # HTTPHeader describes a custom header to be used in HTTP probes
+                      "name": "A String", # The header field name
+                      "value": "A String", # The header field value
+                    },
+                  ],
+                  "path": "A String", # Path to access on the HTTP server.
+                      # +optional
+                  "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Name or number of the port to access on the container.
+                      # 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.
+                    "strVal": "A String", # The string value.
+                    "type": 42, # The type of the value.
+                    "intVal": 42, # The int value.
+                  },
+                  "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
+                      # "Host" in httpHeaders instead.
+                      # +optional
+                  "scheme": "A String", # Scheme to use for connecting to the host.
+                      # Defaults to HTTP.
+                      # +optional
+                },
+              },
+            },
+            "terminationMessagePath": "A String", # Optional: Path at which the file to which the container's termination
+                # message will be written is mounted into the container'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
+            "stdin": 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
+            "volumeMounts": [ # Pod volumes to mount into the container's filesystem.
+                # Cannot be updated.
+                # +optional
+              { # VolumeMount describes a mounting of a Volume within a container.
+                "name": "A String", # This must match the Name of a Volume.
+                "readOnly": True or False, # Mounted read-only if true, read-write otherwise (false or unspecified).
+                    # Defaults to false.
+                    # +optional
+                "mountPropagation": "A String", # 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
+                "mountPath": "A String", # Path within the container at which the volume should be mounted.  Must
+                    # not contain ':'.
+                "subPath": "A String", # Path within the volume from which the container's volume should be mounted.
+                    # Defaults to "" (volume's root).
+                    # +optional
+              },
+            ],
+            "tty": True or False, # Whether this container should allocate a TTY for itself, also requires
+                # 'stdin' to be true. Default is false. +optional
+            "volumeDevices": [ # 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.
+                "name": "A String", # name must match the name of a persistentVolumeClaim in the pod
+                "devicePath": "A String", # devicePath is the path inside of the container that the device will be
+                    # mapped to.
+              },
+            ],
+            "stdinOnce": 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
+            "args": [ # Arguments to the entrypoint.
+                # The docker image's CMD is used if this is not provided.
+                # Variable references $(VAR_NAME) are expanded using the container'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
+              "A String",
+            ],
+            "workingDir": "A String", # Container's working directory.
+                # If not specified, the container runtime's default will be used, which
+                # might be configured in the container image.
+                # Cannot be updated.
+                # +optional
+            "ports": [ # 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 "0.0.0.0" address inside a container will be
+                # accessible from the network.
+                # Cannot be updated.
+                # +optional
+              { # ContainerPort represents a network port in a single container.
+                "hostIP": "A String", # What host IP to bind the external port to.
+                    # +optional
+                "name": "A String", # 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
+                "hostPort": 42, # Number of port to expose on the host.
+                    # If specified, this must be a valid port number, 0 < x < 65536.
+                    # If HostNetwork is specified, this must match ContainerPort.
+                    # Most containers do not need this.
+                    # +optional
+                "containerPort": 42, # Number of port to expose on the pod's IP address.
+                    # This must be a valid port number, 0 < x < 65536.
+                "protocol": "A String", # Protocol for port. Must be UDP or TCP.
+                    # Defaults to "TCP".
+                    # +optional
+              },
+            ],
+            "image": "A String", # Docker image name.
+                # More info: https://kubernetes.io/docs/concepts/containers/images
+            "envFrom": [ # 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
+                "prefix": "A String", # An optional identifier to prepend to each key in the ConfigMap. Must be a
+                    # C_IDENTIFIER. +optional
+                "configMapRef": { # ConfigMapEnvSource selects a ConfigMap to populate the environment # The ConfigMap to select from
+                    # +optional
+                    # variables with.
+                    #
+                    # The contents of the target ConfigMap's Data field will represent the
+                    # key-value pairs as environment variables.
+                  "localObjectReference": { # 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 "name" field instead.
+                      # referenced object inside the same namespace.
+                    "name": "A String", # Name of the referent.
+                        # More info:
+                        # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                  },
+                  "optional": True or False, # Cloud Run fully managed: not supported
+                      #
+                      # Cloud Run for Anthos: supported
+                      #
+                      # Specify whether the ConfigMap must be defined
+                      # +optional
+                  "name": "A String", # Cloud Run fully managed: not supported
+                      #
+                      # Cloud Run for Anthos: supported
+                      #
+                      # The ConfigMap to select from.
+                },
+                "secretRef": { # SecretEnvSource selects a Secret to populate the environment # The Secret to select from
+                    # +optional
+                    # variables with.
+                    #
+                    # The contents of the target Secret's Data field will represent the
+                    # key-value pairs as environment variables.
+                  "name": "A String", # Cloud Run fully managed: not supported
+                      #
+                      # Cloud Run for Anthos: supported
+                      #
+                      # The Secret to select from.
+                  "localObjectReference": { # 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 "name" field instead.
+                      # referenced object inside the same namespace.
+                    "name": "A String", # Name of the referent.
+                        # More info:
+                        # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                  },
+                  "optional": True or False, # Cloud Run fully managed: not supported
+                      #
+                      # Cloud Run for Anthos: supported
+                      #
+                      # Specify whether the Secret must be defined
+                      # +optional
+                },
+              },
+            ],
+            "name": "A String", # Name of the container specified as a DNS_LABEL.
+                # Each container must have a unique name (DNS_LABEL).
+                # Cannot be updated.
+            "command": [ # Entrypoint array. Not executed within a shell.
+                # The docker image's ENTRYPOINT is used if this is not provided.
+                # Variable references $(VAR_NAME) are expanded using the container'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
+              "A String",
+            ],
           },
-          "timeoutSeconds": 42, # TimeoutSeconds holds the max duration the instance is allowed for
-              # responding to a request.
-              # Not currently used by Cloud Run.
           "volumes": [
             { # Volume represents a named volume in a container.
               "configMap": { # Adapts a ConfigMap into a volume.
                   # The contents of the target ConfigMap'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.
+                "optional": True or False, # Specify whether the Secret or its keys must be defined.
                 "name": "A String", # Name of the config.
                 "defaultMode": 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
@@ -1699,7 +1536,6 @@
                     # 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.
-                    "key": "A String", # The key to project.
                     "path": "A String", # The relative path of the file to map the key to.
                         # May not be an absolute path.
                         # May not contain the path element '..'.
@@ -1708,14 +1544,13 @@
                         # 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
+                    "key": "A String", # The key to project.
                   },
                 ],
-                "optional": True or False, # Specify whether the Secret or its keys must be defined.
               },
               "name": "A String", # Volume's name.
               "secret": { # The contents of the target Secret's Data field will be presented in a volume
                   # as files using the keys in the Data field as the file names.
-                "optional": True or False, # Specify whether the Secret or its keys must be defined.
                 "defaultMode": 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
@@ -1728,7 +1563,6 @@
                     # 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.
-                    "key": "A String", # The key to project.
                     "path": "A String", # The relative path of the file to map the key to.
                         # May not be an absolute path.
                         # May not contain the path element '..'.
@@ -1737,12 +1571,178 @@
                         # 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
+                    "key": "A String", # The key to project.
                   },
                 ],
+                "optional": True or False, # Specify whether the Secret or its keys must be defined.
               },
             },
           ],
         },
+        "metadata": { # ObjectMeta is metadata that all persisted resources must have, which includes # Optional metadata for this Revision, including labels and annotations. Name
+            # will be generated by the Configuration.
+            # To set minimum instances for this revision, use the
+            # "autoscaling.knative.dev/minScale" annotation key. (Cloud Run on GKE only).
+            # To set maximum instances for this revision, use the
+            # "autoscaling.knative.dev/maxScale" annotation key.
+            # To set Cloud SQL connections for the revision, use the
+            # "run.googleapis.com/cloudsql-instances" annotation key. Values should be
+            # comma separated.
+            # all objects users must create.
+          "generateName": "A String", # 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;
+          "name": "A String", # 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
+          "deletionGracePeriodSeconds": 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
+          "clusterName": "A String", # 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
+          "finalizers": [ # 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
+            "A String",
+          ],
+          "deletionTimestamp": "A String", # 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
+          "ownerReferences": [ # 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.
+              "controller": True or False, # If true, this reference points to the managing controller.
+                  # +optional
+              "kind": "A String", # Kind of the referent.
+                  # More info:
+                  # https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
+              "blockOwnerDeletion": True or False, # If true, AND if the owner has the "foregroundDeletion" 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 "delete" permission of the owner,
+                  # otherwise 422 (Unprocessable Entity) will be returned.
+                  # +optional
+              "apiVersion": "A String", # API version of the referent.
+              "name": "A String", # Name of the referent.
+                  # More info: http://kubernetes.io/docs/user-guide/identifiers#names
+              "uid": "A String", # UID of the referent.
+                  # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
+            },
+          ],
+          "creationTimestamp": "A String", # 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
+          "labels": { # 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
+            "a_key": "A String",
+          },
+          "generation": 42, # A sequence number representing a specific generation of the desired state.
+              # Populated by the system. Read-only.
+              # +optional
+          "resourceVersion": "A String", # 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
+          "selfLink": "A String", # SelfLink is a URL representing this object.
+              # Populated by the system.
+              # Read-only.
+              # +optional
+              #  string selfLink = 4;
+          "uid": "A String", # 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
+          "namespace": "A String", # 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.
+          "annotations": { # 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
+            "a_key": "A String",
+          },
+        },
       },
       "revisionTemplate": { # RevisionTemplateSpec describes the data a revision should have when created # RevisionTemplate holds the latest specification for the Revision to
           # be stamped out. The template references the container image, and may also
@@ -1756,170 +1756,6 @@
           # responsible for materializing the container image from source.
           # from a template. Based on:
           # https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190
-        "metadata": { # ObjectMeta is metadata that all persisted resources must have, which includes # Optional metadata for this Revision, including labels and annotations. Name
-            # will be generated by the Configuration.
-            # To set minimum instances for this revision, use the
-            # "autoscaling.knative.dev/minScale" annotation key. (Cloud Run on GKE only).
-            # To set maximum instances for this revision, use the
-            # "autoscaling.knative.dev/maxScale" annotation key.
-            # To set Cloud SQL connections for the revision, use the
-            # "run.googleapis.com/cloudsql-instances" annotation key. Values should be
-            # comma separated.
-            # all objects users must create.
-          "annotations": { # 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
-            "a_key": "A String",
-          },
-          "generateName": "A String", # 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;
-          "name": "A String", # 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
-          "clusterName": "A String", # 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
-          "deletionGracePeriodSeconds": 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
-          "finalizers": [ # 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
-            "A String",
-          ],
-          "deletionTimestamp": "A String", # 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
-          "ownerReferences": [ # 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.
-              "apiVersion": "A String", # API version of the referent.
-              "name": "A String", # Name of the referent.
-                  # More info: http://kubernetes.io/docs/user-guide/identifiers#names
-              "uid": "A String", # UID of the referent.
-                  # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
-              "controller": True or False, # If true, this reference points to the managing controller.
-                  # +optional
-              "kind": "A String", # Kind of the referent.
-                  # More info:
-                  # https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
-              "blockOwnerDeletion": True or False, # If true, AND if the owner has the "foregroundDeletion" 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 "delete" permission of the owner,
-                  # otherwise 422 (Unprocessable Entity) will be returned.
-                  # +optional
-            },
-          ],
-          "creationTimestamp": "A String", # 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
-          "labels": { # 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
-            "a_key": "A String",
-          },
-          "generation": 42, # A sequence number representing a specific generation of the desired state.
-              # Populated by the system. Read-only.
-              # +optional
-          "resourceVersion": "A String", # 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
-          "uid": "A String", # 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
-          "selfLink": "A String", # SelfLink is a URL representing this object.
-              # Populated by the system.
-              # Read-only.
-              # +optional
-              #  string selfLink = 4;
-          "namespace": "A String", # 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.
-        },
         "spec": { # RevisionSpec holds the desired state of the Revision (from the client). # RevisionSpec holds the desired state of the Revision (from the client).
           "containerConcurrency": 42, # (Optional)
               #
@@ -1931,10 +1767,6 @@
               # 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.
-          "serviceAccountName": "A String", # 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's default service account.
           "containers": [ # 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.
@@ -1944,309 +1776,6 @@
                 # and the arguments to supply to it.
                 # Note that additional arguments may be supplied by the system to the container
                 # at runtime.
-              "terminationMessagePath": "A String", # Optional: Path at which the file to which the container's termination
-                  # message will be written is mounted into the container'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
-              "lifecycle": { # 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.
-                "preStop": { # 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
-                  "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
-                      # Exec specifies the action to take.
-                      # +optional
-                    "command": "A String", # Command is the command line to execute inside the container, the working
-                        # directory for the command  is root ('/') in the container's filesystem. The
-                        # command is simply exec'd, it is not run inside a shell, so traditional
-                        # shell instructions ('|', etc) won't work. To use a shell, you need to
-                        # explicitly call out to that shell. Exit status of 0 is treated as
-                        # live/healthy and non-zero is unhealthy. +optional
-                  },
-                  "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                      # +optional
-                    "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
-                        # +optional
-                      { # HTTPHeader describes a custom header to be used in HTTP probes
-                        "value": "A String", # The header field value
-                        "name": "A String", # The header field name
-                      },
-                    ],
-                    "path": "A String", # Path to access on the HTTP server.
-                        # +optional
-                    "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Name or number of the port to access on the container.
-                        # 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.
-                      "type": 42, # The type of the value.
-                      "intVal": 42, # The int value.
-                      "strVal": "A String", # The string value.
-                    },
-                    "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
-                        # "Host" in httpHeaders instead.
-                        # +optional
-                    "scheme": "A String", # Scheme to use for connecting to the host.
-                        # Defaults to HTTP.
-                        # +optional
-                  },
-                  "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                      # TCP hooks not yet supported
-                    "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Number or name of the port to access on the container.
-                        # 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.
-                      "type": 42, # The type of the value.
-                      "intVal": 42, # The int value.
-                      "strVal": "A String", # The string value.
-                    },
-                    "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
-                        # +optional
-                  },
-                },
-                "postStart": { # 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
-                  "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
-                      # Exec specifies the action to take.
-                      # +optional
-                    "command": "A String", # Command is the command line to execute inside the container, the working
-                        # directory for the command  is root ('/') in the container's filesystem. The
-                        # command is simply exec'd, it is not run inside a shell, so traditional
-                        # shell instructions ('|', etc) won't work. To use a shell, you need to
-                        # explicitly call out to that shell. Exit status of 0 is treated as
-                        # live/healthy and non-zero is unhealthy. +optional
-                  },
-                  "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                      # +optional
-                    "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
-                        # +optional
-                      { # HTTPHeader describes a custom header to be used in HTTP probes
-                        "value": "A String", # The header field value
-                        "name": "A String", # The header field name
-                      },
-                    ],
-                    "path": "A String", # Path to access on the HTTP server.
-                        # +optional
-                    "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Name or number of the port to access on the container.
-                        # 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.
-                      "type": 42, # The type of the value.
-                      "intVal": 42, # The int value.
-                      "strVal": "A String", # The string value.
-                    },
-                    "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
-                        # "Host" in httpHeaders instead.
-                        # +optional
-                    "scheme": "A String", # Scheme to use for connecting to the host.
-                        # Defaults to HTTP.
-                        # +optional
-                  },
-                  "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                      # TCP hooks not yet supported
-                    "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Number or name of the port to access on the container.
-                        # 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.
-                      "type": 42, # The type of the value.
-                      "intVal": 42, # The int value.
-                      "strVal": "A String", # The string value.
-                    },
-                    "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
-                        # +optional
-                  },
-                },
-              },
-              "stdin": 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
-              "tty": True or False, # Whether this container should allocate a TTY for itself, also requires
-                  # 'stdin' to be true. Default is false. +optional
-              "volumeMounts": [ # Pod volumes to mount into the container's filesystem.
-                  # Cannot be updated.
-                  # +optional
-                { # VolumeMount describes a mounting of a Volume within a container.
-                  "readOnly": True or False, # Mounted read-only if true, read-write otherwise (false or unspecified).
-                      # Defaults to false.
-                      # +optional
-                  "mountPropagation": "A String", # 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
-                  "mountPath": "A String", # Path within the container at which the volume should be mounted.  Must
-                      # not contain ':'.
-                  "subPath": "A String", # Path within the volume from which the container's volume should be mounted.
-                      # Defaults to "" (volume's root).
-                      # +optional
-                  "name": "A String", # This must match the Name of a Volume.
-                },
-              ],
-              "volumeDevices": [ # 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.
-                  "name": "A String", # name must match the name of a persistentVolumeClaim in the pod
-                  "devicePath": "A String", # devicePath is the path inside of the container that the device will be
-                      # mapped to.
-                },
-              ],
-              "ports": [ # 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 "0.0.0.0" address inside a container will be
-                  # accessible from the network.
-                  # Cannot be updated.
-                  # +optional
-                { # ContainerPort represents a network port in a single container.
-                  "hostPort": 42, # Number of port to expose on the host.
-                      # If specified, this must be a valid port number, 0 < x < 65536.
-                      # If HostNetwork is specified, this must match ContainerPort.
-                      # Most containers do not need this.
-                      # +optional
-                  "containerPort": 42, # Number of port to expose on the pod's IP address.
-                      # This must be a valid port number, 0 < x < 65536.
-                  "protocol": "A String", # Protocol for port. Must be UDP or TCP.
-                      # Defaults to "TCP".
-                      # +optional
-                  "hostIP": "A String", # What host IP to bind the external port to.
-                      # +optional
-                  "name": "A String", # 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
-                },
-              ],
-              "workingDir": "A String", # Container's working directory.
-                  # If not specified, the container runtime's default will be used, which
-                  # might be configured in the container image.
-                  # Cannot be updated.
-                  # +optional
-              "args": [ # Arguments to the entrypoint.
-                  # The docker image's CMD is used if this is not provided.
-                  # Variable references $(VAR_NAME) are expanded using the container'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
-                "A String",
-              ],
-              "stdinOnce": 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
-              "envFrom": [ # 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
-                  "configMapRef": { # ConfigMapEnvSource selects a ConfigMap to populate the environment # The ConfigMap to select from
-                      # +optional
-                      # variables with.
-                      #
-                      # The contents of the target ConfigMap's Data field will represent the
-                      # key-value pairs as environment variables.
-                    "name": "A String", # Cloud Run fully managed: not supported
-                        #
-                        # Cloud Run for Anthos: supported
-                        #
-                        # The ConfigMap to select from.
-                    "localObjectReference": { # 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 "name" field instead.
-                        # referenced object inside the same namespace.
-                      "name": "A String", # Name of the referent.
-                          # More info:
-                          # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                    },
-                    "optional": True or False, # Cloud Run fully managed: not supported
-                        #
-                        # Cloud Run for Anthos: supported
-                        #
-                        # Specify whether the ConfigMap must be defined
-                        # +optional
-                  },
-                  "secretRef": { # SecretEnvSource selects a Secret to populate the environment # The Secret to select from
-                      # +optional
-                      # variables with.
-                      #
-                      # The contents of the target Secret's Data field will represent the
-                      # key-value pairs as environment variables.
-                    "localObjectReference": { # 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 "name" field instead.
-                        # referenced object inside the same namespace.
-                      "name": "A String", # Name of the referent.
-                          # More info:
-                          # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                    },
-                    "optional": True or False, # Cloud Run fully managed: not supported
-                        #
-                        # Cloud Run for Anthos: supported
-                        #
-                        # Specify whether the Secret must be defined
-                        # +optional
-                    "name": "A String", # Cloud Run fully managed: not supported
-                        #
-                        # Cloud Run for Anthos: supported
-                        #
-                        # The Secret to select from.
-                  },
-                  "prefix": "A String", # An optional identifier to prepend to each key in the ConfigMap. Must be a
-                      # C_IDENTIFIER. +optional
-                },
-              ],
-              "image": "A String", # Docker image name.
-                  # More info: https://kubernetes.io/docs/concepts/containers/images
-              "name": "A String", # Name of the container specified as a DNS_LABEL.
-                  # Each container must have a unique name (DNS_LABEL).
-                  # Cannot be updated.
-              "command": [ # Entrypoint array. Not executed within a shell.
-                  # The docker image's ENTRYPOINT is used if this is not provided.
-                  # Variable references $(VAR_NAME) are expanded using the container'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
-                "A String",
-              ],
               "terminationMessagePolicy": "A String", # 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
@@ -2296,6 +1825,9 @@
                     # 1) run as Privileged
                     # 2) has CAP_SYS_ADMIN
                     # +optional
+                "readOnlyRootFilesystem": True or False, # Whether this container has a read-only root filesystem.
+                    # Default is false.
+                    # +optional
                 "seLinuxOptions": { # 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
@@ -2310,9 +1842,6 @@
                   "type": "A String", # Type is a SELinux type label that applies to the container.
                       # +optional
                 },
-                "readOnlyRootFilesystem": True or False, # Whether this container has a read-only root filesystem.
-                    # Default is false.
-                    # +optional
                 "runAsUser": 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
@@ -2326,8 +1855,6 @@
                   # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
                   # +optional
                   # determine whether it is alive or ready to receive traffic.
-                "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
-                    # having succeeded. Defaults to 3. Minimum value is 1. +optional
                 "initialDelaySeconds": 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
@@ -2338,6 +1865,21 @@
                     # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
                     # +optional
                 "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
+                  "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
+                      # TCP hooks not yet supported
+                    "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Number or name of the port to access on the container.
+                        # 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.
+                      "strVal": "A String", # The string value.
+                      "type": 42, # The type of the value.
+                      "intVal": 42, # The int value.
+                    },
+                    "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
+                        # +optional
+                  },
                   "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
                       # Exec specifies the action to take.
                       # +optional
@@ -2353,8 +1895,8 @@
                     "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
                         # +optional
                       { # HTTPHeader describes a custom header to be used in HTTP probes
-                        "value": "A String", # The header field value
                         "name": "A String", # The header field name
+                        "value": "A String", # The header field value
                       },
                     ],
                     "path": "A String", # Path to access on the HTTP server.
@@ -2365,9 +1907,9 @@
                         # JSON or YAML marshalling and unmarshalling, it produces or consumes the
                         # inner type.  This allows you to have, for example, a JSON field that can
                         # accept a name or number.
+                      "strVal": "A String", # The string value.
                       "type": 42, # The type of the value.
                       "intVal": 42, # The int value.
-                      "strVal": "A String", # The string value.
                     },
                     "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
                         # "Host" in httpHeaders instead.
@@ -2376,21 +1918,6 @@
                         # Defaults to HTTP.
                         # +optional
                   },
-                  "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                      # TCP hooks not yet supported
-                    "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Number or name of the port to access on the container.
-                        # 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.
-                      "type": 42, # The type of the value.
-                      "intVal": 42, # The int value.
-                      "strVal": "A String", # The string value.
-                    },
-                    "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
-                        # +optional
-                  },
                 },
                 "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
                     # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
@@ -2398,20 +1925,13 @@
                 "periodSeconds": 42, # How often (in seconds) to perform the probe.
                     # Default to 10 seconds. Minimum value is 1.
                     # +optional
+                "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
+                    # having succeeded. Defaults to 3. Minimum value is 1. +optional
               },
               "env": [ # List of environment variables to set in the container.
                   # Cannot be updated.
                   # +optional
                 { # EnvVar represents an environment variable present in a Container.
-                  "value": "A String", # 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 "".
-                      # +optional
                   "name": "A String", # Name of the environment variable. Must be a C_IDENTIFIER.
                   "valueFrom": { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
                       #
@@ -2433,6 +1953,13 @@
                         # Cloud Run on GKE: supported
                         #
                         # Selects a key from a ConfigMap.
+                      "localObjectReference": { # 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 "name" field instead.
+                          # referenced object inside the same namespace.
+                        "name": "A String", # Name of the referent.
+                            # More info:
+                            # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                      },
                       "optional": True or False, # Cloud Run fully managed: not supported
                           #
                           # Cloud Run on GKE: supported
@@ -2449,13 +1976,6 @@
                           # Cloud Run on GKE: supported
                           #
                           # The ConfigMap to select from.
-                      "localObjectReference": { # 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 "name" field instead.
-                          # referenced object inside the same namespace.
-                        "name": "A String", # Name of the referent.
-                            # More info:
-                            # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                      },
                     },
                     "secretKeyRef": { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
                         #
@@ -2467,13 +1987,6 @@
                         # Cloud Run on GKE: supported
                         #
                         # SecretKeySelector selects a key of a Secret.
-                      "localObjectReference": { # 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 "name" field instead.
-                          # referenced object inside the same namespace.
-                        "name": "A String", # Name of the referent.
-                            # More info:
-                            # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                      },
                       "optional": True or False, # Cloud Run fully managed: not supported
                           #
                           # Cloud Run on GKE: supported
@@ -2490,8 +2003,24 @@
                           # Cloud Run on GKE: supported
                           #
                           # The name of the secret in the pod's namespace to select from.
+                      "localObjectReference": { # 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 "name" field instead.
+                          # referenced object inside the same namespace.
+                        "name": "A String", # Name of the referent.
+                            # More info:
+                            # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                      },
                     },
                   },
+                  "value": "A String", # 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 "".
+                      # +optional
                 },
               ],
               "resources": { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
@@ -2541,8 +2070,6 @@
                   # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
                   # +optional
                   # determine whether it is alive or ready to receive traffic.
-                "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
-                    # having succeeded. Defaults to 3. Minimum value is 1. +optional
                 "initialDelaySeconds": 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
@@ -2553,6 +2080,21 @@
                     # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
                     # +optional
                 "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
+                  "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
+                      # TCP hooks not yet supported
+                    "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Number or name of the port to access on the container.
+                        # 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.
+                      "strVal": "A String", # The string value.
+                      "type": 42, # The type of the value.
+                      "intVal": 42, # The int value.
+                    },
+                    "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
+                        # +optional
+                  },
                   "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
                       # Exec specifies the action to take.
                       # +optional
@@ -2568,8 +2110,8 @@
                     "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
                         # +optional
                       { # HTTPHeader describes a custom header to be used in HTTP probes
-                        "value": "A String", # The header field value
                         "name": "A String", # The header field name
+                        "value": "A String", # The header field value
                       },
                     ],
                     "path": "A String", # Path to access on the HTTP server.
@@ -2580,9 +2122,9 @@
                         # JSON or YAML marshalling and unmarshalling, it produces or consumes the
                         # inner type.  This allows you to have, for example, a JSON field that can
                         # accept a name or number.
+                      "strVal": "A String", # The string value.
                       "type": 42, # The type of the value.
                       "intVal": 42, # The int value.
-                      "strVal": "A String", # The string value.
                     },
                     "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
                         # "Host" in httpHeaders instead.
@@ -2591,21 +2133,6 @@
                         # Defaults to HTTP.
                         # +optional
                   },
-                  "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                      # TCP hooks not yet supported
-                    "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Number or name of the port to access on the container.
-                        # 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.
-                      "type": 42, # The type of the value.
-                      "intVal": 42, # The int value.
-                      "strVal": "A String", # The string value.
-                    },
-                    "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
-                        # +optional
-                  },
                 },
                 "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
                     # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
@@ -2613,6 +2140,8 @@
                 "periodSeconds": 42, # How often (in seconds) to perform the probe.
                     # Default to 10 seconds. Minimum value is 1.
                     # +optional
+                "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
+                    # having succeeded. Defaults to 3. Minimum value is 1. +optional
               },
               "imagePullPolicy": "A String", # Image pull policy.
                   # One of Always, Never, IfNotPresent.
@@ -2621,8 +2150,315 @@
                   # More info:
                   # https://kubernetes.io/docs/concepts/containers/images#updating-images
                   # +optional
+              "lifecycle": { # 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.
+                "preStop": { # 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
+                  "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
+                      # TCP hooks not yet supported
+                    "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Number or name of the port to access on the container.
+                        # 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.
+                      "strVal": "A String", # The string value.
+                      "type": 42, # The type of the value.
+                      "intVal": 42, # The int value.
+                    },
+                    "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
+                        # +optional
+                  },
+                  "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
+                      # Exec specifies the action to take.
+                      # +optional
+                    "command": "A String", # Command is the command line to execute inside the container, the working
+                        # directory for the command  is root ('/') in the container's filesystem. The
+                        # command is simply exec'd, it is not run inside a shell, so traditional
+                        # shell instructions ('|', etc) won't work. To use a shell, you need to
+                        # explicitly call out to that shell. Exit status of 0 is treated as
+                        # live/healthy and non-zero is unhealthy. +optional
+                  },
+                  "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
+                      # +optional
+                    "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
+                        # +optional
+                      { # HTTPHeader describes a custom header to be used in HTTP probes
+                        "name": "A String", # The header field name
+                        "value": "A String", # The header field value
+                      },
+                    ],
+                    "path": "A String", # Path to access on the HTTP server.
+                        # +optional
+                    "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Name or number of the port to access on the container.
+                        # 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.
+                      "strVal": "A String", # The string value.
+                      "type": 42, # The type of the value.
+                      "intVal": 42, # The int value.
+                    },
+                    "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
+                        # "Host" in httpHeaders instead.
+                        # +optional
+                    "scheme": "A String", # Scheme to use for connecting to the host.
+                        # Defaults to HTTP.
+                        # +optional
+                  },
+                },
+                "postStart": { # 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
+                  "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
+                      # TCP hooks not yet supported
+                    "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Number or name of the port to access on the container.
+                        # 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.
+                      "strVal": "A String", # The string value.
+                      "type": 42, # The type of the value.
+                      "intVal": 42, # The int value.
+                    },
+                    "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
+                        # +optional
+                  },
+                  "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
+                      # Exec specifies the action to take.
+                      # +optional
+                    "command": "A String", # Command is the command line to execute inside the container, the working
+                        # directory for the command  is root ('/') in the container's filesystem. The
+                        # command is simply exec'd, it is not run inside a shell, so traditional
+                        # shell instructions ('|', etc) won't work. To use a shell, you need to
+                        # explicitly call out to that shell. Exit status of 0 is treated as
+                        # live/healthy and non-zero is unhealthy. +optional
+                  },
+                  "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
+                      # +optional
+                    "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
+                        # +optional
+                      { # HTTPHeader describes a custom header to be used in HTTP probes
+                        "name": "A String", # The header field name
+                        "value": "A String", # The header field value
+                      },
+                    ],
+                    "path": "A String", # Path to access on the HTTP server.
+                        # +optional
+                    "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Name or number of the port to access on the container.
+                        # 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.
+                      "strVal": "A String", # The string value.
+                      "type": 42, # The type of the value.
+                      "intVal": 42, # The int value.
+                    },
+                    "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
+                        # "Host" in httpHeaders instead.
+                        # +optional
+                    "scheme": "A String", # Scheme to use for connecting to the host.
+                        # Defaults to HTTP.
+                        # +optional
+                  },
+                },
+              },
+              "terminationMessagePath": "A String", # Optional: Path at which the file to which the container's termination
+                  # message will be written is mounted into the container'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
+              "stdin": 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
+              "volumeMounts": [ # Pod volumes to mount into the container's filesystem.
+                  # Cannot be updated.
+                  # +optional
+                { # VolumeMount describes a mounting of a Volume within a container.
+                  "name": "A String", # This must match the Name of a Volume.
+                  "readOnly": True or False, # Mounted read-only if true, read-write otherwise (false or unspecified).
+                      # Defaults to false.
+                      # +optional
+                  "mountPropagation": "A String", # 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
+                  "mountPath": "A String", # Path within the container at which the volume should be mounted.  Must
+                      # not contain ':'.
+                  "subPath": "A String", # Path within the volume from which the container's volume should be mounted.
+                      # Defaults to "" (volume's root).
+                      # +optional
+                },
+              ],
+              "tty": True or False, # Whether this container should allocate a TTY for itself, also requires
+                  # 'stdin' to be true. Default is false. +optional
+              "volumeDevices": [ # 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.
+                  "name": "A String", # name must match the name of a persistentVolumeClaim in the pod
+                  "devicePath": "A String", # devicePath is the path inside of the container that the device will be
+                      # mapped to.
+                },
+              ],
+              "stdinOnce": 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
+              "args": [ # Arguments to the entrypoint.
+                  # The docker image's CMD is used if this is not provided.
+                  # Variable references $(VAR_NAME) are expanded using the container'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
+                "A String",
+              ],
+              "workingDir": "A String", # Container's working directory.
+                  # If not specified, the container runtime's default will be used, which
+                  # might be configured in the container image.
+                  # Cannot be updated.
+                  # +optional
+              "ports": [ # 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 "0.0.0.0" address inside a container will be
+                  # accessible from the network.
+                  # Cannot be updated.
+                  # +optional
+                { # ContainerPort represents a network port in a single container.
+                  "hostIP": "A String", # What host IP to bind the external port to.
+                      # +optional
+                  "name": "A String", # 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
+                  "hostPort": 42, # Number of port to expose on the host.
+                      # If specified, this must be a valid port number, 0 < x < 65536.
+                      # If HostNetwork is specified, this must match ContainerPort.
+                      # Most containers do not need this.
+                      # +optional
+                  "containerPort": 42, # Number of port to expose on the pod's IP address.
+                      # This must be a valid port number, 0 < x < 65536.
+                  "protocol": "A String", # Protocol for port. Must be UDP or TCP.
+                      # Defaults to "TCP".
+                      # +optional
+                },
+              ],
+              "image": "A String", # Docker image name.
+                  # More info: https://kubernetes.io/docs/concepts/containers/images
+              "envFrom": [ # 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
+                  "prefix": "A String", # An optional identifier to prepend to each key in the ConfigMap. Must be a
+                      # C_IDENTIFIER. +optional
+                  "configMapRef": { # ConfigMapEnvSource selects a ConfigMap to populate the environment # The ConfigMap to select from
+                      # +optional
+                      # variables with.
+                      #
+                      # The contents of the target ConfigMap's Data field will represent the
+                      # key-value pairs as environment variables.
+                    "localObjectReference": { # 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 "name" field instead.
+                        # referenced object inside the same namespace.
+                      "name": "A String", # Name of the referent.
+                          # More info:
+                          # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                    },
+                    "optional": True or False, # Cloud Run fully managed: not supported
+                        #
+                        # Cloud Run for Anthos: supported
+                        #
+                        # Specify whether the ConfigMap must be defined
+                        # +optional
+                    "name": "A String", # Cloud Run fully managed: not supported
+                        #
+                        # Cloud Run for Anthos: supported
+                        #
+                        # The ConfigMap to select from.
+                  },
+                  "secretRef": { # SecretEnvSource selects a Secret to populate the environment # The Secret to select from
+                      # +optional
+                      # variables with.
+                      #
+                      # The contents of the target Secret's Data field will represent the
+                      # key-value pairs as environment variables.
+                    "name": "A String", # Cloud Run fully managed: not supported
+                        #
+                        # Cloud Run for Anthos: supported
+                        #
+                        # The Secret to select from.
+                    "localObjectReference": { # 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 "name" field instead.
+                        # referenced object inside the same namespace.
+                      "name": "A String", # Name of the referent.
+                          # More info:
+                          # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                    },
+                    "optional": True or False, # Cloud Run fully managed: not supported
+                        #
+                        # Cloud Run for Anthos: supported
+                        #
+                        # Specify whether the Secret must be defined
+                        # +optional
+                  },
+                },
+              ],
+              "name": "A String", # Name of the container specified as a DNS_LABEL.
+                  # Each container must have a unique name (DNS_LABEL).
+                  # Cannot be updated.
+              "command": [ # Entrypoint array. Not executed within a shell.
+                  # The docker image's ENTRYPOINT is used if this is not provided.
+                  # Variable references $(VAR_NAME) are expanded using the container'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
+                "A String",
+              ],
             },
           ],
+          "serviceAccountName": "A String", # 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's default service account.
           "generation": 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.
@@ -2639,6 +2475,9 @@
               # (Single or Multi) for the Revision. Defaults to Multi.
               # Deprecated in favor of ContainerConcurrency.
               # +optional
+          "timeoutSeconds": 42, # TimeoutSeconds holds the max duration the instance is allowed for
+              # responding to a request.
+              # Not currently used by Cloud Run.
           "container": { # 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.
@@ -2648,309 +2487,6 @@
               # and the arguments to supply to it.
               # Note that additional arguments may be supplied by the system to the container
               # at runtime.
-            "terminationMessagePath": "A String", # Optional: Path at which the file to which the container's termination
-                # message will be written is mounted into the container'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
-            "lifecycle": { # 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.
-              "preStop": { # 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
-                "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
-                    # Exec specifies the action to take.
-                    # +optional
-                  "command": "A String", # Command is the command line to execute inside the container, the working
-                      # directory for the command  is root ('/') in the container's filesystem. The
-                      # command is simply exec'd, it is not run inside a shell, so traditional
-                      # shell instructions ('|', etc) won't work. To use a shell, you need to
-                      # explicitly call out to that shell. Exit status of 0 is treated as
-                      # live/healthy and non-zero is unhealthy. +optional
-                },
-                "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                    # +optional
-                  "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
-                      # +optional
-                    { # HTTPHeader describes a custom header to be used in HTTP probes
-                      "value": "A String", # The header field value
-                      "name": "A String", # The header field name
-                    },
-                  ],
-                  "path": "A String", # Path to access on the HTTP server.
-                      # +optional
-                  "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Name or number of the port to access on the container.
-                      # 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.
-                    "type": 42, # The type of the value.
-                    "intVal": 42, # The int value.
-                    "strVal": "A String", # The string value.
-                  },
-                  "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
-                      # "Host" in httpHeaders instead.
-                      # +optional
-                  "scheme": "A String", # Scheme to use for connecting to the host.
-                      # Defaults to HTTP.
-                      # +optional
-                },
-                "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                    # TCP hooks not yet supported
-                  "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Number or name of the port to access on the container.
-                      # 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.
-                    "type": 42, # The type of the value.
-                    "intVal": 42, # The int value.
-                    "strVal": "A String", # The string value.
-                  },
-                  "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
-                      # +optional
-                },
-              },
-              "postStart": { # 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
-                "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
-                    # Exec specifies the action to take.
-                    # +optional
-                  "command": "A String", # Command is the command line to execute inside the container, the working
-                      # directory for the command  is root ('/') in the container's filesystem. The
-                      # command is simply exec'd, it is not run inside a shell, so traditional
-                      # shell instructions ('|', etc) won't work. To use a shell, you need to
-                      # explicitly call out to that shell. Exit status of 0 is treated as
-                      # live/healthy and non-zero is unhealthy. +optional
-                },
-                "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                    # +optional
-                  "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
-                      # +optional
-                    { # HTTPHeader describes a custom header to be used in HTTP probes
-                      "value": "A String", # The header field value
-                      "name": "A String", # The header field name
-                    },
-                  ],
-                  "path": "A String", # Path to access on the HTTP server.
-                      # +optional
-                  "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Name or number of the port to access on the container.
-                      # 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.
-                    "type": 42, # The type of the value.
-                    "intVal": 42, # The int value.
-                    "strVal": "A String", # The string value.
-                  },
-                  "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
-                      # "Host" in httpHeaders instead.
-                      # +optional
-                  "scheme": "A String", # Scheme to use for connecting to the host.
-                      # Defaults to HTTP.
-                      # +optional
-                },
-                "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                    # TCP hooks not yet supported
-                  "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Number or name of the port to access on the container.
-                      # 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.
-                    "type": 42, # The type of the value.
-                    "intVal": 42, # The int value.
-                    "strVal": "A String", # The string value.
-                  },
-                  "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
-                      # +optional
-                },
-              },
-            },
-            "stdin": 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
-            "tty": True or False, # Whether this container should allocate a TTY for itself, also requires
-                # 'stdin' to be true. Default is false. +optional
-            "volumeMounts": [ # Pod volumes to mount into the container's filesystem.
-                # Cannot be updated.
-                # +optional
-              { # VolumeMount describes a mounting of a Volume within a container.
-                "readOnly": True or False, # Mounted read-only if true, read-write otherwise (false or unspecified).
-                    # Defaults to false.
-                    # +optional
-                "mountPropagation": "A String", # 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
-                "mountPath": "A String", # Path within the container at which the volume should be mounted.  Must
-                    # not contain ':'.
-                "subPath": "A String", # Path within the volume from which the container's volume should be mounted.
-                    # Defaults to "" (volume's root).
-                    # +optional
-                "name": "A String", # This must match the Name of a Volume.
-              },
-            ],
-            "volumeDevices": [ # 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.
-                "name": "A String", # name must match the name of a persistentVolumeClaim in the pod
-                "devicePath": "A String", # devicePath is the path inside of the container that the device will be
-                    # mapped to.
-              },
-            ],
-            "ports": [ # 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 "0.0.0.0" address inside a container will be
-                # accessible from the network.
-                # Cannot be updated.
-                # +optional
-              { # ContainerPort represents a network port in a single container.
-                "hostPort": 42, # Number of port to expose on the host.
-                    # If specified, this must be a valid port number, 0 < x < 65536.
-                    # If HostNetwork is specified, this must match ContainerPort.
-                    # Most containers do not need this.
-                    # +optional
-                "containerPort": 42, # Number of port to expose on the pod's IP address.
-                    # This must be a valid port number, 0 < x < 65536.
-                "protocol": "A String", # Protocol for port. Must be UDP or TCP.
-                    # Defaults to "TCP".
-                    # +optional
-                "hostIP": "A String", # What host IP to bind the external port to.
-                    # +optional
-                "name": "A String", # 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
-              },
-            ],
-            "workingDir": "A String", # Container's working directory.
-                # If not specified, the container runtime's default will be used, which
-                # might be configured in the container image.
-                # Cannot be updated.
-                # +optional
-            "args": [ # Arguments to the entrypoint.
-                # The docker image's CMD is used if this is not provided.
-                # Variable references $(VAR_NAME) are expanded using the container'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
-              "A String",
-            ],
-            "stdinOnce": 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
-            "envFrom": [ # 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
-                "configMapRef": { # ConfigMapEnvSource selects a ConfigMap to populate the environment # The ConfigMap to select from
-                    # +optional
-                    # variables with.
-                    #
-                    # The contents of the target ConfigMap's Data field will represent the
-                    # key-value pairs as environment variables.
-                  "name": "A String", # Cloud Run fully managed: not supported
-                      #
-                      # Cloud Run for Anthos: supported
-                      #
-                      # The ConfigMap to select from.
-                  "localObjectReference": { # 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 "name" field instead.
-                      # referenced object inside the same namespace.
-                    "name": "A String", # Name of the referent.
-                        # More info:
-                        # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                  },
-                  "optional": True or False, # Cloud Run fully managed: not supported
-                      #
-                      # Cloud Run for Anthos: supported
-                      #
-                      # Specify whether the ConfigMap must be defined
-                      # +optional
-                },
-                "secretRef": { # SecretEnvSource selects a Secret to populate the environment # The Secret to select from
-                    # +optional
-                    # variables with.
-                    #
-                    # The contents of the target Secret's Data field will represent the
-                    # key-value pairs as environment variables.
-                  "localObjectReference": { # 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 "name" field instead.
-                      # referenced object inside the same namespace.
-                    "name": "A String", # Name of the referent.
-                        # More info:
-                        # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                  },
-                  "optional": True or False, # Cloud Run fully managed: not supported
-                      #
-                      # Cloud Run for Anthos: supported
-                      #
-                      # Specify whether the Secret must be defined
-                      # +optional
-                  "name": "A String", # Cloud Run fully managed: not supported
-                      #
-                      # Cloud Run for Anthos: supported
-                      #
-                      # The Secret to select from.
-                },
-                "prefix": "A String", # An optional identifier to prepend to each key in the ConfigMap. Must be a
-                    # C_IDENTIFIER. +optional
-              },
-            ],
-            "image": "A String", # Docker image name.
-                # More info: https://kubernetes.io/docs/concepts/containers/images
-            "name": "A String", # Name of the container specified as a DNS_LABEL.
-                # Each container must have a unique name (DNS_LABEL).
-                # Cannot be updated.
-            "command": [ # Entrypoint array. Not executed within a shell.
-                # The docker image's ENTRYPOINT is used if this is not provided.
-                # Variable references $(VAR_NAME) are expanded using the container'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
-              "A String",
-            ],
             "terminationMessagePolicy": "A String", # 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
@@ -3000,6 +2536,9 @@
                   # 1) run as Privileged
                   # 2) has CAP_SYS_ADMIN
                   # +optional
+              "readOnlyRootFilesystem": True or False, # Whether this container has a read-only root filesystem.
+                  # Default is false.
+                  # +optional
               "seLinuxOptions": { # 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
@@ -3014,9 +2553,6 @@
                 "type": "A String", # Type is a SELinux type label that applies to the container.
                     # +optional
               },
-              "readOnlyRootFilesystem": True or False, # Whether this container has a read-only root filesystem.
-                  # Default is false.
-                  # +optional
               "runAsUser": 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
@@ -3030,8 +2566,6 @@
                 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
                 # +optional
                 # determine whether it is alive or ready to receive traffic.
-              "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
-                  # having succeeded. Defaults to 3. Minimum value is 1. +optional
               "initialDelaySeconds": 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
@@ -3042,6 +2576,21 @@
                   # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
                   # +optional
               "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
+                "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
+                    # TCP hooks not yet supported
+                  "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Number or name of the port to access on the container.
+                      # 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.
+                    "strVal": "A String", # The string value.
+                    "type": 42, # The type of the value.
+                    "intVal": 42, # The int value.
+                  },
+                  "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
+                      # +optional
+                },
                 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
                     # Exec specifies the action to take.
                     # +optional
@@ -3057,8 +2606,8 @@
                   "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
                       # +optional
                     { # HTTPHeader describes a custom header to be used in HTTP probes
-                      "value": "A String", # The header field value
                       "name": "A String", # The header field name
+                      "value": "A String", # The header field value
                     },
                   ],
                   "path": "A String", # Path to access on the HTTP server.
@@ -3069,9 +2618,9 @@
                       # JSON or YAML marshalling and unmarshalling, it produces or consumes the
                       # inner type.  This allows you to have, for example, a JSON field that can
                       # accept a name or number.
+                    "strVal": "A String", # The string value.
                     "type": 42, # The type of the value.
                     "intVal": 42, # The int value.
-                    "strVal": "A String", # The string value.
                   },
                   "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
                       # "Host" in httpHeaders instead.
@@ -3080,21 +2629,6 @@
                       # Defaults to HTTP.
                       # +optional
                 },
-                "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                    # TCP hooks not yet supported
-                  "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Number or name of the port to access on the container.
-                      # 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.
-                    "type": 42, # The type of the value.
-                    "intVal": 42, # The int value.
-                    "strVal": "A String", # The string value.
-                  },
-                  "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
-                      # +optional
-                },
               },
               "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
                   # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
@@ -3102,20 +2636,13 @@
               "periodSeconds": 42, # How often (in seconds) to perform the probe.
                   # Default to 10 seconds. Minimum value is 1.
                   # +optional
+              "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
+                  # having succeeded. Defaults to 3. Minimum value is 1. +optional
             },
             "env": [ # List of environment variables to set in the container.
                 # Cannot be updated.
                 # +optional
               { # EnvVar represents an environment variable present in a Container.
-                "value": "A String", # 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 "".
-                    # +optional
                 "name": "A String", # Name of the environment variable. Must be a C_IDENTIFIER.
                 "valueFrom": { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
                     #
@@ -3137,6 +2664,13 @@
                       # Cloud Run on GKE: supported
                       #
                       # Selects a key from a ConfigMap.
+                    "localObjectReference": { # 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 "name" field instead.
+                        # referenced object inside the same namespace.
+                      "name": "A String", # Name of the referent.
+                          # More info:
+                          # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                    },
                     "optional": True or False, # Cloud Run fully managed: not supported
                         #
                         # Cloud Run on GKE: supported
@@ -3153,13 +2687,6 @@
                         # Cloud Run on GKE: supported
                         #
                         # The ConfigMap to select from.
-                    "localObjectReference": { # 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 "name" field instead.
-                        # referenced object inside the same namespace.
-                      "name": "A String", # Name of the referent.
-                          # More info:
-                          # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                    },
                   },
                   "secretKeyRef": { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
                       #
@@ -3171,13 +2698,6 @@
                       # Cloud Run on GKE: supported
                       #
                       # SecretKeySelector selects a key of a Secret.
-                    "localObjectReference": { # 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 "name" field instead.
-                        # referenced object inside the same namespace.
-                      "name": "A String", # Name of the referent.
-                          # More info:
-                          # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-                    },
                     "optional": True or False, # Cloud Run fully managed: not supported
                         #
                         # Cloud Run on GKE: supported
@@ -3194,8 +2714,24 @@
                         # Cloud Run on GKE: supported
                         #
                         # The name of the secret in the pod's namespace to select from.
+                    "localObjectReference": { # 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 "name" field instead.
+                        # referenced object inside the same namespace.
+                      "name": "A String", # Name of the referent.
+                          # More info:
+                          # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                    },
                   },
                 },
+                "value": "A String", # 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 "".
+                    # +optional
               },
             ],
             "resources": { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
@@ -3245,8 +2781,6 @@
                 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
                 # +optional
                 # determine whether it is alive or ready to receive traffic.
-              "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
-                  # having succeeded. Defaults to 3. Minimum value is 1. +optional
               "initialDelaySeconds": 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
@@ -3257,6 +2791,21 @@
                   # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
                   # +optional
               "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
+                "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
+                    # TCP hooks not yet supported
+                  "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Number or name of the port to access on the container.
+                      # 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.
+                    "strVal": "A String", # The string value.
+                    "type": 42, # The type of the value.
+                    "intVal": 42, # The int value.
+                  },
+                  "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
+                      # +optional
+                },
                 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
                     # Exec specifies the action to take.
                     # +optional
@@ -3272,8 +2821,8 @@
                   "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
                       # +optional
                     { # HTTPHeader describes a custom header to be used in HTTP probes
-                      "value": "A String", # The header field value
                       "name": "A String", # The header field name
+                      "value": "A String", # The header field value
                     },
                   ],
                   "path": "A String", # Path to access on the HTTP server.
@@ -3284,9 +2833,9 @@
                       # JSON or YAML marshalling and unmarshalling, it produces or consumes the
                       # inner type.  This allows you to have, for example, a JSON field that can
                       # accept a name or number.
+                    "strVal": "A String", # The string value.
                     "type": 42, # The type of the value.
                     "intVal": 42, # The int value.
-                    "strVal": "A String", # The string value.
                   },
                   "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
                       # "Host" in httpHeaders instead.
@@ -3295,21 +2844,6 @@
                       # Defaults to HTTP.
                       # +optional
                 },
-                "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                    # TCP hooks not yet supported
-                  "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Number or name of the port to access on the container.
-                      # 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.
-                    "type": 42, # The type of the value.
-                    "intVal": 42, # The int value.
-                    "strVal": "A String", # The string value.
-                  },
-                  "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
-                      # +optional
-                },
               },
               "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
                   # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
@@ -3317,6 +2851,8 @@
               "periodSeconds": 42, # How often (in seconds) to perform the probe.
                   # Default to 10 seconds. Minimum value is 1.
                   # +optional
+              "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
+                  # having succeeded. Defaults to 3. Minimum value is 1. +optional
             },
             "imagePullPolicy": "A String", # Image pull policy.
                 # One of Always, Never, IfNotPresent.
@@ -3325,16 +2861,317 @@
                 # More info:
                 # https://kubernetes.io/docs/concepts/containers/images#updating-images
                 # +optional
+            "lifecycle": { # 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.
+              "preStop": { # 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
+                "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
+                    # TCP hooks not yet supported
+                  "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Number or name of the port to access on the container.
+                      # 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.
+                    "strVal": "A String", # The string value.
+                    "type": 42, # The type of the value.
+                    "intVal": 42, # The int value.
+                  },
+                  "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
+                      # +optional
+                },
+                "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
+                    # Exec specifies the action to take.
+                    # +optional
+                  "command": "A String", # Command is the command line to execute inside the container, the working
+                      # directory for the command  is root ('/') in the container's filesystem. The
+                      # command is simply exec'd, it is not run inside a shell, so traditional
+                      # shell instructions ('|', etc) won't work. To use a shell, you need to
+                      # explicitly call out to that shell. Exit status of 0 is treated as
+                      # live/healthy and non-zero is unhealthy. +optional
+                },
+                "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
+                    # +optional
+                  "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
+                      # +optional
+                    { # HTTPHeader describes a custom header to be used in HTTP probes
+                      "name": "A String", # The header field name
+                      "value": "A String", # The header field value
+                    },
+                  ],
+                  "path": "A String", # Path to access on the HTTP server.
+                      # +optional
+                  "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Name or number of the port to access on the container.
+                      # 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.
+                    "strVal": "A String", # The string value.
+                    "type": 42, # The type of the value.
+                    "intVal": 42, # The int value.
+                  },
+                  "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
+                      # "Host" in httpHeaders instead.
+                      # +optional
+                  "scheme": "A String", # Scheme to use for connecting to the host.
+                      # Defaults to HTTP.
+                      # +optional
+                },
+              },
+              "postStart": { # 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
+                "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
+                    # TCP hooks not yet supported
+                  "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Number or name of the port to access on the container.
+                      # 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.
+                    "strVal": "A String", # The string value.
+                    "type": 42, # The type of the value.
+                    "intVal": 42, # The int value.
+                  },
+                  "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
+                      # +optional
+                },
+                "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
+                    # Exec specifies the action to take.
+                    # +optional
+                  "command": "A String", # Command is the command line to execute inside the container, the working
+                      # directory for the command  is root ('/') in the container's filesystem. The
+                      # command is simply exec'd, it is not run inside a shell, so traditional
+                      # shell instructions ('|', etc) won't work. To use a shell, you need to
+                      # explicitly call out to that shell. Exit status of 0 is treated as
+                      # live/healthy and non-zero is unhealthy. +optional
+                },
+                "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
+                    # +optional
+                  "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
+                      # +optional
+                    { # HTTPHeader describes a custom header to be used in HTTP probes
+                      "name": "A String", # The header field name
+                      "value": "A String", # The header field value
+                    },
+                  ],
+                  "path": "A String", # Path to access on the HTTP server.
+                      # +optional
+                  "port": { # IntOrString is a type that can hold an int32 or a string.  When used in # Name or number of the port to access on the container.
+                      # 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.
+                    "strVal": "A String", # The string value.
+                    "type": 42, # The type of the value.
+                    "intVal": 42, # The int value.
+                  },
+                  "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
+                      # "Host" in httpHeaders instead.
+                      # +optional
+                  "scheme": "A String", # Scheme to use for connecting to the host.
+                      # Defaults to HTTP.
+                      # +optional
+                },
+              },
+            },
+            "terminationMessagePath": "A String", # Optional: Path at which the file to which the container's termination
+                # message will be written is mounted into the container'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
+            "stdin": 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
+            "volumeMounts": [ # Pod volumes to mount into the container's filesystem.
+                # Cannot be updated.
+                # +optional
+              { # VolumeMount describes a mounting of a Volume within a container.
+                "name": "A String", # This must match the Name of a Volume.
+                "readOnly": True or False, # Mounted read-only if true, read-write otherwise (false or unspecified).
+                    # Defaults to false.
+                    # +optional
+                "mountPropagation": "A String", # 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
+                "mountPath": "A String", # Path within the container at which the volume should be mounted.  Must
+                    # not contain ':'.
+                "subPath": "A String", # Path within the volume from which the container's volume should be mounted.
+                    # Defaults to "" (volume's root).
+                    # +optional
+              },
+            ],
+            "tty": True or False, # Whether this container should allocate a TTY for itself, also requires
+                # 'stdin' to be true. Default is false. +optional
+            "volumeDevices": [ # 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.
+                "name": "A String", # name must match the name of a persistentVolumeClaim in the pod
+                "devicePath": "A String", # devicePath is the path inside of the container that the device will be
+                    # mapped to.
+              },
+            ],
+            "stdinOnce": 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
+            "args": [ # Arguments to the entrypoint.
+                # The docker image's CMD is used if this is not provided.
+                # Variable references $(VAR_NAME) are expanded using the container'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
+              "A String",
+            ],
+            "workingDir": "A String", # Container's working directory.
+                # If not specified, the container runtime's default will be used, which
+                # might be configured in the container image.
+                # Cannot be updated.
+                # +optional
+            "ports": [ # 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 "0.0.0.0" address inside a container will be
+                # accessible from the network.
+                # Cannot be updated.
+                # +optional
+              { # ContainerPort represents a network port in a single container.
+                "hostIP": "A String", # What host IP to bind the external port to.
+                    # +optional
+                "name": "A String", # 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
+                "hostPort": 42, # Number of port to expose on the host.
+                    # If specified, this must be a valid port number, 0 < x < 65536.
+                    # If HostNetwork is specified, this must match ContainerPort.
+                    # Most containers do not need this.
+                    # +optional
+                "containerPort": 42, # Number of port to expose on the pod's IP address.
+                    # This must be a valid port number, 0 < x < 65536.
+                "protocol": "A String", # Protocol for port. Must be UDP or TCP.
+                    # Defaults to "TCP".
+                    # +optional
+              },
+            ],
+            "image": "A String", # Docker image name.
+                # More info: https://kubernetes.io/docs/concepts/containers/images
+            "envFrom": [ # 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
+                "prefix": "A String", # An optional identifier to prepend to each key in the ConfigMap. Must be a
+                    # C_IDENTIFIER. +optional
+                "configMapRef": { # ConfigMapEnvSource selects a ConfigMap to populate the environment # The ConfigMap to select from
+                    # +optional
+                    # variables with.
+                    #
+                    # The contents of the target ConfigMap's Data field will represent the
+                    # key-value pairs as environment variables.
+                  "localObjectReference": { # 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 "name" field instead.
+                      # referenced object inside the same namespace.
+                    "name": "A String", # Name of the referent.
+                        # More info:
+                        # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                  },
+                  "optional": True or False, # Cloud Run fully managed: not supported
+                      #
+                      # Cloud Run for Anthos: supported
+                      #
+                      # Specify whether the ConfigMap must be defined
+                      # +optional
+                  "name": "A String", # Cloud Run fully managed: not supported
+                      #
+                      # Cloud Run for Anthos: supported
+                      #
+                      # The ConfigMap to select from.
+                },
+                "secretRef": { # SecretEnvSource selects a Secret to populate the environment # The Secret to select from
+                    # +optional
+                    # variables with.
+                    #
+                    # The contents of the target Secret's Data field will represent the
+                    # key-value pairs as environment variables.
+                  "name": "A String", # Cloud Run fully managed: not supported
+                      #
+                      # Cloud Run for Anthos: supported
+                      #
+                      # The Secret to select from.
+                  "localObjectReference": { # 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 "name" field instead.
+                      # referenced object inside the same namespace.
+                    "name": "A String", # Name of the referent.
+                        # More info:
+                        # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                  },
+                  "optional": True or False, # Cloud Run fully managed: not supported
+                      #
+                      # Cloud Run for Anthos: supported
+                      #
+                      # Specify whether the Secret must be defined
+                      # +optional
+                },
+              },
+            ],
+            "name": "A String", # Name of the container specified as a DNS_LABEL.
+                # Each container must have a unique name (DNS_LABEL).
+                # Cannot be updated.
+            "command": [ # Entrypoint array. Not executed within a shell.
+                # The docker image's ENTRYPOINT is used if this is not provided.
+                # Variable references $(VAR_NAME) are expanded using the container'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
+              "A String",
+            ],
           },
-          "timeoutSeconds": 42, # TimeoutSeconds holds the max duration the instance is allowed for
-              # responding to a request.
-              # Not currently used by Cloud Run.
           "volumes": [
             { # Volume represents a named volume in a container.
               "configMap": { # Adapts a ConfigMap into a volume.
                   # The contents of the target ConfigMap'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.
+                "optional": True or False, # Specify whether the Secret or its keys must be defined.
                 "name": "A String", # Name of the config.
                 "defaultMode": 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
@@ -3347,7 +3184,6 @@
                     # 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.
-                    "key": "A String", # The key to project.
                     "path": "A String", # The relative path of the file to map the key to.
                         # May not be an absolute path.
                         # May not contain the path element '..'.
@@ -3356,14 +3192,13 @@
                         # 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
+                    "key": "A String", # The key to project.
                   },
                 ],
-                "optional": True or False, # Specify whether the Secret or its keys must be defined.
               },
               "name": "A String", # Volume's name.
               "secret": { # The contents of the target Secret's Data field will be presented in a volume
                   # as files using the keys in the Data field as the file names.
-                "optional": True or False, # Specify whether the Secret or its keys must be defined.
                 "defaultMode": 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
@@ -3376,7 +3211,6 @@
                     # 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.
-                    "key": "A String", # The key to project.
                     "path": "A String", # The relative path of the file to map the key to.
                         # May not be an absolute path.
                         # May not contain the path element '..'.
@@ -3385,12 +3219,178 @@
                         # 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
+                    "key": "A String", # The key to project.
                   },
                 ],
+                "optional": True or False, # Specify whether the Secret or its keys must be defined.
               },
             },
           ],
         },
+        "metadata": { # ObjectMeta is metadata that all persisted resources must have, which includes # Optional metadata for this Revision, including labels and annotations. Name
+            # will be generated by the Configuration.
+            # To set minimum instances for this revision, use the
+            # "autoscaling.knative.dev/minScale" annotation key. (Cloud Run on GKE only).
+            # To set maximum instances for this revision, use the
+            # "autoscaling.knative.dev/maxScale" annotation key.
+            # To set Cloud SQL connections for the revision, use the
+            # "run.googleapis.com/cloudsql-instances" annotation key. Values should be
+            # comma separated.
+            # all objects users must create.
+          "generateName": "A String", # 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;
+          "name": "A String", # 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
+          "deletionGracePeriodSeconds": 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
+          "clusterName": "A String", # 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
+          "finalizers": [ # 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
+            "A String",
+          ],
+          "deletionTimestamp": "A String", # 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
+          "ownerReferences": [ # 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.
+              "controller": True or False, # If true, this reference points to the managing controller.
+                  # +optional
+              "kind": "A String", # Kind of the referent.
+                  # More info:
+                  # https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
+              "blockOwnerDeletion": True or False, # If true, AND if the owner has the "foregroundDeletion" 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 "delete" permission of the owner,
+                  # otherwise 422 (Unprocessable Entity) will be returned.
+                  # +optional
+              "apiVersion": "A String", # API version of the referent.
+              "name": "A String", # Name of the referent.
+                  # More info: http://kubernetes.io/docs/user-guide/identifiers#names
+              "uid": "A String", # UID of the referent.
+                  # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
+            },
+          ],
+          "creationTimestamp": "A String", # 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
+          "labels": { # 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
+            "a_key": "A String",
+          },
+          "generation": 42, # A sequence number representing a specific generation of the desired state.
+              # Populated by the system. Read-only.
+              # +optional
+          "resourceVersion": "A String", # 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
+          "selfLink": "A String", # SelfLink is a URL representing this object.
+              # Populated by the system.
+              # Read-only.
+              # +optional
+              #  string selfLink = 4;
+          "uid": "A String", # 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
+          "namespace": "A String", # 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.
+          "annotations": { # 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
+            "a_key": "A String",
+          },
+        },
       },
       "generation": 42, # Deprecated and not currently populated by Cloud Run. See
           # metadata.generation instead, which is the sequence number containing the
@@ -3402,12 +3402,6 @@
     "metadata": { # ObjectMeta is metadata that all persisted resources must have, which includes # Metadata associated with this Configuration, including name, namespace,
         # labels, and annotations.
         # all objects users must create.
-      "annotations": { # 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
-        "a_key": "A String",
-      },
       "generateName": "A String", # Not currently supported by Cloud Run.
           #
           # GenerateName is an optional prefix, used by the server, to generate a
@@ -3436,17 +3430,17 @@
           # for creation idempotence and configuration definition. Cannot be updated.
           # More info: http://kubernetes.io/docs/user-guide/identifiers#names
           # +optional
+      "deletionGracePeriodSeconds": 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
       "clusterName": "A String", # 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
-      "deletionGracePeriodSeconds": 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
       "finalizers": [ # Not currently supported by Cloud Run.
           #
           # Must be empty before the object is deleted from the registry. Each entry
@@ -3486,11 +3480,6 @@
         { # 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.
-          "apiVersion": "A String", # API version of the referent.
-          "name": "A String", # Name of the referent.
-              # More info: http://kubernetes.io/docs/user-guide/identifiers#names
-          "uid": "A String", # UID of the referent.
-              # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
           "controller": True or False, # If true, this reference points to the managing controller.
               # +optional
           "kind": "A String", # Kind of the referent.
@@ -3503,6 +3492,11 @@
               # To set this field, a user needs "delete" permission of the owner,
               # otherwise 422 (Unprocessable Entity) will be returned.
               # +optional
+          "apiVersion": "A String", # API version of the referent.
+          "name": "A String", # Name of the referent.
+              # More info: http://kubernetes.io/docs/user-guide/identifiers#names
+          "uid": "A String", # UID of the referent.
+              # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
         },
       ],
       "creationTimestamp": "A String", # CreationTimestamp is a timestamp representing the server time when this
@@ -3539,6 +3533,11 @@
           # More info:
           # https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
           # +optional
+      "selfLink": "A String", # SelfLink is a URL representing this object.
+          # Populated by the system.
+          # Read-only.
+          # +optional
+          #  string selfLink = 4;
       "uid": "A String", # 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.
@@ -3547,18 +3546,24 @@
           # Read-only.
           # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
           # +optional
-      "selfLink": "A String", # SelfLink is a URL representing this object.
-          # Populated by the system.
-          # Read-only.
-          # +optional
-          #  string selfLink = 4;
       "namespace": "A String", # 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.
+      "annotations": { # 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
+        "a_key": "A String",
+      },
     },
     "status": { # ConfigurationStatus communicates the observed state of the Configuration # Status communicates the observed state of the Configuration (from the
         # controller).
         # (from the controller).
+      "latestCreatedRevisionName": "A String", # LatestCreatedRevisionName is the last revision that was created from this
+          # Configuration. It might not be ready yet, for that use
+          # LatestReadyRevisionName.
+      "latestReadyRevisionName": "A String", # LatestReadyRevisionName holds the name of the latest Revision stamped out
+          # from this Configuration that has had its "Ready" condition become "True".
       "conditions": [ # Conditions communicates information about ongoing/complete
           # reconciliation processes that bring the "spec" inline with the observed
           # state of the world.
@@ -3585,11 +3590,6 @@
           # Clients polling for completed reconciliation should poll until
           # observedGeneration = metadata.generation, and the Ready condition's status
           # is True or False.
-      "latestCreatedRevisionName": "A String", # LatestCreatedRevisionName is the last revision that was created from this
-          # Configuration. It might not be ready yet, for that use
-          # LatestReadyRevisionName.
-      "latestReadyRevisionName": "A String", # LatestReadyRevisionName holds the name of the latest Revision stamped out
-          # from this Configuration that has had its "Ready" condition become "True".
     },
   }</pre>
 </div>
@@ -3622,6 +3622,10 @@
   An object of the form:
 
     { # ListConfigurationsResponse is a list of Configuration resources.
+    &quot;kind&quot;: &quot;A String&quot;, # The kind of this resource, in this case &quot;ConfigurationList&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 Configuration list.
         # lists and various status objects. A resource may have only one of
         # {ObjectMeta, ListMeta}.
@@ -3659,170 +3663,6 @@
           &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created # Template holds the latest specification for the Revision to be stamped out.
               # from a template. Based on:
               # https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190
-            &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes # Optional metadata for this Revision, including labels and annotations. Name
-                # will be generated by the Configuration.
-                # To set minimum instances for this revision, use the
-                # &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only).
-                # To set maximum instances for this revision, use the
-                # &quot;autoscaling.knative.dev/maxScale&quot; annotation key.
-                # To set Cloud SQL connections for the revision, use the
-                # &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be
-                # comma separated.
-                # all objects users must create.
-              &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;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;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;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;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;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;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;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;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;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object.
-                  # Populated by the system.
-                  # Read-only.
-                  # +optional
-                  #  string selfLink = 4;
-              &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;spec&quot;: { # RevisionSpec holds the desired state of the Revision (from the client). # RevisionSpec holds the desired state of the Revision (from the client).
               &quot;containerConcurrency&quot;: 42, # (Optional)
                   #
@@ -3834,10 +3674,6 @@
                   # 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;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;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.
@@ -3847,309 +3683,6 @@
                     # and the arguments to supply to it.
                     # Note that additional arguments may be supplied by the system to the container
                     # at runtime.
-                  &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;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;exec&quot;: { # ExecAction describes 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;value&quot;: &quot;A String&quot;, # The header field value
-                            &quot;name&quot;: &quot;A String&quot;, # The header field name
-                          },
-                        ],
-                        &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;type&quot;: 42, # The type of the value.
-                          &quot;intVal&quot;: 42, # The int value.
-                          &quot;strVal&quot;: &quot;A String&quot;, # The string 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;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;type&quot;: 42, # The type of the value.
-                          &quot;intVal&quot;: 42, # The int value.
-                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
-                        },
-                        &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
-                            # +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;exec&quot;: { # ExecAction describes 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;value&quot;: &quot;A String&quot;, # The header field value
-                            &quot;name&quot;: &quot;A String&quot;, # The header field name
-                          },
-                        ],
-                        &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;type&quot;: 42, # The type of the value.
-                          &quot;intVal&quot;: 42, # The int value.
-                          &quot;strVal&quot;: &quot;A String&quot;, # The string 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;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;type&quot;: 42, # The type of the value.
-                          &quot;intVal&quot;: 42, # The int value.
-                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
-                        },
-                        &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
-                            # +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;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;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;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;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
-                    },
-                  ],
-                  &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;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;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;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;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;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;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;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;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;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
-                            #
-                            # Cloud Run for Anthos: supported
-                            #
-                            # The ConfigMap 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 ConfigMap must be defined
-                            # +optional
-                      },
-                      &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;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;, # Cloud Run fully managed: not supported
-                            #
-                            # Cloud Run for Anthos: supported
-                            #
-                            # The Secret to select from.
-                      },
-                      &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;image&quot;: &quot;A String&quot;, # Docker image name.
-                      # More info: https://kubernetes.io/docs/concepts/containers/images
-                  &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;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
@@ -4199,6 +3732,9 @@
                         # 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
@@ -4213,9 +3749,6 @@
                       &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container.
                           # +optional
                     },
-                    &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem.
-                        # Default is false.
-                        # +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
@@ -4229,8 +3762,6 @@
                       # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
                       # +optional
                       # determine whether it is alive or ready to receive traffic.
-                    &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;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
@@ -4241,6 +3772,21 @@
                         # 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
@@ -4256,8 +3802,8 @@
                         &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;value&quot;: &quot;A String&quot;, # The header field value
                             &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.
@@ -4268,9 +3814,9 @@
                             # JSON or YAML marshalling and unmarshalling, 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;strVal&quot;: &quot;A String&quot;, # The string 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.
@@ -4279,21 +3825,6 @@
                             # Defaults to HTTP.
                             # +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;type&quot;: 42, # The type of the value.
-                          &quot;intVal&quot;: 42, # The int value.
-                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
-                        },
-                        &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
-                            # +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
@@ -4301,20 +3832,13 @@
                     &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;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;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
                           #
@@ -4336,6 +3860,13 @@
                             # 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
@@ -4352,13 +3883,6 @@
                               # Cloud Run on GKE: supported
                               #
                               # The ConfigMap 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;secretKeyRef&quot;: { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
                             #
@@ -4370,13 +3894,6 @@
                             # Cloud Run on GKE: supported
                             #
                             # SecretKeySelector selects a key of a Secret.
-                          &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
@@ -4393,8 +3910,24 @@
                               # 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.
@@ -4444,8 +3977,6 @@
                       # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
                       # +optional
                       # determine whether it is alive or ready to receive traffic.
-                    &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;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
@@ -4456,6 +3987,21 @@
                         # 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
@@ -4471,8 +4017,8 @@
                         &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;value&quot;: &quot;A String&quot;, # The header field value
                             &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.
@@ -4483,9 +4029,9 @@
                             # JSON or YAML marshalling and unmarshalling, 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;strVal&quot;: &quot;A String&quot;, # The string 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.
@@ -4494,21 +4040,6 @@
                             # Defaults to HTTP.
                             # +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;type&quot;: 42, # The type of the value.
-                          &quot;intVal&quot;: 42, # The int value.
-                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
-                        },
-                        &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
-                            # +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
@@ -4516,6 +4047,8 @@
                     &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.
@@ -4524,8 +4057,315 @@
                       # 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.
@@ -4542,6 +4382,9 @@
                   # (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.
@@ -4551,309 +4394,6 @@
                   # and the arguments to supply to it.
                   # Note that additional arguments may be supplied by the system to the container
                   # at runtime.
-                &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;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;exec&quot;: { # ExecAction describes 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;value&quot;: &quot;A String&quot;, # The header field value
-                          &quot;name&quot;: &quot;A String&quot;, # The header field name
-                        },
-                      ],
-                      &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;type&quot;: 42, # The type of the value.
-                        &quot;intVal&quot;: 42, # The int value.
-                        &quot;strVal&quot;: &quot;A String&quot;, # The string 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;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;type&quot;: 42, # The type of the value.
-                        &quot;intVal&quot;: 42, # The int value.
-                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
-                      },
-                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
-                          # +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;exec&quot;: { # ExecAction describes 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;value&quot;: &quot;A String&quot;, # The header field value
-                          &quot;name&quot;: &quot;A String&quot;, # The header field name
-                        },
-                      ],
-                      &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;type&quot;: 42, # The type of the value.
-                        &quot;intVal&quot;: 42, # The int value.
-                        &quot;strVal&quot;: &quot;A String&quot;, # The string 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;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;type&quot;: 42, # The type of the value.
-                        &quot;intVal&quot;: 42, # The int value.
-                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
-                      },
-                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
-                          # +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;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;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;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;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
-                  },
-                ],
-                &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;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;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;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;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;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;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;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;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;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
-                          #
-                          # Cloud Run for Anthos: supported
-                          #
-                          # The ConfigMap 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 ConfigMap must be defined
-                          # +optional
-                    },
-                    &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;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;, # Cloud Run fully managed: not supported
-                          #
-                          # Cloud Run for Anthos: supported
-                          #
-                          # The Secret to select from.
-                    },
-                    &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;image&quot;: &quot;A String&quot;, # Docker image name.
-                    # More info: https://kubernetes.io/docs/concepts/containers/images
-                &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;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
@@ -4903,6 +4443,9 @@
                       # 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
@@ -4917,9 +4460,6 @@
                     &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container.
                         # +optional
                   },
-                  &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem.
-                      # Default is false.
-                      # +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
@@ -4933,8 +4473,6 @@
                     # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
                     # +optional
                     # determine whether it is alive or ready to receive traffic.
-                  &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;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
@@ -4945,6 +4483,21 @@
                       # 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
@@ -4960,8 +4513,8 @@
                       &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;value&quot;: &quot;A String&quot;, # The header field value
                           &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.
@@ -4972,9 +4525,9 @@
                           # JSON or YAML marshalling and unmarshalling, 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;strVal&quot;: &quot;A String&quot;, # The string 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.
@@ -4983,21 +4536,6 @@
                           # Defaults to HTTP.
                           # +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;type&quot;: 42, # The type of the value.
-                        &quot;intVal&quot;: 42, # The int value.
-                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
-                      },
-                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
-                          # +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
@@ -5005,20 +4543,13 @@
                   &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;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;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
                         #
@@ -5040,6 +4571,13 @@
                           # 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
@@ -5056,13 +4594,6 @@
                             # Cloud Run on GKE: supported
                             #
                             # The ConfigMap 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;secretKeyRef&quot;: { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
                           #
@@ -5074,13 +4605,6 @@
                           # Cloud Run on GKE: supported
                           #
                           # SecretKeySelector selects a key of a Secret.
-                        &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
@@ -5097,8 +4621,24 @@
                             # 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.
@@ -5148,8 +4688,6 @@
                     # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
                     # +optional
                     # determine whether it is alive or ready to receive traffic.
-                  &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;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
@@ -5160,6 +4698,21 @@
                       # 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
@@ -5175,8 +4728,8 @@
                       &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;value&quot;: &quot;A String&quot;, # The header field value
                           &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.
@@ -5187,9 +4740,9 @@
                           # JSON or YAML marshalling and unmarshalling, 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;strVal&quot;: &quot;A String&quot;, # The string 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.
@@ -5198,21 +4751,6 @@
                           # Defaults to HTTP.
                           # +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;type&quot;: 42, # The type of the value.
-                        &quot;intVal&quot;: 42, # The int value.
-                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
-                      },
-                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
-                          # +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
@@ -5220,6 +4758,8 @@
                   &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.
@@ -5228,16 +4768,317 @@
                     # 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;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for
-                  # responding to a request.
-                  # Not currently used by Cloud Run.
               &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
@@ -5250,7 +5091,6 @@
                         # 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;key&quot;: &quot;A String&quot;, # The key to project.
                         &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;.
@@ -5259,14 +5099,13 @@
                             # 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.
                   },
                   &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;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
                     &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
@@ -5279,7 +5118,6 @@
                         # 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;key&quot;: &quot;A String&quot;, # The key to project.
                         &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;.
@@ -5288,12 +5126,178 @@
                             # 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.
                   },
                 },
               ],
             },
+            &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes # Optional metadata for this Revision, including labels and annotations. Name
+                # will be generated by the Configuration.
+                # To set minimum instances for this revision, use the
+                # &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only).
+                # To set maximum instances for this revision, use the
+                # &quot;autoscaling.knative.dev/maxScale&quot; annotation key.
+                # To set Cloud SQL connections for the revision, use the
+                # &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be
+                # comma separated.
+                # 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;revisionTemplate&quot;: { # RevisionTemplateSpec describes the data a revision should have when created # RevisionTemplate holds the latest specification for the Revision to
               # be stamped out. The template references the container image, and may also
@@ -5307,170 +5311,6 @@
               # responsible for materializing the container image from source.
               # from a template. Based on:
               # https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190
-            &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes # Optional metadata for this Revision, including labels and annotations. Name
-                # will be generated by the Configuration.
-                # To set minimum instances for this revision, use the
-                # &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only).
-                # To set maximum instances for this revision, use the
-                # &quot;autoscaling.knative.dev/maxScale&quot; annotation key.
-                # To set Cloud SQL connections for the revision, use the
-                # &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be
-                # comma separated.
-                # all objects users must create.
-              &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;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;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;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;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;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;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;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;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;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object.
-                  # Populated by the system.
-                  # Read-only.
-                  # +optional
-                  #  string selfLink = 4;
-              &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;spec&quot;: { # RevisionSpec holds the desired state of the Revision (from the client). # RevisionSpec holds the desired state of the Revision (from the client).
               &quot;containerConcurrency&quot;: 42, # (Optional)
                   #
@@ -5482,10 +5322,6 @@
                   # 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;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;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.
@@ -5495,309 +5331,6 @@
                     # and the arguments to supply to it.
                     # Note that additional arguments may be supplied by the system to the container
                     # at runtime.
-                  &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;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;exec&quot;: { # ExecAction describes 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;value&quot;: &quot;A String&quot;, # The header field value
-                            &quot;name&quot;: &quot;A String&quot;, # The header field name
-                          },
-                        ],
-                        &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;type&quot;: 42, # The type of the value.
-                          &quot;intVal&quot;: 42, # The int value.
-                          &quot;strVal&quot;: &quot;A String&quot;, # The string 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;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;type&quot;: 42, # The type of the value.
-                          &quot;intVal&quot;: 42, # The int value.
-                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
-                        },
-                        &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
-                            # +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;exec&quot;: { # ExecAction describes 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;value&quot;: &quot;A String&quot;, # The header field value
-                            &quot;name&quot;: &quot;A String&quot;, # The header field name
-                          },
-                        ],
-                        &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;type&quot;: 42, # The type of the value.
-                          &quot;intVal&quot;: 42, # The int value.
-                          &quot;strVal&quot;: &quot;A String&quot;, # The string 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;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;type&quot;: 42, # The type of the value.
-                          &quot;intVal&quot;: 42, # The int value.
-                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
-                        },
-                        &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
-                            # +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;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;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;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;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
-                    },
-                  ],
-                  &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;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;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;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;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;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;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;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;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;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
-                            #
-                            # Cloud Run for Anthos: supported
-                            #
-                            # The ConfigMap 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 ConfigMap must be defined
-                            # +optional
-                      },
-                      &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;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;, # Cloud Run fully managed: not supported
-                            #
-                            # Cloud Run for Anthos: supported
-                            #
-                            # The Secret to select from.
-                      },
-                      &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;image&quot;: &quot;A String&quot;, # Docker image name.
-                      # More info: https://kubernetes.io/docs/concepts/containers/images
-                  &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;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
@@ -5847,6 +5380,9 @@
                         # 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
@@ -5861,9 +5397,6 @@
                       &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container.
                           # +optional
                     },
-                    &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem.
-                        # Default is false.
-                        # +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
@@ -5877,8 +5410,6 @@
                       # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
                       # +optional
                       # determine whether it is alive or ready to receive traffic.
-                    &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;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
@@ -5889,6 +5420,21 @@
                         # 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
@@ -5904,8 +5450,8 @@
                         &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;value&quot;: &quot;A String&quot;, # The header field value
                             &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.
@@ -5916,9 +5462,9 @@
                             # JSON or YAML marshalling and unmarshalling, 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;strVal&quot;: &quot;A String&quot;, # The string 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.
@@ -5927,21 +5473,6 @@
                             # Defaults to HTTP.
                             # +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;type&quot;: 42, # The type of the value.
-                          &quot;intVal&quot;: 42, # The int value.
-                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
-                        },
-                        &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
-                            # +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
@@ -5949,20 +5480,13 @@
                     &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;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;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
                           #
@@ -5984,6 +5508,13 @@
                             # 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
@@ -6000,13 +5531,6 @@
                               # Cloud Run on GKE: supported
                               #
                               # The ConfigMap 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;secretKeyRef&quot;: { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
                             #
@@ -6018,13 +5542,6 @@
                             # Cloud Run on GKE: supported
                             #
                             # SecretKeySelector selects a key of a Secret.
-                          &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
@@ -6041,8 +5558,24 @@
                               # 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.
@@ -6092,8 +5625,6 @@
                       # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
                       # +optional
                       # determine whether it is alive or ready to receive traffic.
-                    &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;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
@@ -6104,6 +5635,21 @@
                         # 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
@@ -6119,8 +5665,8 @@
                         &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;value&quot;: &quot;A String&quot;, # The header field value
                             &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.
@@ -6131,9 +5677,9 @@
                             # JSON or YAML marshalling and unmarshalling, 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;strVal&quot;: &quot;A String&quot;, # The string 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.
@@ -6142,21 +5688,6 @@
                             # Defaults to HTTP.
                             # +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;type&quot;: 42, # The type of the value.
-                          &quot;intVal&quot;: 42, # The int value.
-                          &quot;strVal&quot;: &quot;A String&quot;, # The string value.
-                        },
-                        &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
-                            # +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
@@ -6164,6 +5695,8 @@
                     &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.
@@ -6172,8 +5705,315 @@
                       # 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.
@@ -6190,6 +6030,9 @@
                   # (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.
@@ -6199,309 +6042,6 @@
                   # and the arguments to supply to it.
                   # Note that additional arguments may be supplied by the system to the container
                   # at runtime.
-                &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;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;exec&quot;: { # ExecAction describes 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;value&quot;: &quot;A String&quot;, # The header field value
-                          &quot;name&quot;: &quot;A String&quot;, # The header field name
-                        },
-                      ],
-                      &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;type&quot;: 42, # The type of the value.
-                        &quot;intVal&quot;: 42, # The int value.
-                        &quot;strVal&quot;: &quot;A String&quot;, # The string 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;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;type&quot;: 42, # The type of the value.
-                        &quot;intVal&quot;: 42, # The int value.
-                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
-                      },
-                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
-                          # +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;exec&quot;: { # ExecAction describes 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;value&quot;: &quot;A String&quot;, # The header field value
-                          &quot;name&quot;: &quot;A String&quot;, # The header field name
-                        },
-                      ],
-                      &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;type&quot;: 42, # The type of the value.
-                        &quot;intVal&quot;: 42, # The int value.
-                        &quot;strVal&quot;: &quot;A String&quot;, # The string 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;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;type&quot;: 42, # The type of the value.
-                        &quot;intVal&quot;: 42, # The int value.
-                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
-                      },
-                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
-                          # +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;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;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;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;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
-                  },
-                ],
-                &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;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;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;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;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;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;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;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;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;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
-                          #
-                          # Cloud Run for Anthos: supported
-                          #
-                          # The ConfigMap 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 ConfigMap must be defined
-                          # +optional
-                    },
-                    &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;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;, # Cloud Run fully managed: not supported
-                          #
-                          # Cloud Run for Anthos: supported
-                          #
-                          # The Secret to select from.
-                    },
-                    &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;image&quot;: &quot;A String&quot;, # Docker image name.
-                    # More info: https://kubernetes.io/docs/concepts/containers/images
-                &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;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
@@ -6551,6 +6091,9 @@
                       # 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
@@ -6565,9 +6108,6 @@
                     &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container.
                         # +optional
                   },
-                  &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem.
-                      # Default is false.
-                      # +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
@@ -6581,8 +6121,6 @@
                     # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
                     # +optional
                     # determine whether it is alive or ready to receive traffic.
-                  &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;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
@@ -6593,6 +6131,21 @@
                       # 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
@@ -6608,8 +6161,8 @@
                       &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;value&quot;: &quot;A String&quot;, # The header field value
                           &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.
@@ -6620,9 +6173,9 @@
                           # JSON or YAML marshalling and unmarshalling, 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;strVal&quot;: &quot;A String&quot;, # The string 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.
@@ -6631,21 +6184,6 @@
                           # Defaults to HTTP.
                           # +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;type&quot;: 42, # The type of the value.
-                        &quot;intVal&quot;: 42, # The int value.
-                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
-                      },
-                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
-                          # +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
@@ -6653,20 +6191,13 @@
                   &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;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;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
                         #
@@ -6688,6 +6219,13 @@
                           # 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
@@ -6704,13 +6242,6 @@
                             # Cloud Run on GKE: supported
                             #
                             # The ConfigMap 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;secretKeyRef&quot;: { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
                           #
@@ -6722,13 +6253,6 @@
                           # Cloud Run on GKE: supported
                           #
                           # SecretKeySelector selects a key of a Secret.
-                        &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
@@ -6745,8 +6269,24 @@
                             # 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.
@@ -6796,8 +6336,6 @@
                     # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
                     # +optional
                     # determine whether it is alive or ready to receive traffic.
-                  &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;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
@@ -6808,6 +6346,21 @@
                       # 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
@@ -6823,8 +6376,8 @@
                       &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;value&quot;: &quot;A String&quot;, # The header field value
                           &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.
@@ -6835,9 +6388,9 @@
                           # JSON or YAML marshalling and unmarshalling, 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;strVal&quot;: &quot;A String&quot;, # The string 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.
@@ -6846,21 +6399,6 @@
                           # Defaults to HTTP.
                           # +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;type&quot;: 42, # The type of the value.
-                        &quot;intVal&quot;: 42, # The int value.
-                        &quot;strVal&quot;: &quot;A String&quot;, # The string value.
-                      },
-                      &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
-                          # +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
@@ -6868,6 +6406,8 @@
                   &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.
@@ -6876,16 +6416,317 @@
                     # 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;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for
-                  # responding to a request.
-                  # Not currently used by Cloud Run.
               &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
@@ -6898,7 +6739,6 @@
                         # 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;key&quot;: &quot;A String&quot;, # The key to project.
                         &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;.
@@ -6907,14 +6747,13 @@
                             # 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.
                   },
                   &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;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
                     &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
@@ -6927,7 +6766,6 @@
                         # 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;key&quot;: &quot;A String&quot;, # The key to project.
                         &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;.
@@ -6936,12 +6774,178 @@
                             # 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.
                   },
                 },
               ],
             },
+            &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes # Optional metadata for this Revision, including labels and annotations. Name
+                # will be generated by the Configuration.
+                # To set minimum instances for this revision, use the
+                # &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only).
+                # To set maximum instances for this revision, use the
+                # &quot;autoscaling.knative.dev/maxScale&quot; annotation key.
+                # To set Cloud SQL connections for the revision, use the
+                # &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be
+                # comma separated.
+                # 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;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See
               # metadata.generation instead, which is the sequence number containing the
@@ -6953,12 +6957,6 @@
         &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes # Metadata associated with this Configuration, including name, namespace,
             # labels, and annotations.
             # all objects users must create.
-          &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;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run.
               #
               # GenerateName is an optional prefix, used by the server, to generate a
@@ -6987,17 +6985,17 @@
               # 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;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;finalizers&quot;: [ # Not currently supported by Cloud Run.
               #
               # Must be empty before the object is deleted from the registry. Each entry
@@ -7037,11 +7035,6 @@
             { # 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;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;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.
@@ -7054,6 +7047,11 @@
                   # 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
@@ -7090,6 +7088,11 @@
               # 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.
@@ -7098,18 +7101,24 @@
               # Read-only.
               # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
               # +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;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;: { # ConfigurationStatus communicates the observed state of the Configuration # Status communicates the observed state of the Configuration (from the
             # controller).
             # (from the controller).
+          &quot;latestCreatedRevisionName&quot;: &quot;A String&quot;, # LatestCreatedRevisionName is the last revision that was created from this
+              # Configuration. It might not be ready yet, for that use
+              # LatestReadyRevisionName.
+          &quot;latestReadyRevisionName&quot;: &quot;A String&quot;, # LatestReadyRevisionName holds the name of the latest Revision stamped out
+              # from this Configuration that has had its &quot;Ready&quot; condition become &quot;True&quot;.
           &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.
@@ -7136,19 +7145,10 @@
               # Clients polling for completed reconciliation should poll until
               # observedGeneration = metadata.generation, and the Ready condition&#x27;s status
               # is True or False.
-          &quot;latestCreatedRevisionName&quot;: &quot;A String&quot;, # LatestCreatedRevisionName is the last revision that was created from this
-              # Configuration. It might not be ready yet, for that use
-              # LatestReadyRevisionName.
-          &quot;latestReadyRevisionName&quot;: &quot;A String&quot;, # LatestReadyRevisionName holds the name of the latest Revision stamped out
-              # from this Configuration that has had its &quot;Ready&quot; condition become &quot;True&quot;.
         },
       },
     ],
     &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;ConfigurationList&quot;.
-    &quot;unreachable&quot;: [ # Locations that could not be reached.
-      &quot;A String&quot;,
-    ],
   }</pre>
 </div>