# Service Consumer Management API . services . consumerQuotaMetrics . limits . producerOverrides

## Instance Methods

Creates a producer override.

Deletes a producer override.

Lists all producer overrides on this limit.

Retrieves the next page of results.

Updates a producer override.

### Method Details

`create(parent, body=None, force=None, x__xgafv=None)`

    Creates a producer override.
    A producer override is applied by the owner or administrator of a service
    to increase or decrease the amount of quota a consumer of the service is
    allowed to use.
    To create multiple overrides at once, use ImportProducerOverrides instead.
    If an override with the specified dimensions already exists, this call will
    fail. To overwrite an existing override if one is already present ("upsert"
    semantics), use ImportProducerOverrides instead.

    Args:
      parent: string, The resource name of the parent quota limit, returned by a
    ListConsumerQuotaMetrics or GetConsumerQuotaMetric call.

    An example name would be:
    `services/compute.googleapis.com/projects/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion` (required)
      body: object, The request body.
        The object takes the form of:

    { # A quota override
      "adminOverrideAncestor": "A String", # The resource name of the ancestor that requested the override. For example:
          # "organizations/12345" or "folders/67890".
          # Used by admin overrides only.
      "dimensions": { #
          # If this map is nonempty, then this override applies only to specific values
          # for dimensions defined in the limit unit.
          #
          # For example, an override on a limit with the unit 1/{project}/{region}
          # could contain an entry with the key "region" and the value "us-east-1";
          # the override is only applied to quota consumed in that region.
          #
          # This map has the following restrictions:
          #
          # *   Keys that are not defined in the limit's unit are not valid keys.
          #     Any string appearing in {brackets} in the unit (besides {project} or
          #     {user}) is a defined key.
          # *   "project" is not a valid key; the project is already specified in
          #     the parent resource name.
          # *   "user" is not a valid key; the API does not support quota overrides
          #     that apply only to a specific user.
          # *   If "region" appears as a key, its value must be a valid Cloud region.
          # *   If "zone" appears as a key, its value must be a valid Cloud zone.
          # *   If any valid key other than "region" or "zone" appears in the map, then
          #     all valid keys other than "region" or "zone" must also appear in the
          #     map.
        "a_key": "A String",
      },
      "overrideValue": "A String", # The overriding quota limit value.
          # Can be any nonnegative integer, or -1 (unlimited quota).
      "metric": "A String", # The name of the metric to which this override applies.
          #
          # An example name would be:
          # `compute.googleapis.com/cpus`
      "unit": "A String", # The limit unit of the limit to which this override applies.
          #
          # An example unit would be:
          # `1/{project}/{region}`
          # Note that `{project}` and `{region}` are not placeholders in this example;
          # the literal characters `{` and `}` occur in the string.
      "name": "A String", # The resource name of the producer override.
          # An example name would be:
          # `services/compute.googleapis.com/projects/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/producerOverrides/4a3f2c1d`
    }

      force: boolean, Whether to force the creation of the quota override.
    If creating an override would cause the effective quota for the consumer to
    decrease by more than 10 percent, the call is rejected, as a safety measure
    to avoid accidentally decreasing quota too quickly. Setting the force
    parameter to true ignores this restriction.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # This resource represents a long-running operation that is the result of a
          # network API call.
        "response": { # The normal response of the operation in case of success.  If the original
            # method returns no data on success, such as `Delete`, the response is
            # `google.protobuf.Empty`.  If the original method is standard
            # `Get`/`Create`/`Update`, the response should be the resource.  For other
            # methods, the response should have the type `XxxResponse`, where `Xxx`
            # is the original method name.  For example, if the original method name
            # is `TakeSnapshot()`, the inferred response type is
            # `TakeSnapshotResponse`.
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
        "done": True or False, # If the value is `false`, it means the operation is still in progress.
            # If `true`, the operation is completed, and either `error` or `response` is
            # available.
        "name": "A String", # The server-assigned name, which is only unique within the same service that
            # originally returns it. If you use the default HTTP mapping, the
            # `name` should be a resource name ending with `operations/{unique_id}`.
        "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
            # different programming environments, including REST APIs and RPC APIs. It is
            # used by [gRPC](https://github.com/grpc). Each `Status` message contains
            # three pieces of data: error code, error message, and error details.
            #
            # You can find out more about this error model and how to work with it in the
            # [API Design Guide](https://cloud.google.com/apis/design/errors).
          "message": "A String", # A developer-facing error message, which should be in English. Any
              # user-facing error message should be localized and sent in the
              # google.rpc.Status.details field, or localized by the client.
          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
          "details": [ # A list of messages that carry the error details.  There is a common set of
              # message types for APIs to use.
            {
              "a_key": "", # Properties of the object. Contains field @type with type URL.
            },
          ],
        },
        "metadata": { # Service-specific metadata associated with the operation.  It typically
            # contains progress information and common metadata such as create time.
            # Some services might not provide such metadata.  Any method that returns a
            # long-running operation should document the metadata type, if any.
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
      }

`delete(name, force=None, x__xgafv=None)`

    Deletes a producer override.

    Args:
      name: string, The resource name of the override to delete.

    An example name would be:
    `services/compute.googleapis.com/projects/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/producerOverrides/4a3f2c1d` (required)
      force: boolean, Whether to force the deletion of the quota override.
    If deleting an override would cause the effective quota for the consumer to
    decrease by more than 10 percent, the call is rejected, as a safety measure
    to avoid accidentally decreasing quota too quickly. Setting the force
    parameter to true ignores this restriction.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # This resource represents a long-running operation that is the result of a
          # network API call.
        "response": { # The normal response of the operation in case of success.  If the original
            # method returns no data on success, such as `Delete`, the response is
            # `google.protobuf.Empty`.  If the original method is standard
            # `Get`/`Create`/`Update`, the response should be the resource.  For other
            # methods, the response should have the type `XxxResponse`, where `Xxx`
            # is the original method name.  For example, if the original method name
            # is `TakeSnapshot()`, the inferred response type is
            # `TakeSnapshotResponse`.
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
        "done": True or False, # If the value is `false`, it means the operation is still in progress.
            # If `true`, the operation is completed, and either `error` or `response` is
            # available.
        "name": "A String", # The server-assigned name, which is only unique within the same service that
            # originally returns it. If you use the default HTTP mapping, the
            # `name` should be a resource name ending with `operations/{unique_id}`.
        "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
            # different programming environments, including REST APIs and RPC APIs. It is
            # used by [gRPC](https://github.com/grpc). Each `Status` message contains
            # three pieces of data: error code, error message, and error details.
            #
            # You can find out more about this error model and how to work with it in the
            # [API Design Guide](https://cloud.google.com/apis/design/errors).
          "message": "A String", # A developer-facing error message, which should be in English. Any
              # user-facing error message should be localized and sent in the
              # google.rpc.Status.details field, or localized by the client.
          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
          "details": [ # A list of messages that carry the error details.  There is a common set of
              # message types for APIs to use.
            {
              "a_key": "", # Properties of the object. Contains field @type with type URL.
            },
          ],
        },
        "metadata": { # Service-specific metadata associated with the operation.  It typically
            # contains progress information and common metadata such as create time.
            # Some services might not provide such metadata.  Any method that returns a
            # long-running operation should document the metadata type, if any.
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
      }

`list(parent, pageToken=None, pageSize=None, x__xgafv=None)`

    Lists all producer overrides on this limit.

    Args:
      parent: string, The resource name of the parent quota limit, returned by a
    ListConsumerQuotaMetrics or GetConsumerQuotaMetric call.

    An example name would be:
    `services/compute.googleapis.com/projects/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion` (required)
      pageToken: string, Token identifying which result to start with; returned by a previous list
    call.
      pageSize: integer, Requested size of the next page of data.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Response message for ListProducerOverrides.
        "nextPageToken": "A String", # Token identifying which result to start with; returned by a previous list
            # call.
        "overrides": [ # Producer overrides on this limit.
          { # A quota override
            "adminOverrideAncestor": "A String", # The resource name of the ancestor that requested the override. For example:
                # "organizations/12345" or "folders/67890".
                # Used by admin overrides only.
            "dimensions": { #
                # If this map is nonempty, then this override applies only to specific values
                # for dimensions defined in the limit unit.
                #
                # For example, an override on a limit with the unit 1/{project}/{region}
                # could contain an entry with the key "region" and the value "us-east-1";
                # the override is only applied to quota consumed in that region.
                #
                # This map has the following restrictions:
                #
                # *   Keys that are not defined in the limit's unit are not valid keys.
                #     Any string appearing in {brackets} in the unit (besides {project} or
                #     {user}) is a defined key.
                # *   "project" is not a valid key; the project is already specified in
                #     the parent resource name.
                # *   "user" is not a valid key; the API does not support quota overrides
                #     that apply only to a specific user.
                # *   If "region" appears as a key, its value must be a valid Cloud region.
                # *   If "zone" appears as a key, its value must be a valid Cloud zone.
                # *   If any valid key other than "region" or "zone" appears in the map, then
                #     all valid keys other than "region" or "zone" must also appear in the
                #     map.
              "a_key": "A String",
            },
            "overrideValue": "A String", # The overriding quota limit value.
                # Can be any nonnegative integer, or -1 (unlimited quota).
            "metric": "A String", # The name of the metric to which this override applies.
                #
                # An example name would be:
                # `compute.googleapis.com/cpus`
            "unit": "A String", # The limit unit of the limit to which this override applies.
                #
                # An example unit would be:
                # `1/{project}/{region}`
                # Note that `{project}` and `{region}` are not placeholders in this example;
                # the literal characters `{` and `}` occur in the string.
            "name": "A String", # The resource name of the producer override.
                # An example name would be:
                # `services/compute.googleapis.com/projects/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/producerOverrides/4a3f2c1d`
          },
        ],
      }

`list_next(previous_request, previous_response)`

    Retrieves the next page of results.

    Args:
      previous_request: The request for the previous page. (required)
      previous_response: The response from the request for the previous page. (required)

    Returns:
      A request object that you can call 'execute()' on to request the next
      page. Returns None if there are no more items in the collection.

`patch(name, body=None, force=None, updateMask=None, x__xgafv=None)`

    Updates a producer override.

    Args:
      name: string, The resource name of the override to update.

    An example name would be:
    `services/compute.googleapis.com/projects/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/producerOverrides/4a3f2c1d` (required)
      body: object, The request body.
        The object takes the form of:

    { # A quota override
      "adminOverrideAncestor": "A String", # The resource name of the ancestor that requested the override. For example:
          # "organizations/12345" or "folders/67890".
          # Used by admin overrides only.
      "dimensions": { #
          # If this map is nonempty, then this override applies only to specific values
          # for dimensions defined in the limit unit.
          #
          # For example, an override on a limit with the unit 1/{project}/{region}
          # could contain an entry with the key "region" and the value "us-east-1";
          # the override is only applied to quota consumed in that region.
          #
          # This map has the following restrictions:
          #
          # *   Keys that are not defined in the limit's unit are not valid keys.
          #     Any string appearing in {brackets} in the unit (besides {project} or
          #     {user}) is a defined key.
          # *   "project" is not a valid key; the project is already specified in
          #     the parent resource name.
          # *   "user" is not a valid key; the API does not support quota overrides
          #     that apply only to a specific user.
          # *   If "region" appears as a key, its value must be a valid Cloud region.
          # *   If "zone" appears as a key, its value must be a valid Cloud zone.
          # *   If any valid key other than "region" or "zone" appears in the map, then
          #     all valid keys other than "region" or "zone" must also appear in the
          #     map.
        "a_key": "A String",
      },
      "overrideValue": "A String", # The overriding quota limit value.
          # Can be any nonnegative integer, or -1 (unlimited quota).
      "metric": "A String", # The name of the metric to which this override applies.
          #
          # An example name would be:
          # `compute.googleapis.com/cpus`
      "unit": "A String", # The limit unit of the limit to which this override applies.
          #
          # An example unit would be:
          # `1/{project}/{region}`
          # Note that `{project}` and `{region}` are not placeholders in this example;
          # the literal characters `{` and `}` occur in the string.
      "name": "A String", # The resource name of the producer override.
          # An example name would be:
          # `services/compute.googleapis.com/projects/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/producerOverrides/4a3f2c1d`
    }

      force: boolean, Whether to force the update of the quota override.
    If updating an override would cause the effective quota for the consumer to
    decrease by more than 10 percent, the call is rejected, as a safety measure
    to avoid accidentally decreasing quota too quickly. Setting the force
    parameter to true ignores this restriction.
      updateMask: string, Update only the specified fields. If unset, all modifiable fields will be
    updated.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # This resource represents a long-running operation that is the result of a
          # network API call.
        "response": { # The normal response of the operation in case of success.  If the original
            # method returns no data on success, such as `Delete`, the response is
            # `google.protobuf.Empty`.  If the original method is standard
            # `Get`/`Create`/`Update`, the response should be the resource.  For other
            # methods, the response should have the type `XxxResponse`, where `Xxx`
            # is the original method name.  For example, if the original method name
            # is `TakeSnapshot()`, the inferred response type is
            # `TakeSnapshotResponse`.
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
        "done": True or False, # If the value is `false`, it means the operation is still in progress.
            # If `true`, the operation is completed, and either `error` or `response` is
            # available.
        "name": "A String", # The server-assigned name, which is only unique within the same service that
            # originally returns it. If you use the default HTTP mapping, the
            # `name` should be a resource name ending with `operations/{unique_id}`.
        "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
            # different programming environments, including REST APIs and RPC APIs. It is
            # used by [gRPC](https://github.com/grpc). Each `Status` message contains
            # three pieces of data: error code, error message, and error details.
            #
            # You can find out more about this error model and how to work with it in the
            # [API Design Guide](https://cloud.google.com/apis/design/errors).
          "message": "A String", # A developer-facing error message, which should be in English. Any
              # user-facing error message should be localized and sent in the
              # google.rpc.Status.details field, or localized by the client.
          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
          "details": [ # A list of messages that carry the error details.  There is a common set of
              # message types for APIs to use.
            {
              "a_key": "", # Properties of the object. Contains field @type with type URL.
            },
          ],
        },
        "metadata": { # Service-specific metadata associated with the operation.  It typically
            # contains progress information and common metadata such as create time.
            # Some services might not provide such metadata.  Any method that returns a
            # long-running operation should document the metadata type, if any.
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
      }