Class: Google::Apis::ServicecontrolV1::QuotaOperation

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/servicecontrol_v1/classes.rb,
lib/google/apis/servicecontrol_v1/representations.rb,
lib/google/apis/servicecontrol_v1/representations.rb

Overview

Represents information regarding a quota operation.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ QuotaOperation

Returns a new instance of QuotaOperation.



1953
1954
1955
# File 'lib/google/apis/servicecontrol_v1/classes.rb', line 1953

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#consumer_idString

Identity of the consumer for whom this quota operation is being performed. This can be in one of the following formats: project:, project_number:, api_key:. Corresponds to the JSON property consumerId

Returns:

  • (String)


1907
1908
1909
# File 'lib/google/apis/servicecontrol_v1/classes.rb', line 1907

def consumer_id
  @consumer_id
end

#labelsHash<String,String>

Labels describing the operation. Corresponds to the JSON property labels

Returns:

  • (Hash<String,String>)


1912
1913
1914
# File 'lib/google/apis/servicecontrol_v1/classes.rb', line 1912

def labels
  @labels
end

#method_nameString

Fully qualified name of the API method for which this quota operation is requested. This name is used for matching quota rules or metric rules and billing status rules defined in service configuration. This field should not be set if any of the following is true: (1) the quota operation is performed on non-API resources. (2) quota_metrics is set because the caller is doing quota override. Example of an RPC method name: google.example.library.v1. LibraryService.CreateShelf Corresponds to the JSON property methodName

Returns:

  • (String)


1923
1924
1925
# File 'lib/google/apis/servicecontrol_v1/classes.rb', line 1923

def method_name
  @method_name
end

#operation_idString

Identity of the operation. For Allocation Quota, this is expected to be unique within the scope of the service that generated the operation, and guarantees idempotency in case of retries. In order to ensure best performance and latency in the Quota backends, operation_ids are optimally associated with time, so that related operations can be accessed fast in storage. For this reason, the recommended token for services that intend to operate at a high QPS is Unix time in nanos + UUID Corresponds to the JSON property operationId

Returns:

  • (String)


1934
1935
1936
# File 'lib/google/apis/servicecontrol_v1/classes.rb', line 1934

def operation_id
  @operation_id
end

#quota_metricsArray<Google::Apis::ServicecontrolV1::MetricValueSet>

Represents information about this operation. Each MetricValueSet corresponds to a metric defined in the service configuration. The data type used in the MetricValueSet must agree with the data type specified in the metric definition. Within a single operation, it is not allowed to have more than one MetricValue instances that have the same metric names and identical label value combinations. If a request has such duplicated MetricValue instances, the entire request is rejected with an invalid argument error. This field is mutually exclusive with method_name. Corresponds to the JSON property quotaMetrics



1946
1947
1948
# File 'lib/google/apis/servicecontrol_v1/classes.rb', line 1946

def quota_metrics
  @quota_metrics
end

#quota_modeString

Quota mode for this operation. Corresponds to the JSON property quotaMode

Returns:

  • (String)


1951
1952
1953
# File 'lib/google/apis/servicecontrol_v1/classes.rb', line 1951

def quota_mode
  @quota_mode
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1958
1959
1960
1961
1962
1963
1964
1965
# File 'lib/google/apis/servicecontrol_v1/classes.rb', line 1958

def update!(**args)
  @consumer_id = args[:consumer_id] if args.key?(:consumer_id)
  @labels = args[:labels] if args.key?(:labels)
  @method_name = args[:method_name] if args.key?(:method_name)
  @operation_id = args[:operation_id] if args.key?(:operation_id)
  @quota_metrics = args[:quota_metrics] if args.key?(:quota_metrics)
  @quota_mode = args[:quota_mode] if args.key?(:quota_mode)
end