Updates a Service.

Scopes

You will need authorization for the https://www.googleapis.com/auth/cloud-platform scope to make a valid call.

If unset, the scope for this method defaults to https://www.googleapis.com/auth/cloud-platform. You can set the scope for this method like this: run2 --scope <scope> projects locations-services-patch ...

Required Scalar Argument

  • <name> (string)
    • The fully qualified name of this Service. In CreateServiceRequest, this field is ignored, and instead composed from CreateServiceRequest.parent and CreateServiceRequest.service_id. Format: projects/{project}/locations/{location}/services/{service_id}

Required Request Value

The request value is a data-structure with various fields. Each field may be a simple scalar or another data-structure. In the latter case it is advised to set the field-cursor to the data-structure's field to specify values more concisely.

For example, a structure like this:

GoogleCloudRunOpV2Service:
  annotations: { string: string }
  binary-authorization:
    breakglass-justification: string
    use-default: boolean
  client: string
  client-version: string
  create-time: string
  creator: string
  delete-time: string
  description: string
  etag: string
  expire-time: string
  generation: string
  ingress: string
  labels: { string: string }
  last-modifier: string
  latest-created-revision: string
  latest-ready-revision: string
  launch-stage: string
  name: string
  observed-generation: string
  reconciling: boolean
  template:
    annotations: { string: string }
    confidential: boolean
    container-concurrency: integer
    encryption-key: string
    execution-environment: string
    labels: { string: string }
    revision: string
    scaling:
      max-instance-count: integer
      min-instance-count: integer
    service-account: string
    timeout: string
    vpc-access:
      connector: string
      egress: string
  terminal-condition:
    domain-mapping-reason: string
    execution-reason: string
    internal-reason: string
    last-transition-time: string
    message: string
    reason: string
    revision-reason: string
    severity: string
    state: string
    type: string
  uid: string
  update-time: string
  uri: string

can be set completely with the following arguments which are assumed to be executed in the given order. Note how the cursor position is adjusted to the respective structures, allowing simple field names to be used most of the time.

  • -r . annotations=key=vero
    • Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Cloud Run will populate some annotations using 'run.googleapis.com' or 'serving.knative.dev' namespaces. This field follows Kubernetes annotations' namespacing, limits, and rules. More info: https://kubernetes.io/docs/user-guide/annotations
    • the value will be associated with the given key
  • binary-authorization breakglass-justification=erat
    • If present, indicates to use Breakglass using this justification. If use_default is False, then it must be empty. For more information on breakglass, see https://cloud.google.com/binary-authorization/docs/using-breakglass
  • use-default=false

    • If True, indicates to use the default project's binary authorization policy. If False, binary authorization will be disabled.
  • .. client=duo

    • Arbitrary identifier for the API client.
  • client-version=dolore
    • Arbitrary version identifier for the API client.
  • create-time=et
    • Output only. The creation time.
  • creator=voluptua.
    • Output only. Email address of the authenticated creator.
  • delete-time=amet.
    • Output only. The deletion time.
  • description=consetetur
    • User-provided description of the Service. This field currently has a 512-character limit.
  • etag=diam
    • Output only. A system-generated fingerprint for this version of the resource. May be used to detect modification conflict during updates.
  • expire-time=dolor
    • Output only. For a deleted resource, the time after which it will be permamently deleted.
  • generation=et
    • Output only. A number that monotonically increases every time the user modifies the desired state.
  • ingress=et
    • Provides the ingress settings for this Service. On output, returns the currently observed ingress settings, or INGRESS_TRAFFIC_UNSPECIFIED if no revision is active.
  • labels=key=sadipscing
    • Map of string keys and values that can be used to organize and categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment, state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or https://cloud.google.com/run/docs/configuring/labels Cloud Run will populate some labels with 'run.googleapis.com' or 'serving.knative.dev' namespaces. Those labels are read-only, and user changes will not be preserved.
    • the value will be associated with the given key
  • last-modifier=stet
    • Output only. Email address of the last authenticated modifier.
  • latest-created-revision=dolor
    • Output only. Name of the last created revision. See comments in reconciling for additional information on reconciliation process in Cloud Run.
  • latest-ready-revision=duo
    • Output only. Name of the latest revision that is serving traffic. See comments in reconciling for additional information on reconciliation process in Cloud Run.
  • launch-stage=vero
  • name=vero
    • The fully qualified name of this Service. In CreateServiceRequest, this field is ignored, and instead composed from CreateServiceRequest.parent and CreateServiceRequest.service_id. Format: projects/{project}/locations/{location}/services/{service_id}
  • observed-generation=invidunt
    • Output only. The generation of this Service currently serving traffic. See comments in reconciling for additional information on reconciliation process in Cloud Run.
  • reconciling=true
    • Output only. Returns true if the Service is currently being acted upon by the system to bring it into the desired state. When a new Service is created, or an existing one is updated, Cloud Run will asynchronously perform all necessary steps to bring the Service to the desired serving state. This process is called reconciliation. While reconciliation is in process, observed_generation, latest_ready_revison, traffic_statuses, and uri will have transient values that might mismatch the intended state: Once reconciliation is over (and this field is false), there are two possible outcomes: reconciliation succeeded and the serving state matches the Service, or there was an error, and reconciliation failed. This state can be found in terminal_condition.state. If reconciliation succeeded, the following fields will match: traffic and traffic_statuses, observed_generation and generation, latest_ready_revision and latest_created_revision. If reconciliation failed, traffic_statuses, observed_generation, and latest_ready_revision will have the state of the last serving revision, or empty for newly created Services. Additional information on the failure can be found in terminal_condition and conditions.
  • template annotations=key=vero
    • KRM-style annotations for the resource.
    • the value will be associated with the given key
  • confidential=true
    • Enables Confidential Cloud Run in Revisions created using this template.
  • container-concurrency=95
    • Sets the maximum number of requests that each serving instance can receive.
  • encryption-key=diam
    • A reference to a customer managed encryption key (CMEK) to use to encrypt this container image. For more information, go to https://cloud.google.com/run/docs/securing/using-cmek
  • execution-environment=no
    • The sandbox environment to host this Revision.
  • labels=key=ipsum
    • KRM-style labels for the resource.
    • the value will be associated with the given key
  • revision=accusam
    • The unique name for the revision. If this field is omitted, it will be automatically generated based on the Service name.
  • scaling max-instance-count=42
    • Maximum number of serving instances that this resource should have.
  • min-instance-count=55

    • Minimum number of serving instances that this resource should have.
  • .. service-account=voluptua.

    • Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project's default service account.
  • timeout=et
    • Max allowed time for an instance to respond to a request.
  • vpc-access connector=erat
    • VPC Access connector name. Format: projects/{project}/locations/{location}/connectors/{connector}
  • egress=consetetur

    • Traffic VPC egress settings.
  • ...terminal-condition domain-mapping-reason=amet.

    • A reason for the domain mapping condition.
  • execution-reason=sed
    • A reason for the execution condition.
  • internal-reason=takimata
    • A reason for the internal condition.
  • last-transition-time=dolores
    • Last time the condition transitioned from one status to another.
  • message=gubergren
    • Human readable message indicating details about the current status.
  • reason=et
    • A common (service-level) reason for this condition.
  • revision-reason=accusam
    • A reason for the revision condition.
  • severity=voluptua.
    • How to interpret failures of this condition, one of Error, Warning, Info
  • state=dolore
    • State of the condition.
  • type=dolore

    • type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * "Ready": True when the Resource is ready.
  • .. uid=dolore

    • Output only. Server assigned unique identifier for the trigger. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted.
  • update-time=voluptua.
    • Output only. The last-modified time.
  • uri=amet.
    • Output only. The main URI in which this Service is serving traffic.

About Cursors

The cursor position is key to comfortably set complex nested structures. The following rules apply:

  • The cursor position is always set relative to the current one, unless the field name starts with the . character. Fields can be nested such as in -r f.s.o .
  • The cursor position is set relative to the top-level structure if it starts with ., e.g. -r .s.s
  • You can also set nested fields without setting the cursor explicitly. For example, to set a value relative to the current cursor position, you would specify -r struct.sub_struct=bar.
  • You can move the cursor one level up by using ... Each additional . moves it up one additional level. E.g. ... would go three levels up.

Optional Output Flags

The method's return value a JSON encoded structure, which will be written to standard output by default.

  • -o out
    • out specifies the destination to which to write the server's result to. It will be a JSON-encoded structure. The destination may be - to indicate standard output, or a filepath that is to contain the received bytes. If unset, it defaults to standard output.

Optional Method Properties

You may set the following properties to further configure the call. Please note that -p is followed by one or more key-value-pairs, and is called like this -p k1=v1 k2=v2 even though the listing below repeats the -p for completeness.

  • -p allow-missing=boolean

    • If set to true, and if the Service does not exist, it will create a new one. Caller must have both create and update permissions for this call if this is set to true.
  • -p update-mask=string

    • The list of fields to be updated.
  • -p validate-only=boolean

    • Indicates that the request should be validated and default values populated, without persisting the request or updating any resources.

Optional General Properties

The following properties can configure any call, and are not specific to this method.

  • -p $-xgafv=string

    • V1 error format.
  • -p access-token=string

    • OAuth access token.
  • -p alt=string

    • Data format for response.
  • -p callback=string

    • JSONP
  • -p fields=string

    • Selector specifying which fields to include in a partial response.
  • -p key=string

    • API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
  • -p oauth-token=string

    • OAuth 2.0 token for the current user.
  • -p pretty-print=boolean

    • Returns response with indentations and line breaks.
  • -p quota-user=string

    • Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
  • -p upload-type=string

    • Legacy upload protocol for media (e.g. "media", "multipart").
  • -p upload-protocol=string

    • Upload protocol for media (e.g. "raw", "multipart").