pnap_billing_api 2.1.2 → 3.0.1
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.
- checksums.yaml +4 -4
- data/README.md +9 -0
- data/VERSION +1 -1
- data/docs/BandwidthRecord.md +4 -2
- data/docs/LocationAvailabilityDetail.md +1 -1
- data/docs/OperatingSystemRecord.md +4 -2
- data/docs/PackageDetails.md +20 -0
- data/docs/PackageQuantity.md +20 -0
- data/docs/PricingPlan.md +3 -1
- data/docs/ProductAvailabilityApi.md +4 -4
- data/docs/ProductLocationEnum.md +15 -0
- data/docs/PublicSubnetRecord.md +4 -2
- data/docs/Quantity.md +20 -0
- data/docs/QuantityUnitEnum.md +15 -0
- data/docs/RatedUsageRecord.md +4 -2
- data/docs/Reservation.md +10 -2
- data/docs/ReservationDetails.md +20 -0
- data/docs/ReservationRequest.md +3 -1
- data/docs/ReservationStateEnum.md +15 -0
- data/docs/ReservationTerm.md +20 -0
- data/docs/ReservationsApi.md +2 -2
- data/docs/ServerRecord.md +4 -2
- data/docs/StorageDetails.md +5 -5
- data/docs/StorageRecord.md +4 -2
- data/docs/Utilization.md +20 -0
- data/lib/pnap_billing_api/api/billing_configurations_api.rb +2 -2
- data/lib/pnap_billing_api/api/product_availability_api.rb +14 -6
- data/lib/pnap_billing_api/api/products_api.rb +2 -2
- data/lib/pnap_billing_api/api/rated_usage_api.rb +3 -3
- data/lib/pnap_billing_api/api/reservations_api.rb +7 -7
- data/lib/pnap_billing_api/api_client.rb +17 -14
- data/lib/pnap_billing_api/api_error.rb +1 -1
- data/lib/pnap_billing_api/api_model_base.rb +88 -0
- data/lib/pnap_billing_api/configuration.rb +11 -1
- data/lib/pnap_billing_api/models/applicable_discount_details.rb +41 -78
- data/lib/pnap_billing_api/models/applicable_discounts.rb +11 -78
- data/lib/pnap_billing_api/models/bandwidth_details.rb +31 -78
- data/lib/pnap_billing_api/models/bandwidth_record.rb +151 -93
- data/lib/pnap_billing_api/models/configuration_details.rb +11 -78
- data/lib/pnap_billing_api/models/credit_details.rb +5 -7
- data/lib/pnap_billing_api/models/credit_details_base.rb +31 -78
- data/lib/pnap_billing_api/models/credit_type_enum.rb +1 -1
- data/lib/pnap_billing_api/models/discount_details.rb +41 -78
- data/lib/pnap_billing_api/models/discount_type_enum.rb +1 -1
- data/lib/pnap_billing_api/models/error.rb +21 -78
- data/lib/pnap_billing_api/models/gpu_configuration_metadata.rb +11 -78
- data/lib/pnap_billing_api/models/location_availability_detail.rb +52 -79
- data/lib/pnap_billing_api/models/location_enum.rb +1 -1
- data/lib/pnap_billing_api/models/operating_system_details.rb +31 -78
- data/lib/pnap_billing_api/models/operating_system_record.rb +151 -93
- data/lib/pnap_billing_api/models/package_details.rb +179 -0
- data/lib/pnap_billing_api/models/package_quantity.rb +193 -0
- data/lib/pnap_billing_api/models/package_unit_enum.rb +1 -1
- data/lib/pnap_billing_api/models/price_unit_enum.rb +3 -2
- data/lib/pnap_billing_api/models/pricing_plan.rb +56 -84
- data/lib/pnap_billing_api/models/product.rb +31 -78
- data/lib/pnap_billing_api/models/product_availability.rb +41 -78
- data/lib/pnap_billing_api/models/product_category_enum.rb +1 -1
- data/lib/pnap_billing_api/models/product_location_enum.rb +44 -0
- data/lib/pnap_billing_api/models/products_get200_response_inner.rb +1 -2
- data/lib/pnap_billing_api/models/promo_credit_details.rb +51 -78
- data/lib/pnap_billing_api/models/public_subnet_details.rb +31 -78
- data/lib/pnap_billing_api/models/public_subnet_record.rb +151 -93
- data/lib/pnap_billing_api/models/quantity.rb +223 -0
- data/lib/pnap_billing_api/models/quantity_unit_enum.rb +40 -0
- data/lib/pnap_billing_api/models/rated_usage_get200_response_inner.rb +1 -2
- data/lib/pnap_billing_api/models/rated_usage_product_category_enum.rb +1 -1
- data/lib/pnap_billing_api/models/rated_usage_record.rb +141 -93
- data/lib/pnap_billing_api/models/reservation.rb +186 -83
- data/lib/pnap_billing_api/models/reservation_auto_renew_disable_request.rb +11 -78
- data/lib/pnap_billing_api/models/reservation_details.rb +158 -0
- data/lib/pnap_billing_api/models/reservation_invoicing_model_enum.rb +1 -1
- data/lib/pnap_billing_api/models/reservation_model_enum.rb +3 -2
- data/lib/pnap_billing_api/models/reservation_product_category_enum.rb +3 -2
- data/lib/pnap_billing_api/models/reservation_request.rb +51 -82
- data/lib/pnap_billing_api/models/reservation_state_enum.rb +44 -0
- data/lib/pnap_billing_api/models/reservation_term.rb +214 -0
- data/lib/pnap_billing_api/models/server_details.rb +31 -78
- data/lib/pnap_billing_api/models/server_product.rb +41 -78
- data/lib/pnap_billing_api/models/server_product_metadata.rb +81 -78
- data/lib/pnap_billing_api/models/server_record.rb +151 -93
- data/lib/pnap_billing_api/models/storage_details.rb +21 -113
- data/lib/pnap_billing_api/models/storage_record.rb +151 -93
- data/lib/pnap_billing_api/models/system_credit_cause_enum.rb +1 -1
- data/lib/pnap_billing_api/models/system_credit_details.rb +41 -78
- data/lib/pnap_billing_api/models/threshold_configuration_details.rb +21 -78
- data/lib/pnap_billing_api/models/utilization.rb +208 -0
- data/lib/pnap_billing_api/version.rb +1 -2
- data/lib/pnap_billing_api.rb +11 -1
- data/pnap_billing_api.gemspec +6 -6
- data/spec/api/billing_configurations_api_spec.rb +1 -1
- data/spec/api/product_availability_api_spec.rb +3 -3
- data/spec/api/products_api_spec.rb +1 -1
- data/spec/api/rated_usage_api_spec.rb +1 -1
- data/spec/api/reservations_api_spec.rb +1 -1
- data/spec/models/applicable_discount_details_spec.rb +2 -2
- data/spec/models/applicable_discounts_spec.rb +2 -2
- data/spec/models/bandwidth_details_spec.rb +2 -2
- data/spec/models/bandwidth_record_spec.rb +8 -2
- data/spec/models/configuration_details_spec.rb +2 -2
- data/spec/models/credit_details_base_spec.rb +2 -2
- data/spec/models/credit_details_spec.rb +1 -1
- data/spec/models/credit_type_enum_spec.rb +2 -2
- data/spec/models/discount_details_spec.rb +2 -2
- data/spec/models/discount_type_enum_spec.rb +2 -2
- data/spec/models/error_spec.rb +2 -2
- data/spec/models/gpu_configuration_metadata_spec.rb +2 -2
- data/spec/models/location_availability_detail_spec.rb +2 -2
- data/spec/models/location_enum_spec.rb +2 -2
- data/spec/models/operating_system_details_spec.rb +2 -2
- data/spec/models/operating_system_record_spec.rb +8 -2
- data/spec/models/package_details_spec.rb +42 -0
- data/spec/models/package_quantity_spec.rb +42 -0
- data/spec/models/package_unit_enum_spec.rb +2 -2
- data/spec/models/price_unit_enum_spec.rb +2 -2
- data/spec/models/pricing_plan_spec.rb +9 -3
- data/spec/models/product_availability_spec.rb +2 -2
- data/spec/models/product_category_enum_spec.rb +2 -2
- data/spec/models/product_location_enum_spec.rb +30 -0
- data/spec/models/product_spec.rb +2 -2
- data/spec/models/products_get200_response_inner_spec.rb +1 -1
- data/spec/models/promo_credit_details_spec.rb +2 -2
- data/spec/models/public_subnet_details_spec.rb +2 -2
- data/spec/models/public_subnet_record_spec.rb +8 -2
- data/spec/models/quantity_spec.rb +42 -0
- data/spec/models/quantity_unit_enum_spec.rb +30 -0
- data/spec/models/rated_usage_get200_response_inner_spec.rb +1 -1
- data/spec/models/rated_usage_product_category_enum_spec.rb +2 -2
- data/spec/models/rated_usage_record_spec.rb +8 -2
- data/spec/models/reservation_auto_renew_disable_request_spec.rb +2 -2
- data/spec/models/reservation_details_spec.rb +42 -0
- data/spec/models/reservation_invoicing_model_enum_spec.rb +2 -2
- data/spec/models/reservation_model_enum_spec.rb +2 -2
- data/spec/models/reservation_product_category_enum_spec.rb +2 -2
- data/spec/models/reservation_request_spec.rb +8 -2
- data/spec/models/reservation_spec.rb +26 -2
- data/spec/models/reservation_state_enum_spec.rb +30 -0
- data/spec/models/reservation_term_spec.rb +42 -0
- data/spec/models/server_details_spec.rb +2 -2
- data/spec/models/server_product_metadata_spec.rb +2 -2
- data/spec/models/server_product_spec.rb +2 -2
- data/spec/models/server_record_spec.rb +8 -2
- data/spec/models/storage_details_spec.rb +2 -2
- data/spec/models/storage_record_spec.rb +8 -2
- data/spec/models/system_credit_cause_enum_spec.rb +2 -2
- data/spec/models/system_credit_details_spec.rb +2 -2
- data/spec/models/threshold_configuration_details_spec.rb +2 -2
- data/spec/models/utilization_spec.rb +42 -0
- data/spec/spec_helper.rb +1 -1
- 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
|
-
|
|
9
|
+
Generator version: 7.20.0
|
|
10
10
|
|
|
11
11
|
=end
|
|
12
12
|
|
|
@@ -62,7 +62,7 @@ module BillingApi
|
|
|
62
62
|
# header parameters
|
|
63
63
|
header_params = opts[:header_params] || {}
|
|
64
64
|
# HTTP header 'Accept' (if needed)
|
|
65
|
-
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
65
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
66
66
|
|
|
67
67
|
# form parameters
|
|
68
68
|
form_params = opts[:form_params] || {}
|
|
@@ -122,7 +122,7 @@ module BillingApi
|
|
|
122
122
|
# header parameters
|
|
123
123
|
header_params = opts[:header_params] || {}
|
|
124
124
|
# HTTP header 'Accept' (if needed)
|
|
125
|
-
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
125
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
126
126
|
|
|
127
127
|
# form parameters
|
|
128
128
|
form_params = opts[:form_params] || {}
|
|
@@ -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
|
-
|
|
9
|
+
Generator version: 7.20.0
|
|
10
10
|
|
|
11
11
|
=end
|
|
12
12
|
|
|
@@ -48,7 +48,7 @@ module BillingApi
|
|
|
48
48
|
# header parameters
|
|
49
49
|
header_params = opts[:header_params] || {}
|
|
50
50
|
# HTTP header 'Accept' (if needed)
|
|
51
|
-
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
51
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
52
52
|
|
|
53
53
|
# form parameters
|
|
54
54
|
form_params = opts[:form_params] || {}
|
|
@@ -107,7 +107,7 @@ module BillingApi
|
|
|
107
107
|
# header parameters
|
|
108
108
|
header_params = opts[:header_params] || {}
|
|
109
109
|
# HTTP header 'Accept' (if needed)
|
|
110
|
-
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
110
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
111
111
|
# HTTP header 'Content-Type'
|
|
112
112
|
content_type = @api_client.select_header_content_type(['application/json'])
|
|
113
113
|
if !content_type.nil?
|
|
@@ -177,7 +177,7 @@ module BillingApi
|
|
|
177
177
|
# header parameters
|
|
178
178
|
header_params = opts[:header_params] || {}
|
|
179
179
|
# HTTP header 'Accept' (if needed)
|
|
180
|
-
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
180
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
181
181
|
# HTTP header 'Content-Type'
|
|
182
182
|
content_type = @api_client.select_header_content_type(['application/json'])
|
|
183
183
|
if !content_type.nil?
|
|
@@ -245,7 +245,7 @@ module BillingApi
|
|
|
245
245
|
# header parameters
|
|
246
246
|
header_params = opts[:header_params] || {}
|
|
247
247
|
# HTTP header 'Accept' (if needed)
|
|
248
|
-
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
248
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
249
249
|
|
|
250
250
|
# form parameters
|
|
251
251
|
form_params = opts[:form_params] || {}
|
|
@@ -310,7 +310,7 @@ module BillingApi
|
|
|
310
310
|
# header parameters
|
|
311
311
|
header_params = opts[:header_params] || {}
|
|
312
312
|
# HTTP header 'Accept' (if needed)
|
|
313
|
-
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
313
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
314
314
|
# HTTP header 'Content-Type'
|
|
315
315
|
content_type = @api_client.select_header_content_type(['application/json'])
|
|
316
316
|
if !content_type.nil?
|
|
@@ -378,7 +378,7 @@ module BillingApi
|
|
|
378
378
|
# header parameters
|
|
379
379
|
header_params = opts[:header_params] || {}
|
|
380
380
|
# HTTP header 'Accept' (if needed)
|
|
381
|
-
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
381
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
382
382
|
|
|
383
383
|
# form parameters
|
|
384
384
|
form_params = opts[:form_params] || {}
|
|
@@ -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
|
-
|
|
9
|
+
Generator version: 7.20.0
|
|
10
10
|
|
|
11
11
|
=end
|
|
12
12
|
|
|
@@ -52,7 +52,8 @@ module BillingApi
|
|
|
52
52
|
# the data deserialized from response body (may be a Tempfile or nil), response status code and response headers.
|
|
53
53
|
def call_api(http_method, path, opts = {})
|
|
54
54
|
request = build_request(http_method, path, opts)
|
|
55
|
-
tempfile =
|
|
55
|
+
tempfile = nil
|
|
56
|
+
(download_file(request) { tempfile = _1 }) if opts[:return_type] == 'File'
|
|
56
57
|
response = request.run
|
|
57
58
|
|
|
58
59
|
if @config.debugging
|
|
@@ -191,19 +192,17 @@ module BillingApi
|
|
|
191
192
|
chunk.force_encoding(encoding)
|
|
192
193
|
tempfile.write(chunk)
|
|
193
194
|
end
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
195
|
+
request.on_complete do
|
|
196
|
+
if !tempfile
|
|
197
|
+
fail ApiError.new("Failed to create the tempfile based on the HTTP response from the server: #{request.inspect}")
|
|
198
|
+
end
|
|
197
199
|
tempfile.close
|
|
198
200
|
@config.logger.info "Temp file written to #{tempfile.path}, please copy the file to a proper folder "\
|
|
199
201
|
"with e.g. `FileUtils.cp(tempfile.path, '/new/file/path')` otherwise the temp file "\
|
|
200
202
|
"will be deleted automatically with GC. It's also recommended to delete the temp file "\
|
|
201
203
|
"explicitly with `tempfile.delete`"
|
|
202
|
-
|
|
203
|
-
fail ApiError.new("Failed to create the tempfile based on the HTTP response from the server: #{request.inspect}")
|
|
204
|
+
yield tempfile if block_given?
|
|
204
205
|
end
|
|
205
|
-
|
|
206
|
-
tempfile
|
|
207
206
|
end
|
|
208
207
|
|
|
209
208
|
# Check if the given MIME is a JSON MIME.
|
|
@@ -215,7 +214,7 @@ module BillingApi
|
|
|
215
214
|
# @param [String] mime MIME
|
|
216
215
|
# @return [Boolean] True if the MIME is application/json
|
|
217
216
|
def json_mime?(mime)
|
|
218
|
-
(mime == '*/*') || !(mime =~
|
|
217
|
+
(mime == '*/*') || !(mime =~ /^Application\/.*json(?!p)(;.*)?/i).nil?
|
|
219
218
|
end
|
|
220
219
|
|
|
221
220
|
# Deserialize the response to the given return type.
|
|
@@ -282,9 +281,13 @@ module BillingApi
|
|
|
282
281
|
data.each { |k, v| hash[k] = convert_to_type(v, sub_type) }
|
|
283
282
|
end
|
|
284
283
|
else
|
|
285
|
-
# models (e.g. Pet) or oneOf
|
|
284
|
+
# models (e.g. Pet) or oneOf/anyOf
|
|
286
285
|
klass = BillingApi.const_get(return_type)
|
|
287
|
-
klass.respond_to?(:openapi_one_of)
|
|
286
|
+
if klass.respond_to?(:openapi_one_of) || klass.respond_to?(:openapi_any_of)
|
|
287
|
+
klass.build(data)
|
|
288
|
+
else
|
|
289
|
+
klass.build_from_hash(data)
|
|
290
|
+
end
|
|
288
291
|
end
|
|
289
292
|
end
|
|
290
293
|
|
|
@@ -294,7 +297,7 @@ module BillingApi
|
|
|
294
297
|
# @param [String] filename the filename to be sanitized
|
|
295
298
|
# @return [String] the sanitized filename
|
|
296
299
|
def sanitize_filename(filename)
|
|
297
|
-
filename.
|
|
300
|
+
filename.split(/[\/\\]/).last
|
|
298
301
|
end
|
|
299
302
|
|
|
300
303
|
def build_request_url(path, opts = {})
|
|
@@ -394,4 +397,4 @@ module BillingApi
|
|
|
394
397
|
end
|
|
395
398
|
end
|
|
396
399
|
end
|
|
397
|
-
end
|
|
400
|
+
end
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Billing API
|
|
3
|
+
|
|
4
|
+
#Automate your infrastructure billing with the Bare Metal Cloud Billing API. Reserve your server instances to ensure guaranteed resource availability for 12, 24, and 36 months. Retrieve your server’s rated usage for a given period and enable or disable auto-renewals.<br> <br> <span class='pnap-api-knowledge-base-link'> Knowledge base articles to help you can be found <a href='https://phoenixnap.com/kb/phoenixnap-bare-metal-cloud-billing-models' target='_blank'>here</a> </span><br> <br> <b>All URLs are relative to (https://api.phoenixnap.com/billing/v1/)</b>
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 0.1
|
|
7
|
+
Contact: support@phoenixnap.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.20.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
module BillingApi
|
|
14
|
+
class ApiModelBase
|
|
15
|
+
# Deserializes the data based on type
|
|
16
|
+
# @param string type Data type
|
|
17
|
+
# @param string value Value to be deserialized
|
|
18
|
+
# @return [Object] Deserialized data
|
|
19
|
+
def self._deserialize(type, value)
|
|
20
|
+
case type.to_sym
|
|
21
|
+
when :Time
|
|
22
|
+
Time.parse(value)
|
|
23
|
+
when :Date
|
|
24
|
+
Date.parse(value)
|
|
25
|
+
when :String
|
|
26
|
+
value.to_s
|
|
27
|
+
when :Integer
|
|
28
|
+
value.to_i
|
|
29
|
+
when :Float
|
|
30
|
+
value.to_f
|
|
31
|
+
when :Boolean
|
|
32
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
|
33
|
+
true
|
|
34
|
+
else
|
|
35
|
+
false
|
|
36
|
+
end
|
|
37
|
+
when :Object
|
|
38
|
+
# generic object (usually a Hash), return directly
|
|
39
|
+
value
|
|
40
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
|
41
|
+
inner_type = Regexp.last_match[:inner_type]
|
|
42
|
+
value.map { |v| _deserialize(inner_type, v) }
|
|
43
|
+
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
|
44
|
+
k_type = Regexp.last_match[:k_type]
|
|
45
|
+
v_type = Regexp.last_match[:v_type]
|
|
46
|
+
{}.tap do |hash|
|
|
47
|
+
value.each do |k, v|
|
|
48
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
else # model
|
|
52
|
+
# models (e.g. Pet) or oneOf
|
|
53
|
+
klass = BillingApi.const_get(type)
|
|
54
|
+
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
# Returns the string representation of the object
|
|
59
|
+
# @return [String] String presentation of the object
|
|
60
|
+
def to_s
|
|
61
|
+
to_hash.to_s
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
# to_body is an alias to to_hash (backward compatibility)
|
|
65
|
+
# @return [Hash] Returns the object in the form of hash
|
|
66
|
+
def to_body
|
|
67
|
+
to_hash
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
# Outputs non-array value in the form of hash
|
|
71
|
+
# For object, use to_hash. Otherwise, just return the value
|
|
72
|
+
# @param [Object] value Any valid value
|
|
73
|
+
# @return [Hash] Returns the value in the form of hash
|
|
74
|
+
def _to_hash(value)
|
|
75
|
+
if value.is_a?(Array)
|
|
76
|
+
value.compact.map { |v| _to_hash(v) }
|
|
77
|
+
elsif value.is_a?(Hash)
|
|
78
|
+
{}.tap do |hash|
|
|
79
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
80
|
+
end
|
|
81
|
+
elsif value.respond_to? :to_hash
|
|
82
|
+
value.to_hash
|
|
83
|
+
else
|
|
84
|
+
value
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
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
|
-
|
|
9
|
+
Generator version: 7.20.0
|
|
10
10
|
|
|
11
11
|
=end
|
|
12
12
|
|
|
@@ -79,6 +79,14 @@ module BillingApi
|
|
|
79
79
|
# @return [true, false]
|
|
80
80
|
attr_accessor :debugging
|
|
81
81
|
|
|
82
|
+
# Set this to ignore operation servers for the API client. This is useful when you need to
|
|
83
|
+
# send requests to a different server than the one specified in the OpenAPI document.
|
|
84
|
+
# Will default to the base url defined in the spec but can be overridden by setting
|
|
85
|
+
# `scheme`, `host`, `base_path` directly.
|
|
86
|
+
# Default to false.
|
|
87
|
+
# @return [true, false]
|
|
88
|
+
attr_accessor :ignore_operation_servers
|
|
89
|
+
|
|
82
90
|
# Defines the logger used for debugging.
|
|
83
91
|
# Default to `Rails.logger` (when in Rails) or logging to STDOUT.
|
|
84
92
|
#
|
|
@@ -166,6 +174,7 @@ module BillingApi
|
|
|
166
174
|
@timeout = 0
|
|
167
175
|
@params_encoding = nil
|
|
168
176
|
@debugging = false
|
|
177
|
+
@ignore_operation_servers = false
|
|
169
178
|
@inject_format = false
|
|
170
179
|
@force_ending_format = false
|
|
171
180
|
@logger = defined?(Rails) ? Rails.logger : Logger.new(STDOUT)
|
|
@@ -200,6 +209,7 @@ module BillingApi
|
|
|
200
209
|
|
|
201
210
|
# Returns base URL for specified operation based on server settings
|
|
202
211
|
def base_url(operation = nil)
|
|
212
|
+
return "#{scheme}://#{[host, base_path].join('/').gsub(/\/+/, '/')}".sub(/\/+\z/, '') if ignore_operation_servers
|
|
203
213
|
if operation_server_settings.key?(operation) then
|
|
204
214
|
index = server_operation_index.fetch(operation, server_index)
|
|
205
215
|
server_url(index.nil? ? 0 : index, server_operation_variables.fetch(operation, server_variables), operation_server_settings[operation])
|
|
@@ -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
|
-
|
|
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 ApplicableDiscountDetails
|
|
17
|
+
class ApplicableDiscountDetails < ApiModelBase
|
|
18
18
|
# A unique code associated with the discount.
|
|
19
19
|
attr_accessor :code
|
|
20
20
|
|
|
@@ -58,9 +58,14 @@ module BillingApi
|
|
|
58
58
|
}
|
|
59
59
|
end
|
|
60
60
|
|
|
61
|
+
# Returns attribute mapping this model knows about
|
|
62
|
+
def self.acceptable_attribute_map
|
|
63
|
+
attribute_map
|
|
64
|
+
end
|
|
65
|
+
|
|
61
66
|
# Returns all the JSON keys this model knows about
|
|
62
67
|
def self.acceptable_attributes
|
|
63
|
-
|
|
68
|
+
acceptable_attribute_map.values
|
|
64
69
|
end
|
|
65
70
|
|
|
66
71
|
# Attribute type mapping.
|
|
@@ -94,9 +99,10 @@ module BillingApi
|
|
|
94
99
|
end
|
|
95
100
|
|
|
96
101
|
# check to see if the attribute exists and convert string to symbol for hash key
|
|
102
|
+
acceptable_attribute_map = self.class.acceptable_attribute_map
|
|
97
103
|
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
98
|
-
if (!
|
|
99
|
-
fail ArgumentError, "`#{k}` is not a valid attribute in `BillingApi::ApplicableDiscountDetails`. Please check the name to make sure it's valid. List of attributes: " +
|
|
104
|
+
if (!acceptable_attribute_map.key?(k.to_sym))
|
|
105
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `BillingApi::ApplicableDiscountDetails`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
|
|
100
106
|
end
|
|
101
107
|
h[k.to_sym] = v
|
|
102
108
|
}
|
|
@@ -154,6 +160,36 @@ module BillingApi
|
|
|
154
160
|
true
|
|
155
161
|
end
|
|
156
162
|
|
|
163
|
+
# Custom attribute writer method with validation
|
|
164
|
+
# @param [Object] code Value to be assigned
|
|
165
|
+
def code=(code)
|
|
166
|
+
if code.nil?
|
|
167
|
+
fail ArgumentError, 'code cannot be nil'
|
|
168
|
+
end
|
|
169
|
+
|
|
170
|
+
@code = code
|
|
171
|
+
end
|
|
172
|
+
|
|
173
|
+
# Custom attribute writer method with validation
|
|
174
|
+
# @param [Object] type Value to be assigned
|
|
175
|
+
def type=(type)
|
|
176
|
+
if type.nil?
|
|
177
|
+
fail ArgumentError, 'type cannot be nil'
|
|
178
|
+
end
|
|
179
|
+
|
|
180
|
+
@type = type
|
|
181
|
+
end
|
|
182
|
+
|
|
183
|
+
# Custom attribute writer method with validation
|
|
184
|
+
# @param [Object] value Value to be assigned
|
|
185
|
+
def value=(value)
|
|
186
|
+
if value.nil?
|
|
187
|
+
fail ArgumentError, 'value cannot be nil'
|
|
188
|
+
end
|
|
189
|
+
|
|
190
|
+
@value = value
|
|
191
|
+
end
|
|
192
|
+
|
|
157
193
|
# Checks equality by comparing each attribute.
|
|
158
194
|
# @param [Object] Object to be compared
|
|
159
195
|
def ==(o)
|
|
@@ -200,61 +236,6 @@ module BillingApi
|
|
|
200
236
|
new(transformed_hash)
|
|
201
237
|
end
|
|
202
238
|
|
|
203
|
-
# Deserializes the data based on type
|
|
204
|
-
# @param string type Data type
|
|
205
|
-
# @param string value Value to be deserialized
|
|
206
|
-
# @return [Object] Deserialized data
|
|
207
|
-
def self._deserialize(type, value)
|
|
208
|
-
case type.to_sym
|
|
209
|
-
when :Time
|
|
210
|
-
Time.parse(value)
|
|
211
|
-
when :Date
|
|
212
|
-
Date.parse(value)
|
|
213
|
-
when :String
|
|
214
|
-
value.to_s
|
|
215
|
-
when :Integer
|
|
216
|
-
value.to_i
|
|
217
|
-
when :Float
|
|
218
|
-
value.to_f
|
|
219
|
-
when :Boolean
|
|
220
|
-
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
|
221
|
-
true
|
|
222
|
-
else
|
|
223
|
-
false
|
|
224
|
-
end
|
|
225
|
-
when :Object
|
|
226
|
-
# generic object (usually a Hash), return directly
|
|
227
|
-
value
|
|
228
|
-
when /\AArray<(?<inner_type>.+)>\z/
|
|
229
|
-
inner_type = Regexp.last_match[:inner_type]
|
|
230
|
-
value.map { |v| _deserialize(inner_type, v) }
|
|
231
|
-
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
|
232
|
-
k_type = Regexp.last_match[:k_type]
|
|
233
|
-
v_type = Regexp.last_match[:v_type]
|
|
234
|
-
{}.tap do |hash|
|
|
235
|
-
value.each do |k, v|
|
|
236
|
-
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
237
|
-
end
|
|
238
|
-
end
|
|
239
|
-
else # model
|
|
240
|
-
# models (e.g. Pet) or oneOf
|
|
241
|
-
klass = BillingApi.const_get(type)
|
|
242
|
-
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
243
|
-
end
|
|
244
|
-
end
|
|
245
|
-
|
|
246
|
-
# Returns the string representation of the object
|
|
247
|
-
# @return [String] String presentation of the object
|
|
248
|
-
def to_s
|
|
249
|
-
to_hash.to_s
|
|
250
|
-
end
|
|
251
|
-
|
|
252
|
-
# to_body is an alias to to_hash (backward compatibility)
|
|
253
|
-
# @return [Hash] Returns the object in the form of hash
|
|
254
|
-
def to_body
|
|
255
|
-
to_hash
|
|
256
|
-
end
|
|
257
|
-
|
|
258
239
|
# Returns the object in the form of hash
|
|
259
240
|
# @return [Hash] Returns the object in the form of hash
|
|
260
241
|
def to_hash
|
|
@@ -271,24 +252,6 @@ module BillingApi
|
|
|
271
252
|
hash
|
|
272
253
|
end
|
|
273
254
|
|
|
274
|
-
# Outputs non-array value in the form of hash
|
|
275
|
-
# For object, use to_hash. Otherwise, just return the value
|
|
276
|
-
# @param [Object] value Any valid value
|
|
277
|
-
# @return [Hash] Returns the value in the form of hash
|
|
278
|
-
def _to_hash(value)
|
|
279
|
-
if value.is_a?(Array)
|
|
280
|
-
value.compact.map { |v| _to_hash(v) }
|
|
281
|
-
elsif value.is_a?(Hash)
|
|
282
|
-
{}.tap do |hash|
|
|
283
|
-
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
284
|
-
end
|
|
285
|
-
elsif value.respond_to? :to_hash
|
|
286
|
-
value.to_hash
|
|
287
|
-
else
|
|
288
|
-
value
|
|
289
|
-
end
|
|
290
|
-
end
|
|
291
|
-
|
|
292
255
|
end
|
|
293
256
|
|
|
294
257
|
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
|
-
|
|
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
|
# Represents the applicable discount details for a product, including the discounted price and discount information.
|
|
18
|
-
class ApplicableDiscounts
|
|
18
|
+
class ApplicableDiscounts < ApiModelBase
|
|
19
19
|
# The price of the product after applying a discount.
|
|
20
20
|
attr_accessor :discounted_price
|
|
21
21
|
|
|
@@ -29,9 +29,14 @@ module BillingApi
|
|
|
29
29
|
}
|
|
30
30
|
end
|
|
31
31
|
|
|
32
|
+
# Returns attribute mapping this model knows about
|
|
33
|
+
def self.acceptable_attribute_map
|
|
34
|
+
attribute_map
|
|
35
|
+
end
|
|
36
|
+
|
|
32
37
|
# Returns all the JSON keys this model knows about
|
|
33
38
|
def self.acceptable_attributes
|
|
34
|
-
|
|
39
|
+
acceptable_attribute_map.values
|
|
35
40
|
end
|
|
36
41
|
|
|
37
42
|
# Attribute type mapping.
|
|
@@ -56,9 +61,10 @@ module BillingApi
|
|
|
56
61
|
end
|
|
57
62
|
|
|
58
63
|
# check to see if the attribute exists and convert string to symbol for hash key
|
|
64
|
+
acceptable_attribute_map = self.class.acceptable_attribute_map
|
|
59
65
|
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
60
|
-
if (!
|
|
61
|
-
fail ArgumentError, "`#{k}` is not a valid attribute in `BillingApi::ApplicableDiscounts`. Please check the name to make sure it's valid. List of attributes: " +
|
|
66
|
+
if (!acceptable_attribute_map.key?(k.to_sym))
|
|
67
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `BillingApi::ApplicableDiscounts`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
|
|
62
68
|
end
|
|
63
69
|
h[k.to_sym] = v
|
|
64
70
|
}
|
|
@@ -133,61 +139,6 @@ module BillingApi
|
|
|
133
139
|
new(transformed_hash)
|
|
134
140
|
end
|
|
135
141
|
|
|
136
|
-
# Deserializes the data based on type
|
|
137
|
-
# @param string type Data type
|
|
138
|
-
# @param string value Value to be deserialized
|
|
139
|
-
# @return [Object] Deserialized data
|
|
140
|
-
def self._deserialize(type, value)
|
|
141
|
-
case type.to_sym
|
|
142
|
-
when :Time
|
|
143
|
-
Time.parse(value)
|
|
144
|
-
when :Date
|
|
145
|
-
Date.parse(value)
|
|
146
|
-
when :String
|
|
147
|
-
value.to_s
|
|
148
|
-
when :Integer
|
|
149
|
-
value.to_i
|
|
150
|
-
when :Float
|
|
151
|
-
value.to_f
|
|
152
|
-
when :Boolean
|
|
153
|
-
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
|
154
|
-
true
|
|
155
|
-
else
|
|
156
|
-
false
|
|
157
|
-
end
|
|
158
|
-
when :Object
|
|
159
|
-
# generic object (usually a Hash), return directly
|
|
160
|
-
value
|
|
161
|
-
when /\AArray<(?<inner_type>.+)>\z/
|
|
162
|
-
inner_type = Regexp.last_match[:inner_type]
|
|
163
|
-
value.map { |v| _deserialize(inner_type, v) }
|
|
164
|
-
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
|
165
|
-
k_type = Regexp.last_match[:k_type]
|
|
166
|
-
v_type = Regexp.last_match[:v_type]
|
|
167
|
-
{}.tap do |hash|
|
|
168
|
-
value.each do |k, v|
|
|
169
|
-
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
170
|
-
end
|
|
171
|
-
end
|
|
172
|
-
else # model
|
|
173
|
-
# models (e.g. Pet) or oneOf
|
|
174
|
-
klass = BillingApi.const_get(type)
|
|
175
|
-
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
176
|
-
end
|
|
177
|
-
end
|
|
178
|
-
|
|
179
|
-
# Returns the string representation of the object
|
|
180
|
-
# @return [String] String presentation of the object
|
|
181
|
-
def to_s
|
|
182
|
-
to_hash.to_s
|
|
183
|
-
end
|
|
184
|
-
|
|
185
|
-
# to_body is an alias to to_hash (backward compatibility)
|
|
186
|
-
# @return [Hash] Returns the object in the form of hash
|
|
187
|
-
def to_body
|
|
188
|
-
to_hash
|
|
189
|
-
end
|
|
190
|
-
|
|
191
142
|
# Returns the object in the form of hash
|
|
192
143
|
# @return [Hash] Returns the object in the form of hash
|
|
193
144
|
def to_hash
|
|
@@ -204,24 +155,6 @@ module BillingApi
|
|
|
204
155
|
hash
|
|
205
156
|
end
|
|
206
157
|
|
|
207
|
-
# Outputs non-array value in the form of hash
|
|
208
|
-
# For object, use to_hash. Otherwise, just return the value
|
|
209
|
-
# @param [Object] value Any valid value
|
|
210
|
-
# @return [Hash] Returns the value in the form of hash
|
|
211
|
-
def _to_hash(value)
|
|
212
|
-
if value.is_a?(Array)
|
|
213
|
-
value.compact.map { |v| _to_hash(v) }
|
|
214
|
-
elsif value.is_a?(Hash)
|
|
215
|
-
{}.tap do |hash|
|
|
216
|
-
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
217
|
-
end
|
|
218
|
-
elsif value.respond_to? :to_hash
|
|
219
|
-
value.to_hash
|
|
220
|
-
else
|
|
221
|
-
value
|
|
222
|
-
end
|
|
223
|
-
end
|
|
224
|
-
|
|
225
158
|
end
|
|
226
159
|
|
|
227
160
|
end
|