Class: Google::Apis::ServiceusageV1beta1::ProducerQuotaPolicy

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

Overview

Quota policy created by service producer.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ ProducerQuotaPolicy

Returns a new instance of ProducerQuotaPolicy.



4633
4634
4635
# File 'lib/google/apis/serviceusage_v1beta1/classes.rb', line 4633

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

Instance Attribute Details

#containerString

The cloud resource container at which the quota policy is created. The format is container_type`/`container_number Corresponds to the JSON property container

Returns:

  • (String)


4585
4586
4587
# File 'lib/google/apis/serviceusage_v1beta1/classes.rb', line 4585

def container
  @container
end

#dimensionsHash<String,String>

If this map is nonempty, then this policy applies only to specific values for dimensions defined in the limit unit. For example, a policy on a limit with the unit 1/project/region`could contain an entry with the keyregion and the valueus-east-1; the policy 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 bracketsin the unit (besidesprojectoruser) is a defined key. * projectis not a valid key; the project is already specified in the parent resource name. *useris not a valid key; the API does not support quota policies that apply only to a specific user. * Ifregionappears as a key, its value must be a valid Cloud region. * Ifzoneappears as a key, its value must be a valid Cloud zone. * If any valid key other thanregionor zoneappears in the map, then all valid keys other thanregionorzone must also appear in the map. Corresponds to the JSON propertydimensions`

Returns:

  • (Hash<String,String>)


4603
4604
4605
# File 'lib/google/apis/serviceusage_v1beta1/classes.rb', line 4603

def dimensions
  @dimensions
end

#metricString

The name of the metric to which this policy applies. An example name would be: compute.googleapis.com/cpus Corresponds to the JSON property metric

Returns:

  • (String)


4609
4610
4611
# File 'lib/google/apis/serviceusage_v1beta1/classes.rb', line 4609

def metric
  @metric
end

#nameString

The resource name of the policy. This name is generated by the server when the policy is created. Example names would be: organizations/123/services/compute. googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/% 2Fproject%2Fregion/producerQuotaPolicies/4a3f2c1d Corresponds to the JSON property name

Returns:

  • (String)


4617
4618
4619
# File 'lib/google/apis/serviceusage_v1beta1/classes.rb', line 4617

def name
  @name
end

#policy_valueFixnum

The quota policy value. Can be any nonnegative integer, or -1 (unlimited quota) . Corresponds to the JSON property policyValue

Returns:

  • (Fixnum)


4623
4624
4625
# File 'lib/google/apis/serviceusage_v1beta1/classes.rb', line 4623

def policy_value
  @policy_value
end

#unitString

The limit unit of the limit to which this policy applies. An example unit would be: 1/project/regionNote thatprojectandregionare not placeholders in this example; the literal charactersand`occur in the string. Corresponds to the JSON propertyunit`

Returns:

  • (String)


4631
4632
4633
# File 'lib/google/apis/serviceusage_v1beta1/classes.rb', line 4631

def unit
  @unit
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



4638
4639
4640
4641
4642
4643
4644
4645
# File 'lib/google/apis/serviceusage_v1beta1/classes.rb', line 4638

def update!(**args)
  @container = args[:container] if args.key?(:container)
  @dimensions = args[:dimensions] if args.key?(:dimensions)
  @metric = args[:metric] if args.key?(:metric)
  @name = args[:name] if args.key?(:name)
  @policy_value = args[:policy_value] if args.key?(:policy_value)
  @unit = args[:unit] if args.key?(:unit)
end