pnap_billing_api 2.1.1 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +9 -0
  3. data/VERSION +1 -1
  4. data/docs/BandwidthRecord.md +4 -2
  5. data/docs/LocationAvailabilityDetail.md +1 -1
  6. data/docs/OperatingSystemRecord.md +4 -2
  7. data/docs/PackageDetails.md +20 -0
  8. data/docs/PackageQuantity.md +20 -0
  9. data/docs/PricingPlan.md +3 -1
  10. data/docs/ProductAvailabilityApi.md +4 -4
  11. data/docs/ProductLocationEnum.md +15 -0
  12. data/docs/PublicSubnetRecord.md +4 -2
  13. data/docs/Quantity.md +20 -0
  14. data/docs/QuantityUnitEnum.md +15 -0
  15. data/docs/RatedUsageRecord.md +4 -2
  16. data/docs/Reservation.md +10 -2
  17. data/docs/ReservationDetails.md +20 -0
  18. data/docs/ReservationRequest.md +3 -1
  19. data/docs/ReservationStateEnum.md +15 -0
  20. data/docs/ReservationTerm.md +20 -0
  21. data/docs/ReservationsApi.md +2 -2
  22. data/docs/ServerRecord.md +4 -2
  23. data/docs/StorageDetails.md +5 -5
  24. data/docs/StorageRecord.md +4 -2
  25. data/docs/Utilization.md +20 -0
  26. data/lib/pnap_billing_api/api/billing_configurations_api.rb +2 -2
  27. data/lib/pnap_billing_api/api/product_availability_api.rb +14 -6
  28. data/lib/pnap_billing_api/api/products_api.rb +2 -2
  29. data/lib/pnap_billing_api/api/rated_usage_api.rb +3 -3
  30. data/lib/pnap_billing_api/api/reservations_api.rb +7 -7
  31. data/lib/pnap_billing_api/api_client.rb +17 -14
  32. data/lib/pnap_billing_api/api_error.rb +1 -1
  33. data/lib/pnap_billing_api/api_model_base.rb +88 -0
  34. data/lib/pnap_billing_api/configuration.rb +11 -1
  35. data/lib/pnap_billing_api/models/applicable_discount_details.rb +41 -78
  36. data/lib/pnap_billing_api/models/applicable_discounts.rb +11 -78
  37. data/lib/pnap_billing_api/models/bandwidth_details.rb +31 -78
  38. data/lib/pnap_billing_api/models/bandwidth_record.rb +151 -93
  39. data/lib/pnap_billing_api/models/configuration_details.rb +11 -78
  40. data/lib/pnap_billing_api/models/credit_details.rb +5 -7
  41. data/lib/pnap_billing_api/models/credit_details_base.rb +31 -78
  42. data/lib/pnap_billing_api/models/credit_type_enum.rb +1 -1
  43. data/lib/pnap_billing_api/models/discount_details.rb +41 -78
  44. data/lib/pnap_billing_api/models/discount_type_enum.rb +1 -1
  45. data/lib/pnap_billing_api/models/error.rb +21 -78
  46. data/lib/pnap_billing_api/models/gpu_configuration_metadata.rb +11 -78
  47. data/lib/pnap_billing_api/models/location_availability_detail.rb +52 -79
  48. data/lib/pnap_billing_api/models/location_enum.rb +1 -1
  49. data/lib/pnap_billing_api/models/operating_system_details.rb +31 -78
  50. data/lib/pnap_billing_api/models/operating_system_record.rb +151 -93
  51. data/lib/pnap_billing_api/models/package_details.rb +179 -0
  52. data/lib/pnap_billing_api/models/package_quantity.rb +193 -0
  53. data/lib/pnap_billing_api/models/package_unit_enum.rb +1 -1
  54. data/lib/pnap_billing_api/models/price_unit_enum.rb +3 -2
  55. data/lib/pnap_billing_api/models/pricing_plan.rb +56 -84
  56. data/lib/pnap_billing_api/models/product.rb +31 -78
  57. data/lib/pnap_billing_api/models/product_availability.rb +41 -78
  58. data/lib/pnap_billing_api/models/product_category_enum.rb +1 -1
  59. data/lib/pnap_billing_api/models/product_location_enum.rb +44 -0
  60. data/lib/pnap_billing_api/models/products_get200_response_inner.rb +1 -2
  61. data/lib/pnap_billing_api/models/promo_credit_details.rb +51 -78
  62. data/lib/pnap_billing_api/models/public_subnet_details.rb +31 -78
  63. data/lib/pnap_billing_api/models/public_subnet_record.rb +151 -93
  64. data/lib/pnap_billing_api/models/quantity.rb +223 -0
  65. data/lib/pnap_billing_api/models/quantity_unit_enum.rb +40 -0
  66. data/lib/pnap_billing_api/models/rated_usage_get200_response_inner.rb +1 -2
  67. data/lib/pnap_billing_api/models/rated_usage_product_category_enum.rb +1 -1
  68. data/lib/pnap_billing_api/models/rated_usage_record.rb +141 -93
  69. data/lib/pnap_billing_api/models/reservation.rb +186 -83
  70. data/lib/pnap_billing_api/models/reservation_auto_renew_disable_request.rb +11 -78
  71. data/lib/pnap_billing_api/models/reservation_details.rb +158 -0
  72. data/lib/pnap_billing_api/models/reservation_invoicing_model_enum.rb +1 -1
  73. data/lib/pnap_billing_api/models/reservation_model_enum.rb +3 -2
  74. data/lib/pnap_billing_api/models/reservation_product_category_enum.rb +3 -2
  75. data/lib/pnap_billing_api/models/reservation_request.rb +51 -82
  76. data/lib/pnap_billing_api/models/reservation_state_enum.rb +44 -0
  77. data/lib/pnap_billing_api/models/reservation_term.rb +214 -0
  78. data/lib/pnap_billing_api/models/server_details.rb +31 -78
  79. data/lib/pnap_billing_api/models/server_product.rb +41 -78
  80. data/lib/pnap_billing_api/models/server_product_metadata.rb +81 -78
  81. data/lib/pnap_billing_api/models/server_record.rb +151 -93
  82. data/lib/pnap_billing_api/models/storage_details.rb +21 -113
  83. data/lib/pnap_billing_api/models/storage_record.rb +151 -93
  84. data/lib/pnap_billing_api/models/system_credit_cause_enum.rb +1 -1
  85. data/lib/pnap_billing_api/models/system_credit_details.rb +41 -78
  86. data/lib/pnap_billing_api/models/threshold_configuration_details.rb +21 -78
  87. data/lib/pnap_billing_api/models/utilization.rb +208 -0
  88. data/lib/pnap_billing_api/version.rb +1 -2
  89. data/lib/pnap_billing_api.rb +11 -1
  90. data/pnap_billing_api.gemspec +6 -6
  91. data/spec/api/billing_configurations_api_spec.rb +1 -1
  92. data/spec/api/product_availability_api_spec.rb +3 -3
  93. data/spec/api/products_api_spec.rb +1 -1
  94. data/spec/api/rated_usage_api_spec.rb +1 -1
  95. data/spec/api/reservations_api_spec.rb +1 -1
  96. data/spec/models/applicable_discount_details_spec.rb +2 -2
  97. data/spec/models/applicable_discounts_spec.rb +2 -2
  98. data/spec/models/bandwidth_details_spec.rb +2 -2
  99. data/spec/models/bandwidth_record_spec.rb +8 -2
  100. data/spec/models/configuration_details_spec.rb +2 -2
  101. data/spec/models/credit_details_base_spec.rb +2 -2
  102. data/spec/models/credit_details_spec.rb +1 -1
  103. data/spec/models/credit_type_enum_spec.rb +2 -2
  104. data/spec/models/discount_details_spec.rb +2 -2
  105. data/spec/models/discount_type_enum_spec.rb +2 -2
  106. data/spec/models/error_spec.rb +2 -2
  107. data/spec/models/gpu_configuration_metadata_spec.rb +2 -2
  108. data/spec/models/location_availability_detail_spec.rb +2 -2
  109. data/spec/models/location_enum_spec.rb +2 -2
  110. data/spec/models/operating_system_details_spec.rb +2 -2
  111. data/spec/models/operating_system_record_spec.rb +8 -2
  112. data/spec/models/package_details_spec.rb +42 -0
  113. data/spec/models/package_quantity_spec.rb +42 -0
  114. data/spec/models/package_unit_enum_spec.rb +2 -2
  115. data/spec/models/price_unit_enum_spec.rb +2 -2
  116. data/spec/models/pricing_plan_spec.rb +9 -3
  117. data/spec/models/product_availability_spec.rb +2 -2
  118. data/spec/models/product_category_enum_spec.rb +2 -2
  119. data/spec/models/product_location_enum_spec.rb +30 -0
  120. data/spec/models/product_spec.rb +2 -2
  121. data/spec/models/products_get200_response_inner_spec.rb +1 -1
  122. data/spec/models/promo_credit_details_spec.rb +2 -2
  123. data/spec/models/public_subnet_details_spec.rb +2 -2
  124. data/spec/models/public_subnet_record_spec.rb +8 -2
  125. data/spec/models/quantity_spec.rb +42 -0
  126. data/spec/models/quantity_unit_enum_spec.rb +30 -0
  127. data/spec/models/rated_usage_get200_response_inner_spec.rb +1 -1
  128. data/spec/models/rated_usage_product_category_enum_spec.rb +2 -2
  129. data/spec/models/rated_usage_record_spec.rb +8 -2
  130. data/spec/models/reservation_auto_renew_disable_request_spec.rb +2 -2
  131. data/spec/models/reservation_details_spec.rb +42 -0
  132. data/spec/models/reservation_invoicing_model_enum_spec.rb +2 -2
  133. data/spec/models/reservation_model_enum_spec.rb +2 -2
  134. data/spec/models/reservation_product_category_enum_spec.rb +2 -2
  135. data/spec/models/reservation_request_spec.rb +8 -2
  136. data/spec/models/reservation_spec.rb +26 -2
  137. data/spec/models/reservation_state_enum_spec.rb +30 -0
  138. data/spec/models/reservation_term_spec.rb +42 -0
  139. data/spec/models/server_details_spec.rb +2 -2
  140. data/spec/models/server_product_metadata_spec.rb +2 -2
  141. data/spec/models/server_product_spec.rb +2 -2
  142. data/spec/models/server_record_spec.rb +8 -2
  143. data/spec/models/storage_details_spec.rb +2 -2
  144. data/spec/models/storage_record_spec.rb +8 -2
  145. data/spec/models/system_credit_cause_enum_spec.rb +2 -2
  146. data/spec/models/system_credit_details_spec.rb +2 -2
  147. data/spec/models/threshold_configuration_details_spec.rb +2 -2
  148. data/spec/models/utilization_spec.rb +42 -0
  149. data/spec/spec_helper.rb +1 -1
  150. metadata +84 -43
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 0.1
7
7
  Contact: support@phoenixnap.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.2.0
9
+ Generator version: 7.20.0
10
10
 
11
11
  =end
12
12
 
@@ -14,7 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module BillingApi
17
- class ServerProduct
17
+ class ServerProduct < ApiModelBase
18
18
  # The code identifying the product. This code has significant across all locations.
19
19
  attr_accessor :product_code
20
20
 
@@ -36,9 +36,14 @@ module BillingApi
36
36
  }
37
37
  end
38
38
 
39
+ # Returns attribute mapping this model knows about
40
+ def self.acceptable_attribute_map
41
+ attribute_map
42
+ end
43
+
39
44
  # Returns all the JSON keys this model knows about
40
45
  def self.acceptable_attributes
41
- attribute_map.values
46
+ acceptable_attribute_map.values
42
47
  end
43
48
 
44
49
  # Attribute type mapping.
@@ -72,9 +77,10 @@ module BillingApi
72
77
  end
73
78
 
74
79
  # check to see if the attribute exists and convert string to symbol for hash key
80
+ acceptable_attribute_map = self.class.acceptable_attribute_map
75
81
  attributes = attributes.each_with_object({}) { |(k, v), h|
76
- if (!self.class.attribute_map.key?(k.to_sym))
77
- fail ArgumentError, "`#{k}` is not a valid attribute in `BillingApi::ServerProduct`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
82
+ if (!acceptable_attribute_map.key?(k.to_sym))
83
+ fail ArgumentError, "`#{k}` is not a valid attribute in `BillingApi::ServerProduct`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
78
84
  end
79
85
  h[k.to_sym] = v
80
86
  }
@@ -134,6 +140,36 @@ module BillingApi
134
140
  true
135
141
  end
136
142
 
143
+ # Custom attribute writer method with validation
144
+ # @param [Object] product_code Value to be assigned
145
+ def product_code=(product_code)
146
+ if product_code.nil?
147
+ fail ArgumentError, 'product_code cannot be nil'
148
+ end
149
+
150
+ @product_code = product_code
151
+ end
152
+
153
+ # Custom attribute writer method with validation
154
+ # @param [Object] product_category Value to be assigned
155
+ def product_category=(product_category)
156
+ if product_category.nil?
157
+ fail ArgumentError, 'product_category cannot be nil'
158
+ end
159
+
160
+ @product_category = product_category
161
+ end
162
+
163
+ # Custom attribute writer method with validation
164
+ # @param [Object] metadata Value to be assigned
165
+ def metadata=(metadata)
166
+ if metadata.nil?
167
+ fail ArgumentError, 'metadata cannot be nil'
168
+ end
169
+
170
+ @metadata = metadata
171
+ end
172
+
137
173
  # Checks equality by comparing each attribute.
138
174
  # @param [Object] Object to be compared
139
175
  def ==(o)
@@ -180,61 +216,6 @@ module BillingApi
180
216
  new(transformed_hash)
181
217
  end
182
218
 
183
- # Deserializes the data based on type
184
- # @param string type Data type
185
- # @param string value Value to be deserialized
186
- # @return [Object] Deserialized data
187
- def self._deserialize(type, value)
188
- case type.to_sym
189
- when :Time
190
- Time.parse(value)
191
- when :Date
192
- Date.parse(value)
193
- when :String
194
- value.to_s
195
- when :Integer
196
- value.to_i
197
- when :Float
198
- value.to_f
199
- when :Boolean
200
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
201
- true
202
- else
203
- false
204
- end
205
- when :Object
206
- # generic object (usually a Hash), return directly
207
- value
208
- when /\AArray<(?<inner_type>.+)>\z/
209
- inner_type = Regexp.last_match[:inner_type]
210
- value.map { |v| _deserialize(inner_type, v) }
211
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
212
- k_type = Regexp.last_match[:k_type]
213
- v_type = Regexp.last_match[:v_type]
214
- {}.tap do |hash|
215
- value.each do |k, v|
216
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
217
- end
218
- end
219
- else # model
220
- # models (e.g. Pet) or oneOf
221
- klass = BillingApi.const_get(type)
222
- klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
223
- end
224
- end
225
-
226
- # Returns the string representation of the object
227
- # @return [String] String presentation of the object
228
- def to_s
229
- to_hash.to_s
230
- end
231
-
232
- # to_body is an alias to to_hash (backward compatibility)
233
- # @return [Hash] Returns the object in the form of hash
234
- def to_body
235
- to_hash
236
- end
237
-
238
219
  # Returns the object in the form of hash
239
220
  # @return [Hash] Returns the object in the form of hash
240
221
  def to_hash
@@ -251,24 +232,6 @@ module BillingApi
251
232
  hash
252
233
  end
253
234
 
254
- # Outputs non-array value in the form of hash
255
- # For object, use to_hash. Otherwise, just return the value
256
- # @param [Object] value Any valid value
257
- # @return [Hash] Returns the value in the form of hash
258
- def _to_hash(value)
259
- if value.is_a?(Array)
260
- value.compact.map { |v| _to_hash(v) }
261
- elsif value.is_a?(Hash)
262
- {}.tap do |hash|
263
- value.each { |k, v| hash[k] = _to_hash(v) }
264
- end
265
- elsif value.respond_to? :to_hash
266
- value.to_hash
267
- else
268
- value
269
- end
270
- end
271
-
272
235
  end
273
236
 
274
237
  end
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 0.1
7
7
  Contact: support@phoenixnap.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.2.0
9
+ Generator version: 7.20.0
10
10
 
11
11
  =end
12
12
 
@@ -15,7 +15,7 @@ require 'time'
15
15
 
16
16
  module BillingApi
17
17
  # Details of the server product.
18
- class ServerProductMetadata
18
+ class ServerProductMetadata < ApiModelBase
19
19
  # RAM in GB.
20
20
  attr_accessor :ram_in_gb
21
21
 
@@ -54,9 +54,14 @@ module BillingApi
54
54
  }
55
55
  end
56
56
 
57
+ # Returns attribute mapping this model knows about
58
+ def self.acceptable_attribute_map
59
+ attribute_map
60
+ end
61
+
57
62
  # Returns all the JSON keys this model knows about
58
63
  def self.acceptable_attributes
59
- attribute_map.values
64
+ acceptable_attribute_map.values
60
65
  end
61
66
 
62
67
  # Attribute type mapping.
@@ -87,9 +92,10 @@ module BillingApi
87
92
  end
88
93
 
89
94
  # check to see if the attribute exists and convert string to symbol for hash key
95
+ acceptable_attribute_map = self.class.acceptable_attribute_map
90
96
  attributes = attributes.each_with_object({}) { |(k, v), h|
91
- if (!self.class.attribute_map.key?(k.to_sym))
92
- fail ArgumentError, "`#{k}` is not a valid attribute in `BillingApi::ServerProductMetadata`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
97
+ if (!acceptable_attribute_map.key?(k.to_sym))
98
+ fail ArgumentError, "`#{k}` is not a valid attribute in `BillingApi::ServerProductMetadata`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
93
99
  end
94
100
  h[k.to_sym] = v
95
101
  }
@@ -193,6 +199,76 @@ module BillingApi
193
199
  true
194
200
  end
195
201
 
202
+ # Custom attribute writer method with validation
203
+ # @param [Object] ram_in_gb Value to be assigned
204
+ def ram_in_gb=(ram_in_gb)
205
+ if ram_in_gb.nil?
206
+ fail ArgumentError, 'ram_in_gb cannot be nil'
207
+ end
208
+
209
+ @ram_in_gb = ram_in_gb
210
+ end
211
+
212
+ # Custom attribute writer method with validation
213
+ # @param [Object] cpu Value to be assigned
214
+ def cpu=(cpu)
215
+ if cpu.nil?
216
+ fail ArgumentError, 'cpu cannot be nil'
217
+ end
218
+
219
+ @cpu = cpu
220
+ end
221
+
222
+ # Custom attribute writer method with validation
223
+ # @param [Object] cpu_count Value to be assigned
224
+ def cpu_count=(cpu_count)
225
+ if cpu_count.nil?
226
+ fail ArgumentError, 'cpu_count cannot be nil'
227
+ end
228
+
229
+ @cpu_count = cpu_count
230
+ end
231
+
232
+ # Custom attribute writer method with validation
233
+ # @param [Object] cores_per_cpu Value to be assigned
234
+ def cores_per_cpu=(cores_per_cpu)
235
+ if cores_per_cpu.nil?
236
+ fail ArgumentError, 'cores_per_cpu cannot be nil'
237
+ end
238
+
239
+ @cores_per_cpu = cores_per_cpu
240
+ end
241
+
242
+ # Custom attribute writer method with validation
243
+ # @param [Object] cpu_frequency Value to be assigned
244
+ def cpu_frequency=(cpu_frequency)
245
+ if cpu_frequency.nil?
246
+ fail ArgumentError, 'cpu_frequency cannot be nil'
247
+ end
248
+
249
+ @cpu_frequency = cpu_frequency
250
+ end
251
+
252
+ # Custom attribute writer method with validation
253
+ # @param [Object] network Value to be assigned
254
+ def network=(network)
255
+ if network.nil?
256
+ fail ArgumentError, 'network cannot be nil'
257
+ end
258
+
259
+ @network = network
260
+ end
261
+
262
+ # Custom attribute writer method with validation
263
+ # @param [Object] storage Value to be assigned
264
+ def storage=(storage)
265
+ if storage.nil?
266
+ fail ArgumentError, 'storage cannot be nil'
267
+ end
268
+
269
+ @storage = storage
270
+ end
271
+
196
272
  # Checks equality by comparing each attribute.
197
273
  # @param [Object] Object to be compared
198
274
  def ==(o)
@@ -243,61 +319,6 @@ module BillingApi
243
319
  new(transformed_hash)
244
320
  end
245
321
 
246
- # Deserializes the data based on type
247
- # @param string type Data type
248
- # @param string value Value to be deserialized
249
- # @return [Object] Deserialized data
250
- def self._deserialize(type, value)
251
- case type.to_sym
252
- when :Time
253
- Time.parse(value)
254
- when :Date
255
- Date.parse(value)
256
- when :String
257
- value.to_s
258
- when :Integer
259
- value.to_i
260
- when :Float
261
- value.to_f
262
- when :Boolean
263
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
264
- true
265
- else
266
- false
267
- end
268
- when :Object
269
- # generic object (usually a Hash), return directly
270
- value
271
- when /\AArray<(?<inner_type>.+)>\z/
272
- inner_type = Regexp.last_match[:inner_type]
273
- value.map { |v| _deserialize(inner_type, v) }
274
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
275
- k_type = Regexp.last_match[:k_type]
276
- v_type = Regexp.last_match[:v_type]
277
- {}.tap do |hash|
278
- value.each do |k, v|
279
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
280
- end
281
- end
282
- else # model
283
- # models (e.g. Pet) or oneOf
284
- klass = BillingApi.const_get(type)
285
- klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
286
- end
287
- end
288
-
289
- # Returns the string representation of the object
290
- # @return [String] String presentation of the object
291
- def to_s
292
- to_hash.to_s
293
- end
294
-
295
- # to_body is an alias to to_hash (backward compatibility)
296
- # @return [Hash] Returns the object in the form of hash
297
- def to_body
298
- to_hash
299
- end
300
-
301
322
  # Returns the object in the form of hash
302
323
  # @return [Hash] Returns the object in the form of hash
303
324
  def to_hash
@@ -314,24 +335,6 @@ module BillingApi
314
335
  hash
315
336
  end
316
337
 
317
- # Outputs non-array value in the form of hash
318
- # For object, use to_hash. Otherwise, just return the value
319
- # @param [Object] value Any valid value
320
- # @return [Hash] Returns the value in the form of hash
321
- def _to_hash(value)
322
- if value.is_a?(Array)
323
- value.compact.map { |v| _to_hash(v) }
324
- elsif value.is_a?(Hash)
325
- {}.tap do |hash|
326
- value.each { |k, v| hash[k] = _to_hash(v) }
327
- end
328
- elsif value.respond_to? :to_hash
329
- value.to_hash
330
- else
331
- value
332
- end
333
- end
334
-
335
338
  end
336
339
 
337
340
  end