Class: ApiReference::GroupedWithMeteredMinimumConfig
- Inherits:
-
BaseModel
- Object
- CoreLibrary::BaseModel
- BaseModel
- ApiReference::GroupedWithMeteredMinimumConfig
- Defined in:
- lib/api_reference/models/grouped_with_metered_minimum_config.rb
Overview
Configuration for grouped with metered minimum pricing
Instance Attribute Summary collapse
-
#grouping_key ⇒ String
Used to partition the usage into groups.
-
#minimum_unit_amount ⇒ String
The minimum amount to charge per group per unit.
-
#pricing_key ⇒ String
Used to determine the unit rate.
-
#scaling_factors ⇒ Array[GroupedWithMeteredMinimumScalingFactorItem]
Scale the unit rates by the scaling factor.
-
#scaling_key ⇒ String
Used to determine the unit rate scaling factor.
-
#unit_amounts ⇒ Array[GroupedWithMeteredMinimumUnitAmountItem]
Apply per unit pricing to each pricing value.
Class Method Summary collapse
-
.from_hash(hash) ⇒ Object
Creates an instance of the object from a hash.
-
.names ⇒ Object
A mapping from model property names to API property names.
-
.nullables ⇒ Object
An array for nullable fields.
-
.optionals ⇒ Object
An array for optional fields.
Instance Method Summary collapse
-
#initialize(grouping_key:, pricing_key:, scaling_key:, scaling_factors:, unit_amounts:, minimum_unit_amount:) ⇒ GroupedWithMeteredMinimumConfig
constructor
A new instance of GroupedWithMeteredMinimumConfig.
-
#inspect ⇒ Object
Provides a debugging-friendly string with detailed object information.
-
#to_s ⇒ Object
Provides a human-readable string representation of the object.
Methods inherited from BaseModel
#check_for_conflict, #process_additional_properties, #process_array, #process_basic_value, #process_hash, #to_hash, #to_json
Constructor Details
#initialize(grouping_key:, pricing_key:, scaling_key:, scaling_factors:, unit_amounts:, minimum_unit_amount:) ⇒ GroupedWithMeteredMinimumConfig
Returns a new instance of GroupedWithMeteredMinimumConfig.
60 61 62 63 64 65 66 67 68 |
# File 'lib/api_reference/models/grouped_with_metered_minimum_config.rb', line 60 def initialize(grouping_key:, pricing_key:, scaling_key:, scaling_factors:, unit_amounts:, minimum_unit_amount:) @grouping_key = grouping_key @pricing_key = pricing_key @scaling_key = scaling_key @scaling_factors = scaling_factors @unit_amounts = unit_amounts @minimum_unit_amount = minimum_unit_amount end |
Instance Attribute Details
#grouping_key ⇒ String
Used to partition the usage into groups. The minimum amount is applied to each group.
15 16 17 |
# File 'lib/api_reference/models/grouped_with_metered_minimum_config.rb', line 15 def grouping_key @grouping_key end |
#minimum_unit_amount ⇒ String
The minimum amount to charge per group per unit
36 37 38 |
# File 'lib/api_reference/models/grouped_with_metered_minimum_config.rb', line 36 def minimum_unit_amount @minimum_unit_amount end |
#pricing_key ⇒ String
Used to determine the unit rate
19 20 21 |
# File 'lib/api_reference/models/grouped_with_metered_minimum_config.rb', line 19 def pricing_key @pricing_key end |
#scaling_factors ⇒ Array[GroupedWithMeteredMinimumScalingFactorItem]
Scale the unit rates by the scaling factor.
27 28 29 |
# File 'lib/api_reference/models/grouped_with_metered_minimum_config.rb', line 27 def scaling_factors @scaling_factors end |
#scaling_key ⇒ String
Used to determine the unit rate scaling factor
23 24 25 |
# File 'lib/api_reference/models/grouped_with_metered_minimum_config.rb', line 23 def scaling_key @scaling_key end |
#unit_amounts ⇒ Array[GroupedWithMeteredMinimumUnitAmountItem]
Apply per unit pricing to each pricing value. The minimum amount is applied any unmatched usage.
32 33 34 |
# File 'lib/api_reference/models/grouped_with_metered_minimum_config.rb', line 32 def unit_amounts @unit_amounts end |
Class Method Details
.from_hash(hash) ⇒ Object
Creates an instance of the object from a hash.
71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 |
# File 'lib/api_reference/models/grouped_with_metered_minimum_config.rb', line 71 def self.from_hash(hash) return nil unless hash # Extract variables from the hash. grouping_key = hash.key?('grouping_key') ? hash['grouping_key'] : nil pricing_key = hash.key?('pricing_key') ? hash['pricing_key'] : nil scaling_key = hash.key?('scaling_key') ? hash['scaling_key'] : nil # Parameter is an array, so we need to iterate through it scaling_factors = nil unless hash['scaling_factors'].nil? scaling_factors = [] hash['scaling_factors'].each do |structure| scaling_factors << (GroupedWithMeteredMinimumScalingFactorItem.from_hash(structure) if structure) end end scaling_factors = nil unless hash.key?('scaling_factors') # Parameter is an array, so we need to iterate through it unit_amounts = nil unless hash['unit_amounts'].nil? unit_amounts = [] hash['unit_amounts'].each do |structure| unit_amounts << (GroupedWithMeteredMinimumUnitAmountItem.from_hash(structure) if structure) end end unit_amounts = nil unless hash.key?('unit_amounts') minimum_unit_amount = hash.key?('minimum_unit_amount') ? hash['minimum_unit_amount'] : nil # Create object from extracted values. GroupedWithMeteredMinimumConfig.new(grouping_key: grouping_key, pricing_key: pricing_key, scaling_key: scaling_key, scaling_factors: scaling_factors, unit_amounts: unit_amounts, minimum_unit_amount: minimum_unit_amount) end |
.names ⇒ Object
A mapping from model property names to API property names.
39 40 41 42 43 44 45 46 47 48 |
# File 'lib/api_reference/models/grouped_with_metered_minimum_config.rb', line 39 def self.names @_hash = {} if @_hash.nil? @_hash['grouping_key'] = 'grouping_key' @_hash['pricing_key'] = 'pricing_key' @_hash['scaling_key'] = 'scaling_key' @_hash['scaling_factors'] = 'scaling_factors' @_hash['unit_amounts'] = 'unit_amounts' @_hash['minimum_unit_amount'] = 'minimum_unit_amount' @_hash end |
.nullables ⇒ Object
An array for nullable fields
56 57 58 |
# File 'lib/api_reference/models/grouped_with_metered_minimum_config.rb', line 56 def self.nullables [] end |
.optionals ⇒ Object
An array for optional fields
51 52 53 |
# File 'lib/api_reference/models/grouped_with_metered_minimum_config.rb', line 51 def self.optionals [] end |
Instance Method Details
#inspect ⇒ Object
Provides a debugging-friendly string with detailed object information.
119 120 121 122 123 124 125 |
# File 'lib/api_reference/models/grouped_with_metered_minimum_config.rb', line 119 def inspect class_name = self.class.name.split('::').last "<#{class_name} grouping_key: #{@grouping_key.inspect}, pricing_key:"\ " #{@pricing_key.inspect}, scaling_key: #{@scaling_key.inspect}, scaling_factors:"\ " #{@scaling_factors.inspect}, unit_amounts: #{@unit_amounts.inspect}, minimum_unit_amount:"\ " #{@minimum_unit_amount.inspect}>" end |
#to_s ⇒ Object
Provides a human-readable string representation of the object.
111 112 113 114 115 116 |
# File 'lib/api_reference/models/grouped_with_metered_minimum_config.rb', line 111 def to_s class_name = self.class.name.split('::').last "<#{class_name} grouping_key: #{@grouping_key}, pricing_key: #{@pricing_key}, scaling_key:"\ " #{@scaling_key}, scaling_factors: #{@scaling_factors}, unit_amounts: #{@unit_amounts},"\ " minimum_unit_amount: #{@minimum_unit_amount}>" end |