Replaces a service. Only the spec and metadata labels and annotations are modifiable. After the Update request, Cloud Run will work to make the 'status' match the requested 'spec'. May provide metadata.resourceVersion to enforce update from last read for optimistic concurrency control.

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: run1 --scope <scope> projects locations-services-replace-service ...

Required Scalar Argument

  • <name> (string)
    • Required. The fully qualified name of the service to replace. It can be any of the following forms: * namespaces/{project_id_or_number}/services/{service_name} (only when the endpoint is regional) * projects/{project_id_or_number}/locations/{region}/services/{service_name} * projects/{project_id_or_number}/regions/{region}/services/{service_name}

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:

Service:
  api-version: string
  kind: string
  metadata:
    annotations: { string: string }
    cluster-name: string
    creation-timestamp: string
    deletion-grace-period-seconds: integer
    deletion-timestamp: string
    finalizers: [string]
    generate-name: string
    generation: integer
    labels: { string: string }
    name: string
    namespace: string
    resource-version: string
    self-link: string
    uid: string
  spec:
    template:
      metadata:
        annotations: { string: string }
        cluster-name: string
        creation-timestamp: string
        deletion-grace-period-seconds: integer
        deletion-timestamp: string
        finalizers: [string]
        generate-name: string
        generation: integer
        labels: { string: string }
        name: string
        namespace: string
        resource-version: string
        self-link: string
        uid: string
      spec:
        container-concurrency: integer
        enable-service-links: boolean
        service-account-name: string
        timeout-seconds: integer
  status:
    address:
      url: string
    latest-created-revision-name: string
    latest-ready-revision-name: string
    observed-generation: integer
    url: 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 . api-version=diam
    • The API version for this call. It must be "serving.knative.dev/v1".
  • kind=nonumy
    • The kind of resource. It must be "Service".
  • metadata annotations=key=et
    • Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with 'run.googleapis.com/' and 'autoscaling.knative.dev' are restricted, and the accepted annotations will be different depending on the resource type. * autoscaling.knative.dev/maxScale: Revision. * autoscaling.knative.dev/minScale: Revision. * run.googleapis.com/binary-authorization-breakglass: Service, Job, * run.googleapis.com/binary-authorization: Service, Job, Execution. * run.googleapis.com/client-name: All resources. * run.googleapis.com/cloudsql-instances: Revision, Execution. * run.googleapis.com/container-dependencies: Revision . * run.googleapis.com/cpu-throttling: Revision. * run.googleapis.com/custom-audiences: Service. * run.googleapis.com/default-url-disabled: Service. * run.googleapis.com/description: Service. * run.googleapis.com/encryption-key-shutdown-hours: Revision * run.googleapis.com/encryption-key: Revision, Execution. * run.googleapis.com/execution-environment: Revision, Execution. * run.googleapis.com/gc-traffic-tags: Service. * run.googleapis.com/ingress: Service. * run.googleapis.com/launch-stage: Service, Job. * run.googleapis.com/minScale: Service (ALPHA) * run.googleapis.com/network-interfaces: Revision, Execution. * run.googleapis.com/post-key-revocation-action-type: Revision. * run.googleapis.com/secrets: Revision, Execution. * run.googleapis.com/secure-session-agent: Revision. * run.googleapis.com/sessionAffinity: Revision. * run.googleapis.com/startup-cpu-boost: Revision. * run.googleapis.com/vpc-access-connector: Revision, Execution. * run.googleapis.com/vpc-access-egress: Revision, Execution.
    • the value will be associated with the given key
  • cluster-name=sanctus
    • Not supported by Cloud Run
  • creation-timestamp=accusam
    • UTC timestamp representing the server time when this object was created.
  • deletion-grace-period-seconds=62
    • Not supported by Cloud Run
  • deletion-timestamp=sed
    • The read-only soft deletion timestamp for this resource. In Cloud Run, users are not able to set this field. Instead, they must call the corresponding Delete API.
  • finalizers=est
    • Not supported by Cloud Run
    • Each invocation of this argument appends the given value to the array.
  • generate-name=takimata
    • Not supported by Cloud Run
  • generation=2
    • A system-provided sequence number representing a specific generation of the desired state.
  • labels=key=diam
    • Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes.
    • the value will be associated with the given key
  • name=at
    • Required. The name of the resource. Name is required when creating top-level resources (Service, Job), must be unique within a Cloud Run project/region, and cannot be changed once created.
  • namespace=erat
    • Required. Defines the space within each name must be unique within a Cloud Run region. In Cloud Run, it must be project ID or number.
  • resource-version=justo
    • Opaque, system-generated value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server or omit the value to disable conflict-detection.
  • self-link=ipsum
    • URL representing this object.
  • uid=accusam

    • Unique, system-generated identifier for this resource.
  • ..spec.template.metadata annotations=key=dolores

    • Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with 'run.googleapis.com/' and 'autoscaling.knative.dev' are restricted, and the accepted annotations will be different depending on the resource type. * autoscaling.knative.dev/maxScale: Revision. * autoscaling.knative.dev/minScale: Revision. * run.googleapis.com/binary-authorization-breakglass: Service, Job, * run.googleapis.com/binary-authorization: Service, Job, Execution. * run.googleapis.com/client-name: All resources. * run.googleapis.com/cloudsql-instances: Revision, Execution. * run.googleapis.com/container-dependencies: Revision . * run.googleapis.com/cpu-throttling: Revision. * run.googleapis.com/custom-audiences: Service. * run.googleapis.com/default-url-disabled: Service. * run.googleapis.com/description: Service. * run.googleapis.com/encryption-key-shutdown-hours: Revision * run.googleapis.com/encryption-key: Revision, Execution. * run.googleapis.com/execution-environment: Revision, Execution. * run.googleapis.com/gc-traffic-tags: Service. * run.googleapis.com/ingress: Service. * run.googleapis.com/launch-stage: Service, Job. * run.googleapis.com/minScale: Service (ALPHA) * run.googleapis.com/network-interfaces: Revision, Execution. * run.googleapis.com/post-key-revocation-action-type: Revision. * run.googleapis.com/secrets: Revision, Execution. * run.googleapis.com/secure-session-agent: Revision. * run.googleapis.com/sessionAffinity: Revision. * run.googleapis.com/startup-cpu-boost: Revision. * run.googleapis.com/vpc-access-connector: Revision, Execution. * run.googleapis.com/vpc-access-egress: Revision, Execution.
    • the value will be associated with the given key
  • cluster-name=consetetur
    • Not supported by Cloud Run
  • creation-timestamp=no
    • UTC timestamp representing the server time when this object was created.
  • deletion-grace-period-seconds=80
    • Not supported by Cloud Run
  • deletion-timestamp=sadipscing
    • The read-only soft deletion timestamp for this resource. In Cloud Run, users are not able to set this field. Instead, they must call the corresponding Delete API.
  • finalizers=diam
    • Not supported by Cloud Run
    • Each invocation of this argument appends the given value to the array.
  • generate-name=sea
    • Not supported by Cloud Run
  • generation=51
    • A system-provided sequence number representing a specific generation of the desired state.
  • labels=key=stet
    • Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes.
    • the value will be associated with the given key
  • name=gubergren
    • Required. The name of the resource. Name is required when creating top-level resources (Service, Job), must be unique within a Cloud Run project/region, and cannot be changed once created.
  • namespace=ipsum
    • Required. Defines the space within each name must be unique within a Cloud Run region. In Cloud Run, it must be project ID or number.
  • resource-version=no
    • Opaque, system-generated value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server or omit the value to disable conflict-detection.
  • self-link=sit
    • URL representing this object.
  • uid=kasd

    • Unique, system-generated identifier for this resource.
  • ..spec container-concurrency=54

    • ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. If not specified, defaults to 80.
  • enable-service-links=true
    • Not supported by Cloud Run.
  • service-account-name=justo
    • 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-seconds=13

    • TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Cloud Run: defaults to 300 seconds (5 minutes). Maximum allowed value is 3600 seconds (1 hour).
  • ....status.address url=sed

    • No description provided.
  • .. latest-created-revision-name=nonumy

    • Name of the last revision that was created from this Service's Configuration. It might not be ready yet, for that use LatestReadyRevisionName.
  • latest-ready-revision-name=sea
    • Name of the latest Revision from this Service's Configuration that has had its Ready condition become True.
  • observed-generation=1
    • Returns the generation last seen by the system. Clients polling for completed reconciliation should poll until observedGeneration = metadata.generation and the Ready condition's status is True or False.
  • url=kasd
    • URL that will distribute traffic over the provided traffic targets. It generally has the form https://{route-hash}-{project-hash}-{cluster-level-suffix}.a.run.app

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 dry-run=string
    • Indicates that the server should validate the request and populate default values without persisting the request. Supported values: all

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").