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