Class: Google::Apis::ServiceconsumermanagementV1beta1::MetricRule

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

Overview

Bind API methods to metrics. Binding a method to a metric causes that metric's configured quota behaviors to apply to the method call.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ MetricRule

Returns a new instance of MetricRule.



1691
1692
1693
# File 'lib/google/apis/serviceconsumermanagement_v1beta1/classes.rb', line 1691

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

Instance Attribute Details

#dynamic_metric_costsHash<String,String>

Metrics to update when the selected methods are called. The key of the map is the metric name, the value is the DynamicCostType to specify how to calculate the cost from the request. The cost amount will be increased for the metric against which the quota limits are defined. It is only implemented in CloudESF( go/cloudesf) Corresponds to the JSON property dynamicMetricCosts

Returns:

  • (Hash<String,String>)


1675
1676
1677
# File 'lib/google/apis/serviceconsumermanagement_v1beta1/classes.rb', line 1675

def dynamic_metric_costs
  @dynamic_metric_costs
end

#metric_costsHash<String,Fixnum>

Metrics to update when the selected methods are called, and the associated cost applied to each metric. The key of the map is the metric name, and the values are the amount increased for the metric against which the quota limits are defined. The value must not be negative. Corresponds to the JSON property metricCosts

Returns:

  • (Hash<String,Fixnum>)


1683
1684
1685
# File 'lib/google/apis/serviceconsumermanagement_v1beta1/classes.rb', line 1683

def metric_costs
  @metric_costs
end

#selectorString

Selects the methods to which this rule applies. Refer to selector for syntax details. Corresponds to the JSON property selector

Returns:

  • (String)


1689
1690
1691
# File 'lib/google/apis/serviceconsumermanagement_v1beta1/classes.rb', line 1689

def selector
  @selector
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1696
1697
1698
1699
1700
# File 'lib/google/apis/serviceconsumermanagement_v1beta1/classes.rb', line 1696

def update!(**args)
  @dynamic_metric_costs = args[:dynamic_metric_costs] if args.key?(:dynamic_metric_costs)
  @metric_costs = args[:metric_costs] if args.key?(:metric_costs)
  @selector = args[:selector] if args.key?(:selector)
end