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

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

Overview

Represents information regarding a quota operation.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Core::JsonObjectSupport

#to_json

Methods included from Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ QuotaOperation

Returns a new instance of QuotaOperation



990
991
992
# File 'generated/google/apis/servicecontrol_v1/classes.rb', line 990

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)


976
977
978
# File 'generated/google/apis/servicecontrol_v1/classes.rb', line 976

def consumer_id
  @consumer_id
end

#labelsHash<String,String>

Labels describing the operation. Corresponds to the JSON property labels

Returns:

  • (Hash<String,String>)


967
968
969
# File 'generated/google/apis/servicecontrol_v1/classes.rb', line 967

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 is not required if the quota operation is performed on non-API resources. Example of an RPC method name: google.example.library.v1.LibraryService.CreateShelf Corresponds to the JSON property methodName

Returns:

  • (String)


949
950
951
# File 'generated/google/apis/servicecontrol_v1/classes.rb', line 949

def method_name
  @method_name
end

#operation_idString

Identity of the operation. This must be unique within the scope of the service that generated the operation. If the service calls AllocateQuota and ReleaseQuota on the same operation, the two calls should carry the same ID. UUID version 4 is recommended, though not required. In scenarios where an operation is computed from existing information and an idempotent id is desirable for deduplication purpose, UUID version 5 is recommended. See RFC 4122 for details. Corresponds to the JSON property operationId

Returns:

  • (String)


988
989
990
# File 'generated/google/apis/servicecontrol_v1/classes.rb', line 988

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. Corresponds to the JSON property quotaMetrics



962
963
964
# File 'generated/google/apis/servicecontrol_v1/classes.rb', line 962

def quota_metrics
  @quota_metrics
end

#quota_modeString

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

Returns:

  • (String)


939
940
941
# File 'generated/google/apis/servicecontrol_v1/classes.rb', line 939

def quota_mode
  @quota_mode
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



995
996
997
998
999
1000
1001
1002
# File 'generated/google/apis/servicecontrol_v1/classes.rb', line 995

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