Class: Google::Apis::ServicecontrolV1::QuotaOperation
- Inherits:
-
Object
- Object
- Google::Apis::ServicecontrolV1::QuotaOperation
- 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
-
#consumer_id ⇒ String
Identity of the consumer for whom this quota operation is being performed.
-
#labels ⇒ Hash<String,String>
Labels describing the operation.
-
#method_name ⇒ String
Fully qualified name of the API method for which this quota operation is requested.
-
#operation_id ⇒ String
Identity of the operation.
-
#quota_metrics ⇒ Array<Google::Apis::ServicecontrolV1::MetricValueSet>
Represents information about this operation.
-
#quota_mode ⇒ String
Quota mode for this operation.
Instance Method Summary collapse
-
#initialize(**args) ⇒ QuotaOperation
constructor
A new instance of QuotaOperation.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ QuotaOperation
Returns a new instance of QuotaOperation.
1868 1869 1870 |
# File 'lib/google/apis/servicecontrol_v1/classes.rb', line 1868 def initialize(**args) update!(**args) end |
Instance Attribute Details
#consumer_id ⇒ String
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
1822 1823 1824 |
# File 'lib/google/apis/servicecontrol_v1/classes.rb', line 1822 def consumer_id @consumer_id end |
#labels ⇒ Hash<String,String>
Labels describing the operation.
Corresponds to the JSON property labels
1827 1828 1829 |
# File 'lib/google/apis/servicecontrol_v1/classes.rb', line 1827 def labels @labels end |
#method_name ⇒ String
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
1838 1839 1840 |
# File 'lib/google/apis/servicecontrol_v1/classes.rb', line 1838 def method_name @method_name end |
#operation_id ⇒ String
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
1849 1850 1851 |
# File 'lib/google/apis/servicecontrol_v1/classes.rb', line 1849 def operation_id @operation_id end |
#quota_metrics ⇒ Array<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
1861 1862 1863 |
# File 'lib/google/apis/servicecontrol_v1/classes.rb', line 1861 def quota_metrics @quota_metrics end |
#quota_mode ⇒ String
Quota mode for this operation.
Corresponds to the JSON property quotaMode
1866 1867 1868 |
# File 'lib/google/apis/servicecontrol_v1/classes.rb', line 1866 def quota_mode @quota_mode end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
1873 1874 1875 1876 1877 1878 1879 1880 |
# File 'lib/google/apis/servicecontrol_v1/classes.rb', line 1873 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 |