orb-apiamtic-sdk 0.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.
Files changed (659) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +28 -0
  3. data/README.md +177 -0
  4. data/bin/console +15 -0
  5. data/lib/api_reference/api_helper.rb +10 -0
  6. data/lib/api_reference/apis/alert_api.rb +497 -0
  7. data/lib/api_reference/apis/availability_api.rb +51 -0
  8. data/lib/api_reference/apis/base_api.rb +65 -0
  9. data/lib/api_reference/apis/coupon_api.rb +250 -0
  10. data/lib/api_reference/apis/credit_api.rb +1269 -0
  11. data/lib/api_reference/apis/credit_note_api.rb +181 -0
  12. data/lib/api_reference/apis/customer_api.rb +1058 -0
  13. data/lib/api_reference/apis/dimensional_price_group_api.rb +289 -0
  14. data/lib/api_reference/apis/event_api.rb +776 -0
  15. data/lib/api_reference/apis/invoice_api.rb +933 -0
  16. data/lib/api_reference/apis/item_api.rb +224 -0
  17. data/lib/api_reference/apis/license_api.rb +452 -0
  18. data/lib/api_reference/apis/license_type_api.rb +147 -0
  19. data/lib/api_reference/apis/metric_api.rb +211 -0
  20. data/lib/api_reference/apis/plan_api.rb +763 -0
  21. data/lib/api_reference/apis/price_api.rb +538 -0
  22. data/lib/api_reference/apis/price_interval_api.rb +134 -0
  23. data/lib/api_reference/apis/subscription_api.rb +1575 -0
  24. data/lib/api_reference/apis/subscription_change_api.rb +213 -0
  25. data/lib/api_reference/client.rb +175 -0
  26. data/lib/api_reference/configuration.rb +166 -0
  27. data/lib/api_reference/exceptions/api_exception.rb +21 -0
  28. data/lib/api_reference/exceptions/authorization_error_exception.rb +60 -0
  29. data/lib/api_reference/exceptions/idempotency_request_mismatch_exception.rb +60 -0
  30. data/lib/api_reference/exceptions/server_error_exception.rb +61 -0
  31. data/lib/api_reference/exceptions/too_many_requests_exception.rb +60 -0
  32. data/lib/api_reference/http/api_response.rb +19 -0
  33. data/lib/api_reference/http/auth/oauth_2.rb +53 -0
  34. data/lib/api_reference/http/http_call_back.rb +10 -0
  35. data/lib/api_reference/http/http_method_enum.rb +10 -0
  36. data/lib/api_reference/http/http_request.rb +10 -0
  37. data/lib/api_reference/http/http_response.rb +10 -0
  38. data/lib/api_reference/http/proxy_settings.rb +22 -0
  39. data/lib/api_reference/logging/configuration/api_logging_configuration.rb +186 -0
  40. data/lib/api_reference/logging/sdk_logger.rb +17 -0
  41. data/lib/api_reference/models/accounting_provider.rb +108 -0
  42. data/lib/api_reference/models/accounting_provider_config.rb +84 -0
  43. data/lib/api_reference/models/accounting_sync_configuration.rb +117 -0
  44. data/lib/api_reference/models/action.rb +68 -0
  45. data/lib/api_reference/models/add_adjustment_interval_params.rb +148 -0
  46. data/lib/api_reference/models/add_amendment_credit_ledger_entry_request_params.rb +144 -0
  47. data/lib/api_reference/models/add_credit_top_up_request_params.rb +149 -0
  48. data/lib/api_reference/models/add_decrement_credit_ledger_entry_request_params.rb +145 -0
  49. data/lib/api_reference/models/add_edit_price_interval_params.rb +161 -0
  50. data/lib/api_reference/models/add_expiration_change_credit_ledger_entry_request_params.rb +193 -0
  51. data/lib/api_reference/models/add_increment_credit_ledger_entry_request_params.rb +237 -0
  52. data/lib/api_reference/models/add_plan_adjustment_params.rb +90 -0
  53. data/lib/api_reference/models/add_plan_price_params.rb +103 -0
  54. data/lib/api_reference/models/add_price_interval_params.rb +297 -0
  55. data/lib/api_reference/models/add_subscription_adjustment_params.rb +146 -0
  56. data/lib/api_reference/models/add_subscription_price_params.rb +234 -0
  57. data/lib/api_reference/models/add_void_credit_ledger_entry_request_params.rb +169 -0
  58. data/lib/api_reference/models/address.rb +162 -0
  59. data/lib/api_reference/models/address_input.rb +131 -0
  60. data/lib/api_reference/models/adjustment_interval.rb +163 -0
  61. data/lib/api_reference/models/affected_block.rb +155 -0
  62. data/lib/api_reference/models/aggregated_cost.rb +131 -0
  63. data/lib/api_reference/models/alert.rb +339 -0
  64. data/lib/api_reference/models/alerts.rb +92 -0
  65. data/lib/api_reference/models/allocation.rb +157 -0
  66. data/lib/api_reference/models/amend_event_result.rb +73 -0
  67. data/lib/api_reference/models/amended_event.rb +115 -0
  68. data/lib/api_reference/models/amendment_ledger_entry.rb +301 -0
  69. data/lib/api_reference/models/amount_discount.rb +150 -0
  70. data/lib/api_reference/models/amount_discount_creation_params.rb +81 -0
  71. data/lib/api_reference/models/amount_discount_interval.rb +187 -0
  72. data/lib/api_reference/models/api_pagination_params.rb +74 -0
  73. data/lib/api_reference/models/apply_params.rb +136 -0
  74. data/lib/api_reference/models/auto_collection.rb +157 -0
  75. data/lib/api_reference/models/backfill.rb +214 -0
  76. data/lib/api_reference/models/backfill_status.rb +44 -0
  77. data/lib/api_reference/models/backfills.rb +92 -0
  78. data/lib/api_reference/models/balance_alert_status.rb +105 -0
  79. data/lib/api_reference/models/base_model.rb +110 -0
  80. data/lib/api_reference/models/billable_metric.rb +155 -0
  81. data/lib/api_reference/models/billable_metric_minified.rb +86 -0
  82. data/lib/api_reference/models/billable_metric_simple.rb +104 -0
  83. data/lib/api_reference/models/billable_metric_tiny.rb +86 -0
  84. data/lib/api_reference/models/billable_metrics.rb +92 -0
  85. data/lib/api_reference/models/billing_cycle_alignment.rb +40 -0
  86. data/lib/api_reference/models/billing_cycle_anchor_configuration.rb +117 -0
  87. data/lib/api_reference/models/billing_cycle_configuration.rb +104 -0
  88. data/lib/api_reference/models/billing_mode.rb +36 -0
  89. data/lib/api_reference/models/block_price_filter.rb +114 -0
  90. data/lib/api_reference/models/bulk_config.rb +87 -0
  91. data/lib/api_reference/models/bulk_price.rb +584 -0
  92. data/lib/api_reference/models/bulk_tier.rb +87 -0
  93. data/lib/api_reference/models/bulk_tier_with_proration.rb +88 -0
  94. data/lib/api_reference/models/bulk_with_filters_config.rb +98 -0
  95. data/lib/api_reference/models/bulk_with_filters_config1.rb +116 -0
  96. data/lib/api_reference/models/bulk_with_filters_price.rb +587 -0
  97. data/lib/api_reference/models/bulk_with_filters_tier.rb +88 -0
  98. data/lib/api_reference/models/bulk_with_proration_config.rb +69 -0
  99. data/lib/api_reference/models/bulk_with_proration_config1.rb +87 -0
  100. data/lib/api_reference/models/bulk_with_proration_price.rb +587 -0
  101. data/lib/api_reference/models/cadence.rb +52 -0
  102. data/lib/api_reference/models/cadence104.rb +52 -0
  103. data/lib/api_reference/models/cadence34.rb +48 -0
  104. data/lib/api_reference/models/cancel_option.rb +40 -0
  105. data/lib/api_reference/models/cancel_subscription_params.rb +102 -0
  106. data/lib/api_reference/models/change_option.rb +42 -0
  107. data/lib/api_reference/models/change_option1.rb +40 -0
  108. data/lib/api_reference/models/changed_subscription_resources.rb +185 -0
  109. data/lib/api_reference/models/constraint_violation_error.rb +101 -0
  110. data/lib/api_reference/models/conversion_rate_tier.rb +82 -0
  111. data/lib/api_reference/models/conversion_rate_tiered_config.rb +69 -0
  112. data/lib/api_reference/models/conversion_rate_unit_config.rb +60 -0
  113. data/lib/api_reference/models/costs_request_params.rb +118 -0
  114. data/lib/api_reference/models/country.rb +492 -0
  115. data/lib/api_reference/models/coupon.rb +195 -0
  116. data/lib/api_reference/models/coupon_query_params.rb +99 -0
  117. data/lib/api_reference/models/coupon_redemption.rb +132 -0
  118. data/lib/api_reference/models/coupons.rb +92 -0
  119. data/lib/api_reference/models/create_credit_note_params.rb +120 -0
  120. data/lib/api_reference/models/create_customer_alert_request_params.rb +91 -0
  121. data/lib/api_reference/models/create_invoice_line_item_params.rb +128 -0
  122. data/lib/api_reference/models/create_one_off_invoice_params.rb +255 -0
  123. data/lib/api_reference/models/create_subscription_alert_request_params.rb +163 -0
  124. data/lib/api_reference/models/created_invoice.rb +851 -0
  125. data/lib/api_reference/models/credit_block.rb +231 -0
  126. data/lib/api_reference/models/credit_block_allocation.rb +140 -0
  127. data/lib/api_reference/models/credit_block_expiry_ledger_entry.rb +301 -0
  128. data/lib/api_reference/models/credit_block_invoices_response.rb +91 -0
  129. data/lib/api_reference/models/credit_block_source.rb +43 -0
  130. data/lib/api_reference/models/credit_ledger_entries.rb +109 -0
  131. data/lib/api_reference/models/credit_note.rb +338 -0
  132. data/lib/api_reference/models/credit_note_discount.rb +152 -0
  133. data/lib/api_reference/models/credit_note_discount_applies_to_price.rb +104 -0
  134. data/lib/api_reference/models/credit_note_line_item.rb +244 -0
  135. data/lib/api_reference/models/credit_note_line_item_discount.rb +173 -0
  136. data/lib/api_reference/models/credit_note_line_item_params.rb +116 -0
  137. data/lib/api_reference/models/credit_note_summary.rb +181 -0
  138. data/lib/api_reference/models/credit_note_tiny.rb +86 -0
  139. data/lib/api_reference/models/credit_notes.rb +92 -0
  140. data/lib/api_reference/models/cumulative_grouped_allocation_config.rb +94 -0
  141. data/lib/api_reference/models/cumulative_grouped_allocation_config1.rb +120 -0
  142. data/lib/api_reference/models/cumulative_grouped_allocation_price.rb +588 -0
  143. data/lib/api_reference/models/cumulative_grouped_bulk_config.rb +77 -0
  144. data/lib/api_reference/models/cumulative_grouped_bulk_config1.rb +103 -0
  145. data/lib/api_reference/models/cumulative_grouped_bulk_dimension_value.rb +105 -0
  146. data/lib/api_reference/models/cumulative_grouped_bulk_price.rb +588 -0
  147. data/lib/api_reference/models/custom_expiration.rb +104 -0
  148. data/lib/api_reference/models/customer.rb +511 -0
  149. data/lib/api_reference/models/customer_balance_transaction.rb +226 -0
  150. data/lib/api_reference/models/customer_balance_transactions.rb +92 -0
  151. data/lib/api_reference/models/customer_costs.rb +81 -0
  152. data/lib/api_reference/models/customer_credit_balance.rb +231 -0
  153. data/lib/api_reference/models/customer_credit_balances.rb +92 -0
  154. data/lib/api_reference/models/customer_hierarchy.rb +93 -0
  155. data/lib/api_reference/models/customer_hierarchy2.rb +121 -0
  156. data/lib/api_reference/models/customer_hierarchy_config.rb +92 -0
  157. data/lib/api_reference/models/customer_minified.rb +107 -0
  158. data/lib/api_reference/models/customer_tax_id.rb +224 -0
  159. data/lib/api_reference/models/customers.rb +92 -0
  160. data/lib/api_reference/models/daily_credit_allowance_config.rb +119 -0
  161. data/lib/api_reference/models/daily_credit_allowance_config1.rb +150 -0
  162. data/lib/api_reference/models/daily_credit_allowance_matrix_value.rb +93 -0
  163. data/lib/api_reference/models/daily_credit_allowance_price.rb +588 -0
  164. data/lib/api_reference/models/date_type.rb +36 -0
  165. data/lib/api_reference/models/deactivate_license.rb +65 -0
  166. data/lib/api_reference/models/debug.rb +82 -0
  167. data/lib/api_reference/models/decrement_ledger_entry.rb +342 -0
  168. data/lib/api_reference/models/deprecated_event_result.rb +74 -0
  169. data/lib/api_reference/models/dimensional_price_configuration.rb +108 -0
  170. data/lib/api_reference/models/dimensional_price_group.rb +134 -0
  171. data/lib/api_reference/models/dimensional_price_groups.rb +92 -0
  172. data/lib/api_reference/models/discount_override.rb +116 -0
  173. data/lib/api_reference/models/discount_type.rb +40 -0
  174. data/lib/api_reference/models/discount_type1.rb +36 -0
  175. data/lib/api_reference/models/duplicate_resource_creation_error.rb +101 -0
  176. data/lib/api_reference/models/duration_unit.rb +36 -0
  177. data/lib/api_reference/models/duration_unit1.rb +36 -0
  178. data/lib/api_reference/models/duration_unit3.rb +48 -0
  179. data/lib/api_reference/models/edit_adjustment_interval_params.rb +130 -0
  180. data/lib/api_reference/models/edit_customer.rb +351 -0
  181. data/lib/api_reference/models/edit_dimensional_price_group.rb +86 -0
  182. data/lib/api_reference/models/edit_plan.rb +91 -0
  183. data/lib/api_reference/models/edit_price_interval_params.rb +237 -0
  184. data/lib/api_reference/models/effective_time.rb +26 -0
  185. data/lib/api_reference/models/end_of_term.rb +26 -0
  186. data/lib/api_reference/models/entry_status.rb +36 -0
  187. data/lib/api_reference/models/entry_type.rb +56 -0
  188. data/lib/api_reference/models/evaluate_multiple_price_resource.rb +81 -0
  189. data/lib/api_reference/models/evaluate_multiple_prices_body.rb +129 -0
  190. data/lib/api_reference/models/evaluate_multiple_prices_with_preview_events_body.rb +148 -0
  191. data/lib/api_reference/models/evaluate_price_body.rb +153 -0
  192. data/lib/api_reference/models/evaluate_price_group.rb +120 -0
  193. data/lib/api_reference/models/evaluate_price_resource.rb +81 -0
  194. data/lib/api_reference/models/evaluate_price_resource_for_multiple_price.rb +130 -0
  195. data/lib/api_reference/models/event.rb +149 -0
  196. data/lib/api_reference/models/event_output_config.rb +90 -0
  197. data/lib/api_reference/models/event_output_config1.rb +104 -0
  198. data/lib/api_reference/models/event_output_price.rb +585 -0
  199. data/lib/api_reference/models/event_search_criteria.rb +106 -0
  200. data/lib/api_reference/models/event_volume.rb +107 -0
  201. data/lib/api_reference/models/event_volume_params.rb +115 -0
  202. data/lib/api_reference/models/event_volumes.rb +81 -0
  203. data/lib/api_reference/models/events.rb +81 -0
  204. data/lib/api_reference/models/expiration_change_ledger_entry.rb +324 -0
  205. data/lib/api_reference/models/expires_after_unit.rb +36 -0
  206. data/lib/api_reference/models/external_connection_name.rb +44 -0
  207. data/lib/api_reference/models/external_connection_name1.rb +48 -0
  208. data/lib/api_reference/models/external_marketplace.rb +40 -0
  209. data/lib/api_reference/models/feature_not_available_error.rb +101 -0
  210. data/lib/api_reference/models/fetch_customer_credit_blocks_query_params.rb +181 -0
  211. data/lib/api_reference/models/fetch_customer_credit_ledger_query_params.rb +198 -0
  212. data/lib/api_reference/models/fetch_license_by_external_id.rb +72 -0
  213. data/lib/api_reference/models/fetch_subscription_schedule_query_params.rb +157 -0
  214. data/lib/api_reference/models/fetch_upcoming_invoice_params.rb +61 -0
  215. data/lib/api_reference/models/field.rb +48 -0
  216. data/lib/api_reference/models/filter_rule.rb +92 -0
  217. data/lib/api_reference/models/fixed_fee_quantity_change.rb +116 -0
  218. data/lib/api_reference/models/fixed_fee_quantity_schedule_entry.rb +145 -0
  219. data/lib/api_reference/models/fixed_fee_quantity_transition.rb +124 -0
  220. data/lib/api_reference/models/granularity.rb +26 -0
  221. data/lib/api_reference/models/grouped_allocation_config.rb +79 -0
  222. data/lib/api_reference/models/grouped_allocation_config1.rb +105 -0
  223. data/lib/api_reference/models/grouped_allocation_price.rb +587 -0
  224. data/lib/api_reference/models/grouped_subscription_usage.rb +114 -0
  225. data/lib/api_reference/models/grouped_subscription_usage_record.rb +149 -0
  226. data/lib/api_reference/models/grouped_tiered_config.rb +78 -0
  227. data/lib/api_reference/models/grouped_tiered_config1.rb +104 -0
  228. data/lib/api_reference/models/grouped_tiered_package_price.rb +588 -0
  229. data/lib/api_reference/models/grouped_tiered_package_pricing_config.rb +89 -0
  230. data/lib/api_reference/models/grouped_tiered_package_pricing_config1.rb +119 -0
  231. data/lib/api_reference/models/grouped_tiered_package_tier_item.rb +92 -0
  232. data/lib/api_reference/models/grouped_tiered_price.rb +586 -0
  233. data/lib/api_reference/models/grouped_tiered_tier.rb +92 -0
  234. data/lib/api_reference/models/grouped_with_metered_minimum_config.rb +127 -0
  235. data/lib/api_reference/models/grouped_with_metered_minimum_config1.rb +173 -0
  236. data/lib/api_reference/models/grouped_with_metered_minimum_price.rb +588 -0
  237. data/lib/api_reference/models/grouped_with_metered_minimum_scaling_factor_item.rb +92 -0
  238. data/lib/api_reference/models/grouped_with_metered_minimum_unit_amount_item.rb +91 -0
  239. data/lib/api_reference/models/grouped_with_min_max_thresholds_config.rb +90 -0
  240. data/lib/api_reference/models/grouped_with_min_max_thresholds_config1.rb +120 -0
  241. data/lib/api_reference/models/grouped_with_min_max_thresholds_price.rb +588 -0
  242. data/lib/api_reference/models/grouped_with_prorated_minimum_config.rb +78 -0
  243. data/lib/api_reference/models/grouped_with_prorated_minimum_config1.rb +104 -0
  244. data/lib/api_reference/models/grouped_with_prorated_minimum_price.rb +588 -0
  245. data/lib/api_reference/models/increment_credit_ledger_entry_invoice_settings.rb +197 -0
  246. data/lib/api_reference/models/increment_ledger_entry.rb +322 -0
  247. data/lib/api_reference/models/ingest_event.rb +127 -0
  248. data/lib/api_reference/models/ingest_event_idempotency_key_only.rb +75 -0
  249. data/lib/api_reference/models/ingest_query_params.rb +75 -0
  250. data/lib/api_reference/models/ingest_request_body.rb +69 -0
  251. data/lib/api_reference/models/ingestion_response.rb +97 -0
  252. data/lib/api_reference/models/invoice.rb +843 -0
  253. data/lib/api_reference/models/invoice_line_item.rb +359 -0
  254. data/lib/api_reference/models/invoice_line_item_params.rb +157 -0
  255. data/lib/api_reference/models/invoice_minified.rb +112 -0
  256. data/lib/api_reference/models/invoice_source.rb +40 -0
  257. data/lib/api_reference/models/invoice_summary.rb +525 -0
  258. data/lib/api_reference/models/invoice_summarys.rb +92 -0
  259. data/lib/api_reference/models/invoice_tiny.rb +86 -0
  260. data/lib/api_reference/models/invoices.rb +92 -0
  261. data/lib/api_reference/models/issue_invoice_request_params.rb +66 -0
  262. data/lib/api_reference/models/item.rb +154 -0
  263. data/lib/api_reference/models/item_external_connection.rb +110 -0
  264. data/lib/api_reference/models/item_slim.rb +105 -0
  265. data/lib/api_reference/models/items.rb +92 -0
  266. data/lib/api_reference/models/license_api_resource.rb +147 -0
  267. data/lib/api_reference/models/license_api_resources.rb +92 -0
  268. data/lib/api_reference/models/license_type.rb +119 -0
  269. data/lib/api_reference/models/license_type_minified.rb +86 -0
  270. data/lib/api_reference/models/license_types.rb +92 -0
  271. data/lib/api_reference/models/license_usage.rb +203 -0
  272. data/lib/api_reference/models/license_usage_by_external_id_query_params.rb +133 -0
  273. data/lib/api_reference/models/license_usage_by_type_query_params.rb +132 -0
  274. data/lib/api_reference/models/license_usage_query_params.rb +110 -0
  275. data/lib/api_reference/models/license_usages.rb +92 -0
  276. data/lib/api_reference/models/list_alerts_query_params.rb +189 -0
  277. data/lib/api_reference/models/list_credit_notes_params.rb +157 -0
  278. data/lib/api_reference/models/list_customer_balance_transactions_query_params.rb +158 -0
  279. data/lib/api_reference/models/list_customers_query_params.rb +157 -0
  280. data/lib/api_reference/models/list_invoices_params.rb +345 -0
  281. data/lib/api_reference/models/list_licenses_params.rb +125 -0
  282. data/lib/api_reference/models/list_metrics_query_params.rb +157 -0
  283. data/lib/api_reference/models/list_plans_query_params.rb +163 -0
  284. data/lib/api_reference/models/list_subscription_changes_query_params.rb +112 -0
  285. data/lib/api_reference/models/list_subscriptions_query_params.rb +258 -0
  286. data/lib/api_reference/models/map_item_request_params.rb +103 -0
  287. data/lib/api_reference/models/mark_as_paid_request_params.rb +85 -0
  288. data/lib/api_reference/models/matrix_cell.rb +108 -0
  289. data/lib/api_reference/models/matrix_config.rb +119 -0
  290. data/lib/api_reference/models/matrix_price.rb +584 -0
  291. data/lib/api_reference/models/matrix_sub_line_item.rb +173 -0
  292. data/lib/api_reference/models/matrix_value.rb +92 -0
  293. data/lib/api_reference/models/matrix_with_allocation_config.rb +99 -0
  294. data/lib/api_reference/models/matrix_with_allocation_config1.rb +133 -0
  295. data/lib/api_reference/models/matrix_with_allocation_price.rb +588 -0
  296. data/lib/api_reference/models/matrix_with_allocation_value_item.rb +94 -0
  297. data/lib/api_reference/models/matrix_with_display_name_config.rb +77 -0
  298. data/lib/api_reference/models/matrix_with_display_name_config1.rb +103 -0
  299. data/lib/api_reference/models/matrix_with_display_name_price.rb +588 -0
  300. data/lib/api_reference/models/matrix_with_display_name_unit_amount_item.rb +105 -0
  301. data/lib/api_reference/models/matrix_with_threshold_discounts_config.rb +130 -0
  302. data/lib/api_reference/models/matrix_with_threshold_discounts_config1.rb +157 -0
  303. data/lib/api_reference/models/matrix_with_threshold_discounts_price.rb +588 -0
  304. data/lib/api_reference/models/max_group_tiered_package_config.rb +90 -0
  305. data/lib/api_reference/models/max_group_tiered_package_config1.rb +120 -0
  306. data/lib/api_reference/models/max_group_tiered_package_price.rb +588 -0
  307. data/lib/api_reference/models/max_group_tiered_tier_item.rb +92 -0
  308. data/lib/api_reference/models/maximum.rb +135 -0
  309. data/lib/api_reference/models/maximum_interval.rb +177 -0
  310. data/lib/api_reference/models/metered_allowance_config.rb +130 -0
  311. data/lib/api_reference/models/metered_allowance_config1.rb +152 -0
  312. data/lib/api_reference/models/metered_allowance_price.rb +587 -0
  313. data/lib/api_reference/models/metric_group.rb +105 -0
  314. data/lib/api_reference/models/minimum.rb +135 -0
  315. data/lib/api_reference/models/minimum_composite_config.rb +73 -0
  316. data/lib/api_reference/models/minimum_composite_config1.rb +87 -0
  317. data/lib/api_reference/models/minimum_composite_price.rb +587 -0
  318. data/lib/api_reference/models/minimum_interval.rb +177 -0
  319. data/lib/api_reference/models/monetary_amount_discount_adjustment.rb +219 -0
  320. data/lib/api_reference/models/monetary_maximum_adjustment.rb +218 -0
  321. data/lib/api_reference/models/monetary_minimum_adjustment.rb +231 -0
  322. data/lib/api_reference/models/monetary_percentage_discount_adjustment.rb +219 -0
  323. data/lib/api_reference/models/monetary_tiered_percentage_discount_adjustment.rb +230 -0
  324. data/lib/api_reference/models/monetary_usage_discount_adjustment.rb +218 -0
  325. data/lib/api_reference/models/mutated_subscription.rb +683 -0
  326. data/lib/api_reference/models/new_accounting_sync_configuration.rb +98 -0
  327. data/lib/api_reference/models/new_allocation_price.rb +221 -0
  328. data/lib/api_reference/models/new_amount_discount.rb +202 -0
  329. data/lib/api_reference/models/new_anrok_configuration.rb +100 -0
  330. data/lib/api_reference/models/new_avalara_tax_configuration.rb +114 -0
  331. data/lib/api_reference/models/new_backfill.rb +165 -0
  332. data/lib/api_reference/models/new_billable_metric.rb +101 -0
  333. data/lib/api_reference/models/new_billing_cycle_configuration.rb +104 -0
  334. data/lib/api_reference/models/new_coupon.rb +123 -0
  335. data/lib/api_reference/models/new_coupon_amount_discount.rb +103 -0
  336. data/lib/api_reference/models/new_coupon_percentage_discount.rb +103 -0
  337. data/lib/api_reference/models/new_customer.rb +333 -0
  338. data/lib/api_reference/models/new_customer_balance_transaction.rb +81 -0
  339. data/lib/api_reference/models/new_dimensional_price_configuration.rb +126 -0
  340. data/lib/api_reference/models/new_dimensional_price_group.rb +115 -0
  341. data/lib/api_reference/models/new_floating_bulk_price.rb +333 -0
  342. data/lib/api_reference/models/new_floating_bulk_with_filters_price.rb +336 -0
  343. data/lib/api_reference/models/new_floating_bulk_with_proration_price.rb +336 -0
  344. data/lib/api_reference/models/new_floating_cumulative_grouped_allocation_price.rb +337 -0
  345. data/lib/api_reference/models/new_floating_cumulative_grouped_bulk_price.rb +337 -0
  346. data/lib/api_reference/models/new_floating_daily_credit_allowance_price.rb +337 -0
  347. data/lib/api_reference/models/new_floating_event_output_price.rb +334 -0
  348. data/lib/api_reference/models/new_floating_grouped_allocation_price.rb +336 -0
  349. data/lib/api_reference/models/new_floating_grouped_tiered_package_price.rb +337 -0
  350. data/lib/api_reference/models/new_floating_grouped_tiered_price.rb +335 -0
  351. data/lib/api_reference/models/new_floating_grouped_with_metered_minimum_price.rb +337 -0
  352. data/lib/api_reference/models/new_floating_grouped_with_min_max_thresholds_price.rb +337 -0
  353. data/lib/api_reference/models/new_floating_grouped_with_prorated_minimum_price.rb +337 -0
  354. data/lib/api_reference/models/new_floating_matrix_price.rb +333 -0
  355. data/lib/api_reference/models/new_floating_matrix_with_allocation_price.rb +337 -0
  356. data/lib/api_reference/models/new_floating_matrix_with_display_name_price.rb +337 -0
  357. data/lib/api_reference/models/new_floating_matrix_with_threshold_discounts_price.rb +337 -0
  358. data/lib/api_reference/models/new_floating_max_group_tiered_package_price.rb +337 -0
  359. data/lib/api_reference/models/new_floating_metered_allowance_price.rb +336 -0
  360. data/lib/api_reference/models/new_floating_minimum_composite_price.rb +336 -0
  361. data/lib/api_reference/models/new_floating_package_price.rb +333 -0
  362. data/lib/api_reference/models/new_floating_package_with_allocation_price.rb +337 -0
  363. data/lib/api_reference/models/new_floating_percent_composite_price.rb +334 -0
  364. data/lib/api_reference/models/new_floating_scalable_matrix_with_tiered_pricing_price.rb +338 -0
  365. data/lib/api_reference/models/new_floating_scalable_matrix_with_unit_pricing_price.rb +338 -0
  366. data/lib/api_reference/models/new_floating_threshold_total_amount_price.rb +337 -0
  367. data/lib/api_reference/models/new_floating_tiered_package_price.rb +336 -0
  368. data/lib/api_reference/models/new_floating_tiered_package_with_minimum_price.rb +337 -0
  369. data/lib/api_reference/models/new_floating_tiered_price.rb +333 -0
  370. data/lib/api_reference/models/new_floating_tiered_with_minimum_price.rb +336 -0
  371. data/lib/api_reference/models/new_floating_tiered_with_proration_price.rb +336 -0
  372. data/lib/api_reference/models/new_floating_unit_price.rb +333 -0
  373. data/lib/api_reference/models/new_floating_unit_with_percent_price.rb +336 -0
  374. data/lib/api_reference/models/new_floating_unit_with_proration_price.rb +336 -0
  375. data/lib/api_reference/models/new_item.rb +74 -0
  376. data/lib/api_reference/models/new_license.rb +108 -0
  377. data/lib/api_reference/models/new_license_allocation.rb +97 -0
  378. data/lib/api_reference/models/new_license_allocation_unit_price.rb +330 -0
  379. data/lib/api_reference/models/new_license_type.rb +69 -0
  380. data/lib/api_reference/models/new_license_type_configuration.rb +78 -0
  381. data/lib/api_reference/models/new_maximum.rb +202 -0
  382. data/lib/api_reference/models/new_minimum.rb +215 -0
  383. data/lib/api_reference/models/new_numeral_configuration.rb +100 -0
  384. data/lib/api_reference/models/new_percentage_discount.rb +202 -0
  385. data/lib/api_reference/models/new_plan.rb +210 -0
  386. data/lib/api_reference/models/new_plan_bulk_price.rb +310 -0
  387. data/lib/api_reference/models/new_plan_bulk_with_filters_price.rb +313 -0
  388. data/lib/api_reference/models/new_plan_bulk_with_proration_price.rb +313 -0
  389. data/lib/api_reference/models/new_plan_cumulative_grouped_allocation_price.rb +314 -0
  390. data/lib/api_reference/models/new_plan_cumulative_grouped_bulk_price.rb +314 -0
  391. data/lib/api_reference/models/new_plan_daily_credit_allowance_price.rb +314 -0
  392. data/lib/api_reference/models/new_plan_event_output_price.rb +311 -0
  393. data/lib/api_reference/models/new_plan_grouped_allocation_price.rb +313 -0
  394. data/lib/api_reference/models/new_plan_grouped_tiered_package_price.rb +314 -0
  395. data/lib/api_reference/models/new_plan_grouped_tiered_price.rb +312 -0
  396. data/lib/api_reference/models/new_plan_grouped_with_metered_minimum_price.rb +314 -0
  397. data/lib/api_reference/models/new_plan_grouped_with_min_max_thresholds_price.rb +314 -0
  398. data/lib/api_reference/models/new_plan_grouped_with_prorated_minimum_price.rb +314 -0
  399. data/lib/api_reference/models/new_plan_matrix_price.rb +310 -0
  400. data/lib/api_reference/models/new_plan_matrix_with_allocation_price.rb +314 -0
  401. data/lib/api_reference/models/new_plan_matrix_with_display_name_price.rb +314 -0
  402. data/lib/api_reference/models/new_plan_matrix_with_threshold_discounts_price.rb +314 -0
  403. data/lib/api_reference/models/new_plan_max_group_tiered_package_price.rb +314 -0
  404. data/lib/api_reference/models/new_plan_metered_allowance_price.rb +313 -0
  405. data/lib/api_reference/models/new_plan_minimum_composite_price.rb +313 -0
  406. data/lib/api_reference/models/new_plan_package_price.rb +310 -0
  407. data/lib/api_reference/models/new_plan_package_with_allocation_price.rb +314 -0
  408. data/lib/api_reference/models/new_plan_percent_composite_price.rb +311 -0
  409. data/lib/api_reference/models/new_plan_phase.rb +104 -0
  410. data/lib/api_reference/models/new_plan_scalable_matrix_with_tiered_pricing_price.rb +315 -0
  411. data/lib/api_reference/models/new_plan_scalable_matrix_with_unit_pricing_price.rb +315 -0
  412. data/lib/api_reference/models/new_plan_threshold_total_amount_price.rb +314 -0
  413. data/lib/api_reference/models/new_plan_tiered_package_price.rb +313 -0
  414. data/lib/api_reference/models/new_plan_tiered_package_with_minimum_price.rb +314 -0
  415. data/lib/api_reference/models/new_plan_tiered_price.rb +310 -0
  416. data/lib/api_reference/models/new_plan_tiered_with_minimum_price.rb +313 -0
  417. data/lib/api_reference/models/new_plan_tiered_with_proration_price.rb +313 -0
  418. data/lib/api_reference/models/new_plan_unit_price.rb +310 -0
  419. data/lib/api_reference/models/new_plan_unit_with_percent_price.rb +313 -0
  420. data/lib/api_reference/models/new_plan_unit_with_proration_price.rb +313 -0
  421. data/lib/api_reference/models/new_plan_version.rb +197 -0
  422. data/lib/api_reference/models/new_portal_session.rb +78 -0
  423. data/lib/api_reference/models/new_reporting_configuration.rb +73 -0
  424. data/lib/api_reference/models/new_sphere_configuration.rb +100 -0
  425. data/lib/api_reference/models/new_stripe_tax_configuration.rb +100 -0
  426. data/lib/api_reference/models/new_subscription.rb +603 -0
  427. data/lib/api_reference/models/new_subscription_bulk_price.rb +310 -0
  428. data/lib/api_reference/models/new_subscription_bulk_with_filters_price.rb +313 -0
  429. data/lib/api_reference/models/new_subscription_bulk_with_proration_price.rb +313 -0
  430. data/lib/api_reference/models/new_subscription_cumulative_grouped_allocation_price.rb +314 -0
  431. data/lib/api_reference/models/new_subscription_cumulative_grouped_bulk_price.rb +314 -0
  432. data/lib/api_reference/models/new_subscription_daily_credit_allowance_price.rb +314 -0
  433. data/lib/api_reference/models/new_subscription_event_output_price.rb +311 -0
  434. data/lib/api_reference/models/new_subscription_grouped_allocation_price.rb +313 -0
  435. data/lib/api_reference/models/new_subscription_grouped_tiered_package_price.rb +314 -0
  436. data/lib/api_reference/models/new_subscription_grouped_tiered_price.rb +312 -0
  437. data/lib/api_reference/models/new_subscription_grouped_with_metered_minimum_price.rb +314 -0
  438. data/lib/api_reference/models/new_subscription_grouped_with_min_max_thresholds_price.rb +314 -0
  439. data/lib/api_reference/models/new_subscription_grouped_with_prorated_minimum_price.rb +314 -0
  440. data/lib/api_reference/models/new_subscription_matrix_price.rb +310 -0
  441. data/lib/api_reference/models/new_subscription_matrix_with_allocation_price.rb +314 -0
  442. data/lib/api_reference/models/new_subscription_matrix_with_display_name_price.rb +314 -0
  443. data/lib/api_reference/models/new_subscription_matrix_with_threshold_discounts_price.rb +314 -0
  444. data/lib/api_reference/models/new_subscription_max_group_tiered_package_price.rb +314 -0
  445. data/lib/api_reference/models/new_subscription_metered_allowance_price.rb +313 -0
  446. data/lib/api_reference/models/new_subscription_minimum_composite_price.rb +313 -0
  447. data/lib/api_reference/models/new_subscription_package_price.rb +310 -0
  448. data/lib/api_reference/models/new_subscription_package_with_allocation_price.rb +314 -0
  449. data/lib/api_reference/models/new_subscription_percent_composite_price.rb +311 -0
  450. data/lib/api_reference/models/new_subscription_scalable_matrix_with_tiered_pricing_price.rb +315 -0
  451. data/lib/api_reference/models/new_subscription_scalable_matrix_with_unit_pricing_price.rb +315 -0
  452. data/lib/api_reference/models/new_subscription_threshold_total_amount_price.rb +314 -0
  453. data/lib/api_reference/models/new_subscription_tiered_package_price.rb +313 -0
  454. data/lib/api_reference/models/new_subscription_tiered_package_with_minimum_price.rb +314 -0
  455. data/lib/api_reference/models/new_subscription_tiered_price.rb +310 -0
  456. data/lib/api_reference/models/new_subscription_tiered_with_minimum_price.rb +313 -0
  457. data/lib/api_reference/models/new_subscription_tiered_with_proration_price.rb +313 -0
  458. data/lib/api_reference/models/new_subscription_unit_price.rb +310 -0
  459. data/lib/api_reference/models/new_subscription_unit_with_percent_price.rb +313 -0
  460. data/lib/api_reference/models/new_subscription_unit_with_proration_price.rb +313 -0
  461. data/lib/api_reference/models/new_tax_jar_configuration.rb +100 -0
  462. data/lib/api_reference/models/new_tiered_percentage_discount.rb +214 -0
  463. data/lib/api_reference/models/new_tiered_percentage_discount_tier.rb +118 -0
  464. data/lib/api_reference/models/new_top_up_invoice_settings.rb +117 -0
  465. data/lib/api_reference/models/new_top_up_invoice_settings2.rb +117 -0
  466. data/lib/api_reference/models/new_usage_discount.rb +202 -0
  467. data/lib/api_reference/models/operator.rb +36 -0
  468. data/lib/api_reference/models/other_sub_line_item.rb +144 -0
  469. data/lib/api_reference/models/package_config.rb +93 -0
  470. data/lib/api_reference/models/package_price.rb +584 -0
  471. data/lib/api_reference/models/package_with_allocation_config.rb +79 -0
  472. data/lib/api_reference/models/package_with_allocation_config1.rb +105 -0
  473. data/lib/api_reference/models/package_with_allocation_price.rb +588 -0
  474. data/lib/api_reference/models/pagination_metadata.rb +106 -0
  475. data/lib/api_reference/models/pay_invoice_params.rb +62 -0
  476. data/lib/api_reference/models/payment_attempt.rb +184 -0
  477. data/lib/api_reference/models/payment_configuration.rb +95 -0
  478. data/lib/api_reference/models/payment_configuration_item.rb +126 -0
  479. data/lib/api_reference/models/payment_method.rb +188 -0
  480. data/lib/api_reference/models/payment_method_type.rb +49 -0
  481. data/lib/api_reference/models/payment_provider.rb +36 -0
  482. data/lib/api_reference/models/payment_provider1.rb +52 -0
  483. data/lib/api_reference/models/per_price_cost.rb +145 -0
  484. data/lib/api_reference/models/percent_composite_config.rb +109 -0
  485. data/lib/api_reference/models/percent_composite_config1.rb +112 -0
  486. data/lib/api_reference/models/percent_composite_price.rb +585 -0
  487. data/lib/api_reference/models/percentage_discount.rb +151 -0
  488. data/lib/api_reference/models/percentage_discount_creation_params.rb +104 -0
  489. data/lib/api_reference/models/percentage_discount_interval.rb +188 -0
  490. data/lib/api_reference/models/percentage_tier.rb +122 -0
  491. data/lib/api_reference/models/ping_response.rb +73 -0
  492. data/lib/api_reference/models/plan.rb +501 -0
  493. data/lib/api_reference/models/plan_minified.rb +125 -0
  494. data/lib/api_reference/models/plan_minified_with_version.rb +141 -0
  495. data/lib/api_reference/models/plan_phase.rb +244 -0
  496. data/lib/api_reference/models/plan_phase_amount_discount_adjustment.rb +221 -0
  497. data/lib/api_reference/models/plan_phase_maximum_adjustment.rb +221 -0
  498. data/lib/api_reference/models/plan_phase_minimum_adjustment.rb +233 -0
  499. data/lib/api_reference/models/plan_phase_percentage_discount_adjustment.rb +221 -0
  500. data/lib/api_reference/models/plan_phase_tiered_percentage_discount_adjustment.rb +233 -0
  501. data/lib/api_reference/models/plan_phase_usage_discount_adjustment.rb +221 -0
  502. data/lib/api_reference/models/plan_version.rb +172 -0
  503. data/lib/api_reference/models/plan_version_change.rb +143 -0
  504. data/lib/api_reference/models/plan_version_changes.rb +92 -0
  505. data/lib/api_reference/models/plan_version_phase.rb +163 -0
  506. data/lib/api_reference/models/plans.rb +92 -0
  507. data/lib/api_reference/models/portal_session.rb +124 -0
  508. data/lib/api_reference/models/preview_event.rb +115 -0
  509. data/lib/api_reference/models/price_evaluation_request.rb +157 -0
  510. data/lib/api_reference/models/price_filter.rb +116 -0
  511. data/lib/api_reference/models/price_group.rb +132 -0
  512. data/lib/api_reference/models/price_interval.rb +319 -0
  513. data/lib/api_reference/models/price_interval_fixed_fee_quantity_transition_params.rb +112 -0
  514. data/lib/api_reference/models/price_type.rb +48 -0
  515. data/lib/api_reference/models/price_type6.rb +40 -0
  516. data/lib/api_reference/models/prices.rb +109 -0
  517. data/lib/api_reference/models/product.rb +123 -0
  518. data/lib/api_reference/models/provider_type.rb +36 -0
  519. data/lib/api_reference/models/quantity_only_override_price.rb +147 -0
  520. data/lib/api_reference/models/reason.rb +44 -0
  521. data/lib/api_reference/models/reason1.rb +44 -0
  522. data/lib/api_reference/models/redeem_coupon_params.rb +126 -0
  523. data/lib/api_reference/models/remove_plan_adjustment_params.rb +74 -0
  524. data/lib/api_reference/models/remove_plan_price_params.rb +74 -0
  525. data/lib/api_reference/models/remove_subscription_adjustment_params.rb +74 -0
  526. data/lib/api_reference/models/remove_subscription_price_params.rb +90 -0
  527. data/lib/api_reference/models/replace_plan_adjustment_params.rb +108 -0
  528. data/lib/api_reference/models/replace_plan_price_params.rb +112 -0
  529. data/lib/api_reference/models/replace_subscription_adjustment_params.rb +108 -0
  530. data/lib/api_reference/models/replace_subscription_price_params.rb +203 -0
  531. data/lib/api_reference/models/reporting_configuration.rb +87 -0
  532. data/lib/api_reference/models/request_too_large_error.rb +101 -0
  533. data/lib/api_reference/models/request_validation_error.rb +112 -0
  534. data/lib/api_reference/models/resource_not_found_error.rb +99 -0
  535. data/lib/api_reference/models/resource_too_large_error.rb +101 -0
  536. data/lib/api_reference/models/scalable_matrix_with_tiered_pricing_config.rb +112 -0
  537. data/lib/api_reference/models/scalable_matrix_with_tiered_pricing_config1.rb +146 -0
  538. data/lib/api_reference/models/scalable_matrix_with_tiered_pricing_price.rb +589 -0
  539. data/lib/api_reference/models/scalable_matrix_with_tiered_scaling_factor.rb +109 -0
  540. data/lib/api_reference/models/scalable_matrix_with_tiered_tier_entry.rb +92 -0
  541. data/lib/api_reference/models/scalable_matrix_with_unit_pricing_config.rb +125 -0
  542. data/lib/api_reference/models/scalable_matrix_with_unit_pricing_config1.rb +155 -0
  543. data/lib/api_reference/models/scalable_matrix_with_unit_pricing_price.rb +589 -0
  544. data/lib/api_reference/models/scalable_matrix_with_unit_scaling_factor.rb +109 -0
  545. data/lib/api_reference/models/set_default_version.rb +60 -0
  546. data/lib/api_reference/models/start_of_term.rb +26 -0
  547. data/lib/api_reference/models/status.rb +40 -0
  548. data/lib/api_reference/models/status1.rb +48 -0
  549. data/lib/api_reference/models/status10.rb +40 -0
  550. data/lib/api_reference/models/status11.rb +48 -0
  551. data/lib/api_reference/models/status12.rb +40 -0
  552. data/lib/api_reference/models/status13.rb +40 -0
  553. data/lib/api_reference/models/status14.rb +40 -0
  554. data/lib/api_reference/models/status17.rb +37 -0
  555. data/lib/api_reference/models/status18.rb +49 -0
  556. data/lib/api_reference/models/status23.rb +48 -0
  557. data/lib/api_reference/models/status28.rb +40 -0
  558. data/lib/api_reference/models/status3.rb +36 -0
  559. data/lib/api_reference/models/status7.rb +36 -0
  560. data/lib/api_reference/models/sub_line_item_grouping.rb +106 -0
  561. data/lib/api_reference/models/sub_line_item_matrix_config.rb +89 -0
  562. data/lib/api_reference/models/subscription.rb +680 -0
  563. data/lib/api_reference/models/subscription_change_list_response.rb +152 -0
  564. data/lib/api_reference/models/subscription_change_list_responses.rb +92 -0
  565. data/lib/api_reference/models/subscription_change_minified.rb +86 -0
  566. data/lib/api_reference/models/subscription_change_response.rb +217 -0
  567. data/lib/api_reference/models/subscription_costs.rb +81 -0
  568. data/lib/api_reference/models/subscription_minified.rb +86 -0
  569. data/lib/api_reference/models/subscription_plan_change.rb +502 -0
  570. data/lib/api_reference/models/subscription_schedule_item.rb +122 -0
  571. data/lib/api_reference/models/subscription_schedule_items.rb +92 -0
  572. data/lib/api_reference/models/subscription_trial_info.rb +96 -0
  573. data/lib/api_reference/models/subscription_usage_request_params.rb +207 -0
  574. data/lib/api_reference/models/subscriptions.rb +92 -0
  575. data/lib/api_reference/models/tax_amount.rb +123 -0
  576. data/lib/api_reference/models/threshold.rb +90 -0
  577. data/lib/api_reference/models/threshold_discount_group.rb +147 -0
  578. data/lib/api_reference/models/threshold_override.rb +121 -0
  579. data/lib/api_reference/models/threshold_override_params.rb +97 -0
  580. data/lib/api_reference/models/threshold_total_amount_config.rb +83 -0
  581. data/lib/api_reference/models/threshold_total_amount_config1.rb +101 -0
  582. data/lib/api_reference/models/threshold_total_amount_price.rb +588 -0
  583. data/lib/api_reference/models/tier.rb +105 -0
  584. data/lib/api_reference/models/tier_sub_line_item.rb +160 -0
  585. data/lib/api_reference/models/tier_sub_line_item_tier_config.rb +119 -0
  586. data/lib/api_reference/models/tiered_config.rb +98 -0
  587. data/lib/api_reference/models/tiered_conversion_rate_config.rb +81 -0
  588. data/lib/api_reference/models/tiered_package_price.rb +587 -0
  589. data/lib/api_reference/models/tiered_package_pricing_config.rb +83 -0
  590. data/lib/api_reference/models/tiered_package_pricing_config1.rb +109 -0
  591. data/lib/api_reference/models/tiered_package_pricing_with_minimum_config.rb +79 -0
  592. data/lib/api_reference/models/tiered_package_pricing_with_minimum_config1.rb +105 -0
  593. data/lib/api_reference/models/tiered_package_tier_item.rb +92 -0
  594. data/lib/api_reference/models/tiered_package_with_minimum_price.rb +588 -0
  595. data/lib/api_reference/models/tiered_package_with_minimum_tier_item.rb +106 -0
  596. data/lib/api_reference/models/tiered_percentage_discount.rb +164 -0
  597. data/lib/api_reference/models/tiered_percentage_discount_interval.rb +201 -0
  598. data/lib/api_reference/models/tiered_price.rb +584 -0
  599. data/lib/api_reference/models/tiered_pricing_with_minimum_config.rb +93 -0
  600. data/lib/api_reference/models/tiered_pricing_with_minimum_config1.rb +111 -0
  601. data/lib/api_reference/models/tiered_pricing_with_minimum_tier_item.rb +106 -0
  602. data/lib/api_reference/models/tiered_total_threshold.rb +90 -0
  603. data/lib/api_reference/models/tiered_with_minimum_price.rb +587 -0
  604. data/lib/api_reference/models/tiered_with_proration_config.rb +70 -0
  605. data/lib/api_reference/models/tiered_with_proration_config1.rb +88 -0
  606. data/lib/api_reference/models/tiered_with_proration_price.rb +587 -0
  607. data/lib/api_reference/models/tiered_with_proration_tier.rb +92 -0
  608. data/lib/api_reference/models/too_many_results_error.rb +101 -0
  609. data/lib/api_reference/models/top_up.rb +149 -0
  610. data/lib/api_reference/models/top_up_invoice_settings.rb +117 -0
  611. data/lib/api_reference/models/top_up_invoice_settings2.rb +117 -0
  612. data/lib/api_reference/models/top_ups.rb +92 -0
  613. data/lib/api_reference/models/trial_config.rb +104 -0
  614. data/lib/api_reference/models/trial_discount.rb +161 -0
  615. data/lib/api_reference/models/trial_end_date.rb +26 -0
  616. data/lib/api_reference/models/trigger_subscription_phase_params.rb +84 -0
  617. data/lib/api_reference/models/type.rb +40 -0
  618. data/lib/api_reference/models/type1.rb +36 -0
  619. data/lib/api_reference/models/type2.rb +26 -0
  620. data/lib/api_reference/models/type3.rb +36 -0
  621. data/lib/api_reference/models/type4.rb +36 -0
  622. data/lib/api_reference/models/type5.rb +492 -0
  623. data/lib/api_reference/models/type6.rb +40 -0
  624. data/lib/api_reference/models/type7.rb +36 -0
  625. data/lib/api_reference/models/ungrouped_subscription_usage.rb +99 -0
  626. data/lib/api_reference/models/ungrouped_subscription_usage_record.rb +133 -0
  627. data/lib/api_reference/models/unit_config.rb +85 -0
  628. data/lib/api_reference/models/unit_conversion_rate_config.rb +80 -0
  629. data/lib/api_reference/models/unit_price.rb +584 -0
  630. data/lib/api_reference/models/unit_with_percent_config.rb +68 -0
  631. data/lib/api_reference/models/unit_with_percent_config1.rb +90 -0
  632. data/lib/api_reference/models/unit_with_percent_price.rb +587 -0
  633. data/lib/api_reference/models/unit_with_proration_config.rb +60 -0
  634. data/lib/api_reference/models/unit_with_proration_config1.rb +74 -0
  635. data/lib/api_reference/models/unit_with_proration_price.rb +587 -0
  636. data/lib/api_reference/models/unschedule_fixed_fee_quantity_change_params.rb +60 -0
  637. data/lib/api_reference/models/upcoming_invoice.rb +838 -0
  638. data/lib/api_reference/models/update_alert_query_params.rb +65 -0
  639. data/lib/api_reference/models/update_alert_request_params.rb +116 -0
  640. data/lib/api_reference/models/update_invoice_request_params.rb +145 -0
  641. data/lib/api_reference/models/update_metric_request_params.rb +66 -0
  642. data/lib/api_reference/models/update_price_request_params.rb +66 -0
  643. data/lib/api_reference/models/update_subscription_params.rb +137 -0
  644. data/lib/api_reference/models/update_trial_request_params.rb +94 -0
  645. data/lib/api_reference/models/url_not_found.rb +101 -0
  646. data/lib/api_reference/models/usage.rb +131 -0
  647. data/lib/api_reference/models/usage_discount.rb +129 -0
  648. data/lib/api_reference/models/usage_discount_creation_params.rb +82 -0
  649. data/lib/api_reference/models/usage_discount_interval.rb +188 -0
  650. data/lib/api_reference/models/validation_error.rb +86 -0
  651. data/lib/api_reference/models/view_mode.rb +36 -0
  652. data/lib/api_reference/models/void_initiated_ledger_entry.rb +356 -0
  653. data/lib/api_reference/models/void_ledger_entry.rb +334 -0
  654. data/lib/api_reference/models/void_reason.rb +26 -0
  655. data/lib/api_reference/utilities/date_time_helper.rb +11 -0
  656. data/lib/api_reference/utilities/file_wrapper.rb +28 -0
  657. data/lib/api_reference/utilities/union_type_lookup.rb +1433 -0
  658. data/lib/api_reference.rb +752 -0
  659. metadata +742 -0
@@ -0,0 +1,231 @@
1
+ # api_reference
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ApiReference
7
+ # MonetaryMinimumAdjustment Model.
8
+ class MonetaryMinimumAdjustment < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :id
15
+
16
+ # True for adjustments that apply to an entire invoice, false for
17
+ # adjustments that apply to only one price.
18
+ # @return [TrueClass | FalseClass]
19
+ attr_accessor :is_invoice_level
20
+
21
+ # The filters that determine which prices to apply this adjustment to.
22
+ # @return [Array[PriceFilter]]
23
+ attr_accessor :filters
24
+
25
+ # The price IDs that this adjustment applies to.
26
+ # @return [Array[String]]
27
+ attr_accessor :applies_to_price_ids
28
+
29
+ # The reason for the adjustment.
30
+ # @return [String]
31
+ attr_accessor :reason
32
+
33
+ # The adjustment id this adjustment replaces. This adjustment will take the
34
+ # place of the replaced adjustment in plan version migrations.
35
+ # @return [String]
36
+ attr_accessor :replaces_adjustment_id
37
+
38
+ # The adjustment id this adjustment replaces. This adjustment will take the
39
+ # place of the replaced adjustment in plan version migrations.
40
+ # @return [String]
41
+ attr_reader :adjustment_type
42
+
43
+ # The minimum amount to charge in a given billing period for the prices this
44
+ # adjustment applies to.
45
+ # @return [String]
46
+ attr_accessor :minimum_amount
47
+
48
+ # The item ID that revenue from this minimum will be attributed to.
49
+ # @return [String]
50
+ attr_accessor :item_id
51
+
52
+ # The value applied by an adjustment.
53
+ # @return [String]
54
+ attr_accessor :amount
55
+
56
+ # A mapping from model property names to API property names.
57
+ def self.names
58
+ @_hash = {} if @_hash.nil?
59
+ @_hash['id'] = 'id'
60
+ @_hash['is_invoice_level'] = 'is_invoice_level'
61
+ @_hash['filters'] = 'filters'
62
+ @_hash['applies_to_price_ids'] = 'applies_to_price_ids'
63
+ @_hash['reason'] = 'reason'
64
+ @_hash['replaces_adjustment_id'] = 'replaces_adjustment_id'
65
+ @_hash['adjustment_type'] = 'adjustment_type'
66
+ @_hash['minimum_amount'] = 'minimum_amount'
67
+ @_hash['item_id'] = 'item_id'
68
+ @_hash['amount'] = 'amount'
69
+ @_hash
70
+ end
71
+
72
+ # An array for optional fields
73
+ def self.optionals
74
+ []
75
+ end
76
+
77
+ # An array for nullable fields
78
+ def self.nullables
79
+ %w[
80
+ reason
81
+ replaces_adjustment_id
82
+ ]
83
+ end
84
+
85
+ def initialize(id:, is_invoice_level:, filters:, applies_to_price_ids:,
86
+ reason:, replaces_adjustment_id:, minimum_amount:, item_id:,
87
+ amount:, additional_properties: nil)
88
+ # Add additional model properties to the instance
89
+ additional_properties = {} if additional_properties.nil?
90
+
91
+ @id = id
92
+ @is_invoice_level = is_invoice_level
93
+ @filters = filters
94
+ @applies_to_price_ids = applies_to_price_ids
95
+ @reason = reason
96
+ @replaces_adjustment_id = replaces_adjustment_id
97
+ @adjustment_type = 'minimum'
98
+ @minimum_amount = minimum_amount
99
+ @item_id = item_id
100
+ @amount = amount
101
+ @additional_properties = additional_properties
102
+ end
103
+
104
+ # Creates an instance of the object from a hash.
105
+ def self.from_hash(hash)
106
+ return nil unless hash
107
+
108
+ # Extract variables from the hash.
109
+ id = hash.key?('id') ? hash['id'] : nil
110
+ is_invoice_level =
111
+ hash.key?('is_invoice_level') ? hash['is_invoice_level'] : nil
112
+ # Parameter is an array, so we need to iterate through it
113
+ filters = nil
114
+ unless hash['filters'].nil?
115
+ filters = []
116
+ hash['filters'].each do |structure|
117
+ filters << (PriceFilter.from_hash(structure) if structure)
118
+ end
119
+ end
120
+
121
+ filters = nil unless hash.key?('filters')
122
+ applies_to_price_ids =
123
+ hash.key?('applies_to_price_ids') ? hash['applies_to_price_ids'] : nil
124
+ reason = hash.key?('reason') ? hash['reason'] : nil
125
+ replaces_adjustment_id =
126
+ hash.key?('replaces_adjustment_id') ? hash['replaces_adjustment_id'] : nil
127
+ minimum_amount =
128
+ hash.key?('minimum_amount') ? hash['minimum_amount'] : nil
129
+ item_id = hash.key?('item_id') ? hash['item_id'] : nil
130
+ amount = hash.key?('amount') ? hash['amount'] : nil
131
+
132
+ # Create a new hash for additional properties, removing known properties.
133
+ new_hash = hash.reject { |k, _| names.value?(k) }
134
+
135
+ additional_properties = APIHelper.get_additional_properties(
136
+ new_hash, proc { |value| value }
137
+ )
138
+
139
+ # Create object from extracted values.
140
+ MonetaryMinimumAdjustment.new(id: id,
141
+ is_invoice_level: is_invoice_level,
142
+ filters: filters,
143
+ applies_to_price_ids: applies_to_price_ids,
144
+ reason: reason,
145
+ replaces_adjustment_id: replaces_adjustment_id,
146
+ minimum_amount: minimum_amount,
147
+ item_id: item_id,
148
+ amount: amount,
149
+ additional_properties: additional_properties)
150
+ end
151
+
152
+ # Validates an instance of the object from a given value.
153
+ # @param [MonetaryMinimumAdjustment | Hash] The value against the validation is performed.
154
+ def self.validate(value)
155
+ if value.instance_of? self
156
+ return (
157
+ APIHelper.valid_type?(value.id,
158
+ ->(val) { val.instance_of? String }) and
159
+ APIHelper.valid_type?(value.is_invoice_level,
160
+ ->(val) { val.instance_of? TrueClass or val.instance_of? FalseClass }) and
161
+ APIHelper.valid_type?(value.filters,
162
+ ->(val) { PriceFilter.validate(val) },
163
+ is_model_hash: true,
164
+ is_inner_model_hash: true) and
165
+ APIHelper.valid_type?(value.applies_to_price_ids,
166
+ ->(val) { val.instance_of? String }) and
167
+ APIHelper.valid_type?(value.reason,
168
+ ->(val) { val.instance_of? String }) and
169
+ APIHelper.valid_type?(value.replaces_adjustment_id,
170
+ ->(val) { val.instance_of? String }) and
171
+ APIHelper.valid_type?(value.adjustment_type,
172
+ ->(val) { val.instance_of? String }) and
173
+ APIHelper.valid_type?(value.minimum_amount,
174
+ ->(val) { val.instance_of? String }) and
175
+ APIHelper.valid_type?(value.item_id,
176
+ ->(val) { val.instance_of? String }) and
177
+ APIHelper.valid_type?(value.amount,
178
+ ->(val) { val.instance_of? String })
179
+ )
180
+ end
181
+
182
+ return false unless value.instance_of? Hash
183
+
184
+ (
185
+ APIHelper.valid_type?(value['id'],
186
+ ->(val) { val.instance_of? String }) and
187
+ APIHelper.valid_type?(value['is_invoice_level'],
188
+ ->(val) { val.instance_of? TrueClass or val.instance_of? FalseClass }) and
189
+ APIHelper.valid_type?(value['filters'],
190
+ ->(val) { PriceFilter.validate(val) },
191
+ is_model_hash: true,
192
+ is_inner_model_hash: true) and
193
+ APIHelper.valid_type?(value['applies_to_price_ids'],
194
+ ->(val) { val.instance_of? String }) and
195
+ APIHelper.valid_type?(value['reason'],
196
+ ->(val) { val.instance_of? String }) and
197
+ APIHelper.valid_type?(value['replaces_adjustment_id'],
198
+ ->(val) { val.instance_of? String }) and
199
+ APIHelper.valid_type?(value['adjustment_type'],
200
+ ->(val) { val.instance_of? String }) and
201
+ APIHelper.valid_type?(value['minimum_amount'],
202
+ ->(val) { val.instance_of? String }) and
203
+ APIHelper.valid_type?(value['item_id'],
204
+ ->(val) { val.instance_of? String }) and
205
+ APIHelper.valid_type?(value['amount'],
206
+ ->(val) { val.instance_of? String })
207
+ )
208
+ end
209
+
210
+ # Provides a human-readable string representation of the object.
211
+ def to_s
212
+ class_name = self.class.name.split('::').last
213
+ "<#{class_name} id: #{@id}, is_invoice_level: #{@is_invoice_level}, filters: #{@filters},"\
214
+ " applies_to_price_ids: #{@applies_to_price_ids}, reason: #{@reason},"\
215
+ " replaces_adjustment_id: #{@replaces_adjustment_id}, adjustment_type: #{@adjustment_type},"\
216
+ " minimum_amount: #{@minimum_amount}, item_id: #{@item_id}, amount: #{@amount},"\
217
+ " additional_properties: #{@additional_properties}>"
218
+ end
219
+
220
+ # Provides a debugging-friendly string with detailed object information.
221
+ def inspect
222
+ class_name = self.class.name.split('::').last
223
+ "<#{class_name} id: #{@id.inspect}, is_invoice_level: #{@is_invoice_level.inspect},"\
224
+ " filters: #{@filters.inspect}, applies_to_price_ids: #{@applies_to_price_ids.inspect},"\
225
+ " reason: #{@reason.inspect}, replaces_adjustment_id: #{@replaces_adjustment_id.inspect},"\
226
+ " adjustment_type: #{@adjustment_type.inspect}, minimum_amount: #{@minimum_amount.inspect},"\
227
+ " item_id: #{@item_id.inspect}, amount: #{@amount.inspect}, additional_properties:"\
228
+ " #{@additional_properties}>"
229
+ end
230
+ end
231
+ end
@@ -0,0 +1,219 @@
1
+ # api_reference
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ApiReference
7
+ # MonetaryPercentageDiscountAdjustment Model.
8
+ class MonetaryPercentageDiscountAdjustment < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :id
15
+
16
+ # True for adjustments that apply to an entire invoice, false for
17
+ # adjustments that apply to only one price.
18
+ # @return [TrueClass | FalseClass]
19
+ attr_accessor :is_invoice_level
20
+
21
+ # The filters that determine which prices to apply this adjustment to.
22
+ # @return [Array[PriceFilter]]
23
+ attr_accessor :filters
24
+
25
+ # The price IDs that this adjustment applies to.
26
+ # @return [Array[String]]
27
+ attr_accessor :applies_to_price_ids
28
+
29
+ # The reason for the adjustment.
30
+ # @return [String]
31
+ attr_accessor :reason
32
+
33
+ # The adjustment id this adjustment replaces. This adjustment will take the
34
+ # place of the replaced adjustment in plan version migrations.
35
+ # @return [String]
36
+ attr_accessor :replaces_adjustment_id
37
+
38
+ # The adjustment id this adjustment replaces. This adjustment will take the
39
+ # place of the replaced adjustment in plan version migrations.
40
+ # @return [String]
41
+ attr_reader :adjustment_type
42
+
43
+ # The percentage (as a value between 0 and 1) by which to discount the price
44
+ # intervals this adjustment applies to in a given billing period.
45
+ # @return [Float]
46
+ attr_accessor :percentage_discount
47
+
48
+ # The value applied by an adjustment.
49
+ # @return [String]
50
+ attr_accessor :amount
51
+
52
+ # A mapping from model property names to API property names.
53
+ def self.names
54
+ @_hash = {} if @_hash.nil?
55
+ @_hash['id'] = 'id'
56
+ @_hash['is_invoice_level'] = 'is_invoice_level'
57
+ @_hash['filters'] = 'filters'
58
+ @_hash['applies_to_price_ids'] = 'applies_to_price_ids'
59
+ @_hash['reason'] = 'reason'
60
+ @_hash['replaces_adjustment_id'] = 'replaces_adjustment_id'
61
+ @_hash['adjustment_type'] = 'adjustment_type'
62
+ @_hash['percentage_discount'] = 'percentage_discount'
63
+ @_hash['amount'] = 'amount'
64
+ @_hash
65
+ end
66
+
67
+ # An array for optional fields
68
+ def self.optionals
69
+ []
70
+ end
71
+
72
+ # An array for nullable fields
73
+ def self.nullables
74
+ %w[
75
+ reason
76
+ replaces_adjustment_id
77
+ ]
78
+ end
79
+
80
+ def initialize(id:, is_invoice_level:, filters:, applies_to_price_ids:,
81
+ reason:, replaces_adjustment_id:, percentage_discount:,
82
+ amount:, additional_properties: nil)
83
+ # Add additional model properties to the instance
84
+ additional_properties = {} if additional_properties.nil?
85
+
86
+ @id = id
87
+ @is_invoice_level = is_invoice_level
88
+ @filters = filters
89
+ @applies_to_price_ids = applies_to_price_ids
90
+ @reason = reason
91
+ @replaces_adjustment_id = replaces_adjustment_id
92
+ @adjustment_type = 'percentage_discount'
93
+ @percentage_discount = percentage_discount
94
+ @amount = amount
95
+ @additional_properties = additional_properties
96
+ end
97
+
98
+ # Creates an instance of the object from a hash.
99
+ def self.from_hash(hash)
100
+ return nil unless hash
101
+
102
+ # Extract variables from the hash.
103
+ id = hash.key?('id') ? hash['id'] : nil
104
+ is_invoice_level =
105
+ hash.key?('is_invoice_level') ? hash['is_invoice_level'] : nil
106
+ # Parameter is an array, so we need to iterate through it
107
+ filters = nil
108
+ unless hash['filters'].nil?
109
+ filters = []
110
+ hash['filters'].each do |structure|
111
+ filters << (PriceFilter.from_hash(structure) if structure)
112
+ end
113
+ end
114
+
115
+ filters = nil unless hash.key?('filters')
116
+ applies_to_price_ids =
117
+ hash.key?('applies_to_price_ids') ? hash['applies_to_price_ids'] : nil
118
+ reason = hash.key?('reason') ? hash['reason'] : nil
119
+ replaces_adjustment_id =
120
+ hash.key?('replaces_adjustment_id') ? hash['replaces_adjustment_id'] : nil
121
+ percentage_discount =
122
+ hash.key?('percentage_discount') ? hash['percentage_discount'] : nil
123
+ amount = hash.key?('amount') ? hash['amount'] : nil
124
+
125
+ # Create a new hash for additional properties, removing known properties.
126
+ new_hash = hash.reject { |k, _| names.value?(k) }
127
+
128
+ additional_properties = APIHelper.get_additional_properties(
129
+ new_hash, proc { |value| value }
130
+ )
131
+
132
+ # Create object from extracted values.
133
+ MonetaryPercentageDiscountAdjustment.new(id: id,
134
+ is_invoice_level: is_invoice_level,
135
+ filters: filters,
136
+ applies_to_price_ids: applies_to_price_ids,
137
+ reason: reason,
138
+ replaces_adjustment_id: replaces_adjustment_id,
139
+ percentage_discount: percentage_discount,
140
+ amount: amount,
141
+ additional_properties: additional_properties)
142
+ end
143
+
144
+ # Validates an instance of the object from a given value.
145
+ # @param [MonetaryPercentageDiscountAdjustment | Hash] The value against the validation is performed.
146
+ def self.validate(value)
147
+ if value.instance_of? self
148
+ return (
149
+ APIHelper.valid_type?(value.id,
150
+ ->(val) { val.instance_of? String }) and
151
+ APIHelper.valid_type?(value.is_invoice_level,
152
+ ->(val) { val.instance_of? TrueClass or val.instance_of? FalseClass }) and
153
+ APIHelper.valid_type?(value.filters,
154
+ ->(val) { PriceFilter.validate(val) },
155
+ is_model_hash: true,
156
+ is_inner_model_hash: true) and
157
+ APIHelper.valid_type?(value.applies_to_price_ids,
158
+ ->(val) { val.instance_of? String }) and
159
+ APIHelper.valid_type?(value.reason,
160
+ ->(val) { val.instance_of? String }) and
161
+ APIHelper.valid_type?(value.replaces_adjustment_id,
162
+ ->(val) { val.instance_of? String }) and
163
+ APIHelper.valid_type?(value.adjustment_type,
164
+ ->(val) { val.instance_of? String }) and
165
+ APIHelper.valid_type?(value.percentage_discount,
166
+ ->(val) { val.instance_of? Float }) and
167
+ APIHelper.valid_type?(value.amount,
168
+ ->(val) { val.instance_of? String })
169
+ )
170
+ end
171
+
172
+ return false unless value.instance_of? Hash
173
+
174
+ (
175
+ APIHelper.valid_type?(value['id'],
176
+ ->(val) { val.instance_of? String }) and
177
+ APIHelper.valid_type?(value['is_invoice_level'],
178
+ ->(val) { val.instance_of? TrueClass or val.instance_of? FalseClass }) and
179
+ APIHelper.valid_type?(value['filters'],
180
+ ->(val) { PriceFilter.validate(val) },
181
+ is_model_hash: true,
182
+ is_inner_model_hash: true) and
183
+ APIHelper.valid_type?(value['applies_to_price_ids'],
184
+ ->(val) { val.instance_of? String }) and
185
+ APIHelper.valid_type?(value['reason'],
186
+ ->(val) { val.instance_of? String }) and
187
+ APIHelper.valid_type?(value['replaces_adjustment_id'],
188
+ ->(val) { val.instance_of? String }) and
189
+ APIHelper.valid_type?(value['adjustment_type'],
190
+ ->(val) { val.instance_of? String }) and
191
+ APIHelper.valid_type?(value['percentage_discount'],
192
+ ->(val) { val.instance_of? Float }) and
193
+ APIHelper.valid_type?(value['amount'],
194
+ ->(val) { val.instance_of? String })
195
+ )
196
+ end
197
+
198
+ # Provides a human-readable string representation of the object.
199
+ def to_s
200
+ class_name = self.class.name.split('::').last
201
+ "<#{class_name} id: #{@id}, is_invoice_level: #{@is_invoice_level}, filters: #{@filters},"\
202
+ " applies_to_price_ids: #{@applies_to_price_ids}, reason: #{@reason},"\
203
+ " replaces_adjustment_id: #{@replaces_adjustment_id}, adjustment_type: #{@adjustment_type},"\
204
+ " percentage_discount: #{@percentage_discount}, amount: #{@amount}, additional_properties:"\
205
+ " #{@additional_properties}>"
206
+ end
207
+
208
+ # Provides a debugging-friendly string with detailed object information.
209
+ def inspect
210
+ class_name = self.class.name.split('::').last
211
+ "<#{class_name} id: #{@id.inspect}, is_invoice_level: #{@is_invoice_level.inspect},"\
212
+ " filters: #{@filters.inspect}, applies_to_price_ids: #{@applies_to_price_ids.inspect},"\
213
+ " reason: #{@reason.inspect}, replaces_adjustment_id: #{@replaces_adjustment_id.inspect},"\
214
+ " adjustment_type: #{@adjustment_type.inspect}, percentage_discount:"\
215
+ " #{@percentage_discount.inspect}, amount: #{@amount.inspect}, additional_properties:"\
216
+ " #{@additional_properties}>"
217
+ end
218
+ end
219
+ end
@@ -0,0 +1,230 @@
1
+ # api_reference
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ApiReference
7
+ # MonetaryTieredPercentageDiscountAdjustment Model.
8
+ class MonetaryTieredPercentageDiscountAdjustment < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :id
15
+
16
+ # True for adjustments that apply to an entire invoice, false for
17
+ # adjustments that apply to only one price.
18
+ # @return [TrueClass | FalseClass]
19
+ attr_accessor :is_invoice_level
20
+
21
+ # The filters that determine which prices to apply this adjustment to.
22
+ # @return [Array[PriceFilter]]
23
+ attr_accessor :filters
24
+
25
+ # The price IDs that this adjustment applies to.
26
+ # @return [Array[String]]
27
+ attr_accessor :applies_to_price_ids
28
+
29
+ # The reason for the adjustment.
30
+ # @return [String]
31
+ attr_accessor :reason
32
+
33
+ # The adjustment id this adjustment replaces. This adjustment will take the
34
+ # place of the replaced adjustment in plan version migrations.
35
+ # @return [String]
36
+ attr_accessor :replaces_adjustment_id
37
+
38
+ # The adjustment id this adjustment replaces. This adjustment will take the
39
+ # place of the replaced adjustment in plan version migrations.
40
+ # @return [String]
41
+ attr_reader :adjustment_type
42
+
43
+ # The ordered, contiguous bands of cumulative eligible spend, each
44
+ # discounted at its own percentage (progressive fill-a-tier), applied to the
45
+ # prices this adjustment covers in a given billing period.
46
+ # @return [Array[PercentageTier]]
47
+ attr_accessor :tiers
48
+
49
+ # The value applied by an adjustment.
50
+ # @return [String]
51
+ attr_accessor :amount
52
+
53
+ # A mapping from model property names to API property names.
54
+ def self.names
55
+ @_hash = {} if @_hash.nil?
56
+ @_hash['id'] = 'id'
57
+ @_hash['is_invoice_level'] = 'is_invoice_level'
58
+ @_hash['filters'] = 'filters'
59
+ @_hash['applies_to_price_ids'] = 'applies_to_price_ids'
60
+ @_hash['reason'] = 'reason'
61
+ @_hash['replaces_adjustment_id'] = 'replaces_adjustment_id'
62
+ @_hash['adjustment_type'] = 'adjustment_type'
63
+ @_hash['tiers'] = 'tiers'
64
+ @_hash['amount'] = 'amount'
65
+ @_hash
66
+ end
67
+
68
+ # An array for optional fields
69
+ def self.optionals
70
+ []
71
+ end
72
+
73
+ # An array for nullable fields
74
+ def self.nullables
75
+ %w[
76
+ reason
77
+ replaces_adjustment_id
78
+ ]
79
+ end
80
+
81
+ def initialize(id:, is_invoice_level:, filters:, applies_to_price_ids:,
82
+ reason:, replaces_adjustment_id:, tiers:, amount:,
83
+ additional_properties: nil)
84
+ # Add additional model properties to the instance
85
+ additional_properties = {} if additional_properties.nil?
86
+
87
+ @id = id
88
+ @is_invoice_level = is_invoice_level
89
+ @filters = filters
90
+ @applies_to_price_ids = applies_to_price_ids
91
+ @reason = reason
92
+ @replaces_adjustment_id = replaces_adjustment_id
93
+ @adjustment_type = 'tiered_percentage_discount'
94
+ @tiers = tiers
95
+ @amount = amount
96
+ @additional_properties = additional_properties
97
+ end
98
+
99
+ # Creates an instance of the object from a hash.
100
+ def self.from_hash(hash)
101
+ return nil unless hash
102
+
103
+ # Extract variables from the hash.
104
+ id = hash.key?('id') ? hash['id'] : nil
105
+ is_invoice_level =
106
+ hash.key?('is_invoice_level') ? hash['is_invoice_level'] : nil
107
+ # Parameter is an array, so we need to iterate through it
108
+ filters = nil
109
+ unless hash['filters'].nil?
110
+ filters = []
111
+ hash['filters'].each do |structure|
112
+ filters << (PriceFilter.from_hash(structure) if structure)
113
+ end
114
+ end
115
+
116
+ filters = nil unless hash.key?('filters')
117
+ applies_to_price_ids =
118
+ hash.key?('applies_to_price_ids') ? hash['applies_to_price_ids'] : nil
119
+ reason = hash.key?('reason') ? hash['reason'] : nil
120
+ replaces_adjustment_id =
121
+ hash.key?('replaces_adjustment_id') ? hash['replaces_adjustment_id'] : nil
122
+ # Parameter is an array, so we need to iterate through it
123
+ tiers = nil
124
+ unless hash['tiers'].nil?
125
+ tiers = []
126
+ hash['tiers'].each do |structure|
127
+ tiers << (PercentageTier.from_hash(structure) if structure)
128
+ end
129
+ end
130
+
131
+ tiers = nil unless hash.key?('tiers')
132
+ amount = hash.key?('amount') ? hash['amount'] : nil
133
+
134
+ # Create a new hash for additional properties, removing known properties.
135
+ new_hash = hash.reject { |k, _| names.value?(k) }
136
+
137
+ additional_properties = APIHelper.get_additional_properties(
138
+ new_hash, proc { |value| value }
139
+ )
140
+
141
+ # Create object from extracted values.
142
+ MonetaryTieredPercentageDiscountAdjustment.new(id: id,
143
+ is_invoice_level: is_invoice_level,
144
+ filters: filters,
145
+ applies_to_price_ids: applies_to_price_ids,
146
+ reason: reason,
147
+ replaces_adjustment_id: replaces_adjustment_id,
148
+ tiers: tiers,
149
+ amount: amount,
150
+ additional_properties: additional_properties)
151
+ end
152
+
153
+ # Validates an instance of the object from a given value.
154
+ # @param [MonetaryTieredPercentageDiscountAdjustment | Hash] The value against the validation is performed.
155
+ def self.validate(value)
156
+ if value.instance_of? self
157
+ return (
158
+ APIHelper.valid_type?(value.id,
159
+ ->(val) { val.instance_of? String }) and
160
+ APIHelper.valid_type?(value.is_invoice_level,
161
+ ->(val) { val.instance_of? TrueClass or val.instance_of? FalseClass }) and
162
+ APIHelper.valid_type?(value.filters,
163
+ ->(val) { PriceFilter.validate(val) },
164
+ is_model_hash: true,
165
+ is_inner_model_hash: true) and
166
+ APIHelper.valid_type?(value.applies_to_price_ids,
167
+ ->(val) { val.instance_of? String }) and
168
+ APIHelper.valid_type?(value.reason,
169
+ ->(val) { val.instance_of? String }) and
170
+ APIHelper.valid_type?(value.replaces_adjustment_id,
171
+ ->(val) { val.instance_of? String }) and
172
+ APIHelper.valid_type?(value.adjustment_type,
173
+ ->(val) { val.instance_of? String }) and
174
+ APIHelper.valid_type?(value.tiers,
175
+ ->(val) { PercentageTier.validate(val) },
176
+ is_model_hash: true,
177
+ is_inner_model_hash: true) and
178
+ APIHelper.valid_type?(value.amount,
179
+ ->(val) { val.instance_of? String })
180
+ )
181
+ end
182
+
183
+ return false unless value.instance_of? Hash
184
+
185
+ (
186
+ APIHelper.valid_type?(value['id'],
187
+ ->(val) { val.instance_of? String }) and
188
+ APIHelper.valid_type?(value['is_invoice_level'],
189
+ ->(val) { val.instance_of? TrueClass or val.instance_of? FalseClass }) and
190
+ APIHelper.valid_type?(value['filters'],
191
+ ->(val) { PriceFilter.validate(val) },
192
+ is_model_hash: true,
193
+ is_inner_model_hash: true) and
194
+ APIHelper.valid_type?(value['applies_to_price_ids'],
195
+ ->(val) { val.instance_of? String }) and
196
+ APIHelper.valid_type?(value['reason'],
197
+ ->(val) { val.instance_of? String }) and
198
+ APIHelper.valid_type?(value['replaces_adjustment_id'],
199
+ ->(val) { val.instance_of? String }) and
200
+ APIHelper.valid_type?(value['adjustment_type'],
201
+ ->(val) { val.instance_of? String }) and
202
+ APIHelper.valid_type?(value['tiers'],
203
+ ->(val) { PercentageTier.validate(val) },
204
+ is_model_hash: true,
205
+ is_inner_model_hash: true) and
206
+ APIHelper.valid_type?(value['amount'],
207
+ ->(val) { val.instance_of? String })
208
+ )
209
+ end
210
+
211
+ # Provides a human-readable string representation of the object.
212
+ def to_s
213
+ class_name = self.class.name.split('::').last
214
+ "<#{class_name} id: #{@id}, is_invoice_level: #{@is_invoice_level}, filters: #{@filters},"\
215
+ " applies_to_price_ids: #{@applies_to_price_ids}, reason: #{@reason},"\
216
+ " replaces_adjustment_id: #{@replaces_adjustment_id}, adjustment_type: #{@adjustment_type},"\
217
+ " tiers: #{@tiers}, amount: #{@amount}, additional_properties: #{@additional_properties}>"
218
+ end
219
+
220
+ # Provides a debugging-friendly string with detailed object information.
221
+ def inspect
222
+ class_name = self.class.name.split('::').last
223
+ "<#{class_name} id: #{@id.inspect}, is_invoice_level: #{@is_invoice_level.inspect},"\
224
+ " filters: #{@filters.inspect}, applies_to_price_ids: #{@applies_to_price_ids.inspect},"\
225
+ " reason: #{@reason.inspect}, replaces_adjustment_id: #{@replaces_adjustment_id.inspect},"\
226
+ " adjustment_type: #{@adjustment_type.inspect}, tiers: #{@tiers.inspect}, amount:"\
227
+ " #{@amount.inspect}, additional_properties: #{@additional_properties}>"
228
+ end
229
+ end
230
+ end