Class: Google::Apis::ServiceconsumermanagementV1beta1::V1Beta1ProducerQuotaPolicy

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

Overview

Quota policy created by service producer.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ V1Beta1ProducerQuotaPolicy

Returns a new instance of V1Beta1ProducerQuotaPolicy.



3202
3203
3204
# File 'generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb', line 3202

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)


3154
3155
3156
# File 'generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb', line 3154

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, an policy on a limit with the unit 1/project/region could contain an entry with the key "region" and the value "us-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 brackets in the unit (besides project or user) is a defined key. * "project" is not a valid key; the project is already specified in the parent resource name. * " user" is not a valid key; the API does not support quota polcies that apply only to a specific user. * If "region" appears as a key, its value must be a valid Cloud region. * If "zone" appears as a key, its value must be a valid Cloud zone. * If any valid key other than "region" or "zone" appears in the map, then all valid keys other than "region" or "zone" must also appear in the map. Corresponds to the JSON property dimensions

Returns:

  • (Hash<String,String>)


3172
3173
3174
# File 'generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb', line 3172

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)


3178
3179
3180
# File 'generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb', line 3178

def metric
  @metric
end

#nameString

The resource name of the producer policy. An example name would be: services/ compute.googleapis.com/organizations/123/consumerQuotaMetrics/compute. googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/producerQuotaPolicies/ 4a3f2c1d Corresponds to the JSON property name

Returns:

  • (String)


3186
3187
3188
# File 'generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb', line 3186

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)


3192
3193
3194
# File 'generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb', line 3192

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)


3200
3201
3202
# File 'generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb', line 3200

def unit
  @unit
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



3207
3208
3209
3210
3211
3212
3213
3214
# File 'generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb', line 3207

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