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,221 @@
1
+ # api_reference
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ApiReference
7
+ # PlanPhaseMaximumAdjustment Model.
8
+ class PlanPhaseMaximumAdjustment < 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 maximum amount to charge in a given billing period for the prices this
44
+ # adjustment applies to.
45
+ # @return [String]
46
+ attr_accessor :maximum_amount
47
+
48
+ # The plan phase in which this adjustment is active.
49
+ # @return [Integer]
50
+ attr_accessor :plan_phase_order
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['maximum_amount'] = 'maximum_amount'
63
+ @_hash['plan_phase_order'] = 'plan_phase_order'
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
+ plan_phase_order
78
+ ]
79
+ end
80
+
81
+ def initialize(id:, is_invoice_level:, filters:, applies_to_price_ids:,
82
+ reason:, replaces_adjustment_id:, maximum_amount:,
83
+ plan_phase_order:, 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 = 'maximum'
94
+ @maximum_amount = maximum_amount
95
+ @plan_phase_order = plan_phase_order
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
+ maximum_amount =
123
+ hash.key?('maximum_amount') ? hash['maximum_amount'] : nil
124
+ plan_phase_order =
125
+ hash.key?('plan_phase_order') ? hash['plan_phase_order'] : nil
126
+
127
+ # Create a new hash for additional properties, removing known properties.
128
+ new_hash = hash.reject { |k, _| names.value?(k) }
129
+
130
+ additional_properties = APIHelper.get_additional_properties(
131
+ new_hash, proc { |value| value }
132
+ )
133
+
134
+ # Create object from extracted values.
135
+ PlanPhaseMaximumAdjustment.new(id: id,
136
+ is_invoice_level: is_invoice_level,
137
+ filters: filters,
138
+ applies_to_price_ids: applies_to_price_ids,
139
+ reason: reason,
140
+ replaces_adjustment_id: replaces_adjustment_id,
141
+ maximum_amount: maximum_amount,
142
+ plan_phase_order: plan_phase_order,
143
+ additional_properties: additional_properties)
144
+ end
145
+
146
+ # Validates an instance of the object from a given value.
147
+ # @param [PlanPhaseMaximumAdjustment | Hash] The value against the validation is performed.
148
+ def self.validate(value)
149
+ if value.instance_of? self
150
+ return (
151
+ APIHelper.valid_type?(value.id,
152
+ ->(val) { val.instance_of? String }) and
153
+ APIHelper.valid_type?(value.is_invoice_level,
154
+ ->(val) { val.instance_of? TrueClass or val.instance_of? FalseClass }) and
155
+ APIHelper.valid_type?(value.filters,
156
+ ->(val) { PriceFilter.validate(val) },
157
+ is_model_hash: true,
158
+ is_inner_model_hash: true) and
159
+ APIHelper.valid_type?(value.applies_to_price_ids,
160
+ ->(val) { val.instance_of? String }) and
161
+ APIHelper.valid_type?(value.reason,
162
+ ->(val) { val.instance_of? String }) and
163
+ APIHelper.valid_type?(value.replaces_adjustment_id,
164
+ ->(val) { val.instance_of? String }) and
165
+ APIHelper.valid_type?(value.adjustment_type,
166
+ ->(val) { val.instance_of? String }) and
167
+ APIHelper.valid_type?(value.maximum_amount,
168
+ ->(val) { val.instance_of? String }) and
169
+ APIHelper.valid_type?(value.plan_phase_order,
170
+ ->(val) { val.instance_of? Integer })
171
+ )
172
+ end
173
+
174
+ return false unless value.instance_of? Hash
175
+
176
+ (
177
+ APIHelper.valid_type?(value['id'],
178
+ ->(val) { val.instance_of? String }) and
179
+ APIHelper.valid_type?(value['is_invoice_level'],
180
+ ->(val) { val.instance_of? TrueClass or val.instance_of? FalseClass }) and
181
+ APIHelper.valid_type?(value['filters'],
182
+ ->(val) { PriceFilter.validate(val) },
183
+ is_model_hash: true,
184
+ is_inner_model_hash: true) and
185
+ APIHelper.valid_type?(value['applies_to_price_ids'],
186
+ ->(val) { val.instance_of? String }) and
187
+ APIHelper.valid_type?(value['reason'],
188
+ ->(val) { val.instance_of? String }) and
189
+ APIHelper.valid_type?(value['replaces_adjustment_id'],
190
+ ->(val) { val.instance_of? String }) and
191
+ APIHelper.valid_type?(value['adjustment_type'],
192
+ ->(val) { val.instance_of? String }) and
193
+ APIHelper.valid_type?(value['maximum_amount'],
194
+ ->(val) { val.instance_of? String }) and
195
+ APIHelper.valid_type?(value['plan_phase_order'],
196
+ ->(val) { val.instance_of? Integer })
197
+ )
198
+ end
199
+
200
+ # Provides a human-readable string representation of the object.
201
+ def to_s
202
+ class_name = self.class.name.split('::').last
203
+ "<#{class_name} id: #{@id}, is_invoice_level: #{@is_invoice_level}, filters: #{@filters},"\
204
+ " applies_to_price_ids: #{@applies_to_price_ids}, reason: #{@reason},"\
205
+ " replaces_adjustment_id: #{@replaces_adjustment_id}, adjustment_type: #{@adjustment_type},"\
206
+ " maximum_amount: #{@maximum_amount}, plan_phase_order: #{@plan_phase_order},"\
207
+ " additional_properties: #{@additional_properties}>"
208
+ end
209
+
210
+ # Provides a debugging-friendly string with detailed object information.
211
+ def inspect
212
+ class_name = self.class.name.split('::').last
213
+ "<#{class_name} id: #{@id.inspect}, is_invoice_level: #{@is_invoice_level.inspect},"\
214
+ " filters: #{@filters.inspect}, applies_to_price_ids: #{@applies_to_price_ids.inspect},"\
215
+ " reason: #{@reason.inspect}, replaces_adjustment_id: #{@replaces_adjustment_id.inspect},"\
216
+ " adjustment_type: #{@adjustment_type.inspect}, maximum_amount: #{@maximum_amount.inspect},"\
217
+ " plan_phase_order: #{@plan_phase_order.inspect}, additional_properties:"\
218
+ " #{@additional_properties}>"
219
+ end
220
+ end
221
+ end
@@ -0,0 +1,233 @@
1
+ # api_reference
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ApiReference
7
+ # PlanPhaseMinimumAdjustment Model.
8
+ class PlanPhaseMinimumAdjustment < 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 plan phase in which this adjustment is active.
53
+ # @return [Integer]
54
+ attr_accessor :plan_phase_order
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['plan_phase_order'] = 'plan_phase_order'
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
+ plan_phase_order
83
+ ]
84
+ end
85
+
86
+ def initialize(id:, is_invoice_level:, filters:, applies_to_price_ids:,
87
+ reason:, replaces_adjustment_id:, minimum_amount:, item_id:,
88
+ plan_phase_order:, additional_properties: nil)
89
+ # Add additional model properties to the instance
90
+ additional_properties = {} if additional_properties.nil?
91
+
92
+ @id = id
93
+ @is_invoice_level = is_invoice_level
94
+ @filters = filters
95
+ @applies_to_price_ids = applies_to_price_ids
96
+ @reason = reason
97
+ @replaces_adjustment_id = replaces_adjustment_id
98
+ @adjustment_type = 'minimum'
99
+ @minimum_amount = minimum_amount
100
+ @item_id = item_id
101
+ @plan_phase_order = plan_phase_order
102
+ @additional_properties = additional_properties
103
+ end
104
+
105
+ # Creates an instance of the object from a hash.
106
+ def self.from_hash(hash)
107
+ return nil unless hash
108
+
109
+ # Extract variables from the hash.
110
+ id = hash.key?('id') ? hash['id'] : nil
111
+ is_invoice_level =
112
+ hash.key?('is_invoice_level') ? hash['is_invoice_level'] : nil
113
+ # Parameter is an array, so we need to iterate through it
114
+ filters = nil
115
+ unless hash['filters'].nil?
116
+ filters = []
117
+ hash['filters'].each do |structure|
118
+ filters << (PriceFilter.from_hash(structure) if structure)
119
+ end
120
+ end
121
+
122
+ filters = nil unless hash.key?('filters')
123
+ applies_to_price_ids =
124
+ hash.key?('applies_to_price_ids') ? hash['applies_to_price_ids'] : nil
125
+ reason = hash.key?('reason') ? hash['reason'] : nil
126
+ replaces_adjustment_id =
127
+ hash.key?('replaces_adjustment_id') ? hash['replaces_adjustment_id'] : nil
128
+ minimum_amount =
129
+ hash.key?('minimum_amount') ? hash['minimum_amount'] : nil
130
+ item_id = hash.key?('item_id') ? hash['item_id'] : nil
131
+ plan_phase_order =
132
+ hash.key?('plan_phase_order') ? hash['plan_phase_order'] : 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
+ PlanPhaseMinimumAdjustment.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
+ minimum_amount: minimum_amount,
149
+ item_id: item_id,
150
+ plan_phase_order: plan_phase_order,
151
+ additional_properties: additional_properties)
152
+ end
153
+
154
+ # Validates an instance of the object from a given value.
155
+ # @param [PlanPhaseMinimumAdjustment | Hash] The value against the validation is performed.
156
+ def self.validate(value)
157
+ if value.instance_of? self
158
+ return (
159
+ APIHelper.valid_type?(value.id,
160
+ ->(val) { val.instance_of? String }) and
161
+ APIHelper.valid_type?(value.is_invoice_level,
162
+ ->(val) { val.instance_of? TrueClass or val.instance_of? FalseClass }) and
163
+ APIHelper.valid_type?(value.filters,
164
+ ->(val) { PriceFilter.validate(val) },
165
+ is_model_hash: true,
166
+ is_inner_model_hash: true) and
167
+ APIHelper.valid_type?(value.applies_to_price_ids,
168
+ ->(val) { val.instance_of? String }) and
169
+ APIHelper.valid_type?(value.reason,
170
+ ->(val) { val.instance_of? String }) and
171
+ APIHelper.valid_type?(value.replaces_adjustment_id,
172
+ ->(val) { val.instance_of? String }) and
173
+ APIHelper.valid_type?(value.adjustment_type,
174
+ ->(val) { val.instance_of? String }) and
175
+ APIHelper.valid_type?(value.minimum_amount,
176
+ ->(val) { val.instance_of? String }) and
177
+ APIHelper.valid_type?(value.item_id,
178
+ ->(val) { val.instance_of? String }) and
179
+ APIHelper.valid_type?(value.plan_phase_order,
180
+ ->(val) { val.instance_of? Integer })
181
+ )
182
+ end
183
+
184
+ return false unless value.instance_of? Hash
185
+
186
+ (
187
+ APIHelper.valid_type?(value['id'],
188
+ ->(val) { val.instance_of? String }) and
189
+ APIHelper.valid_type?(value['is_invoice_level'],
190
+ ->(val) { val.instance_of? TrueClass or val.instance_of? FalseClass }) and
191
+ APIHelper.valid_type?(value['filters'],
192
+ ->(val) { PriceFilter.validate(val) },
193
+ is_model_hash: true,
194
+ is_inner_model_hash: true) and
195
+ APIHelper.valid_type?(value['applies_to_price_ids'],
196
+ ->(val) { val.instance_of? String }) and
197
+ APIHelper.valid_type?(value['reason'],
198
+ ->(val) { val.instance_of? String }) and
199
+ APIHelper.valid_type?(value['replaces_adjustment_id'],
200
+ ->(val) { val.instance_of? String }) and
201
+ APIHelper.valid_type?(value['adjustment_type'],
202
+ ->(val) { val.instance_of? String }) and
203
+ APIHelper.valid_type?(value['minimum_amount'],
204
+ ->(val) { val.instance_of? String }) and
205
+ APIHelper.valid_type?(value['item_id'],
206
+ ->(val) { val.instance_of? String }) and
207
+ APIHelper.valid_type?(value['plan_phase_order'],
208
+ ->(val) { val.instance_of? Integer })
209
+ )
210
+ end
211
+
212
+ # Provides a human-readable string representation of the object.
213
+ def to_s
214
+ class_name = self.class.name.split('::').last
215
+ "<#{class_name} id: #{@id}, is_invoice_level: #{@is_invoice_level}, filters: #{@filters},"\
216
+ " applies_to_price_ids: #{@applies_to_price_ids}, reason: #{@reason},"\
217
+ " replaces_adjustment_id: #{@replaces_adjustment_id}, adjustment_type: #{@adjustment_type},"\
218
+ " minimum_amount: #{@minimum_amount}, item_id: #{@item_id}, plan_phase_order:"\
219
+ " #{@plan_phase_order}, additional_properties: #{@additional_properties}>"
220
+ end
221
+
222
+ # Provides a debugging-friendly string with detailed object information.
223
+ def inspect
224
+ class_name = self.class.name.split('::').last
225
+ "<#{class_name} id: #{@id.inspect}, is_invoice_level: #{@is_invoice_level.inspect},"\
226
+ " filters: #{@filters.inspect}, applies_to_price_ids: #{@applies_to_price_ids.inspect},"\
227
+ " reason: #{@reason.inspect}, replaces_adjustment_id: #{@replaces_adjustment_id.inspect},"\
228
+ " adjustment_type: #{@adjustment_type.inspect}, minimum_amount: #{@minimum_amount.inspect},"\
229
+ " item_id: #{@item_id.inspect}, plan_phase_order: #{@plan_phase_order.inspect},"\
230
+ " additional_properties: #{@additional_properties}>"
231
+ end
232
+ end
233
+ end
@@ -0,0 +1,221 @@
1
+ # api_reference
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ApiReference
7
+ # PlanPhasePercentageDiscountAdjustment Model.
8
+ class PlanPhasePercentageDiscountAdjustment < 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 plan phase in which this adjustment is active.
49
+ # @return [Integer]
50
+ attr_accessor :plan_phase_order
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['plan_phase_order'] = 'plan_phase_order'
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
+ plan_phase_order
78
+ ]
79
+ end
80
+
81
+ def initialize(id:, is_invoice_level:, filters:, applies_to_price_ids:,
82
+ reason:, replaces_adjustment_id:, percentage_discount:,
83
+ plan_phase_order:, 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 = 'percentage_discount'
94
+ @percentage_discount = percentage_discount
95
+ @plan_phase_order = plan_phase_order
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
+ percentage_discount =
123
+ hash.key?('percentage_discount') ? hash['percentage_discount'] : nil
124
+ plan_phase_order =
125
+ hash.key?('plan_phase_order') ? hash['plan_phase_order'] : nil
126
+
127
+ # Create a new hash for additional properties, removing known properties.
128
+ new_hash = hash.reject { |k, _| names.value?(k) }
129
+
130
+ additional_properties = APIHelper.get_additional_properties(
131
+ new_hash, proc { |value| value }
132
+ )
133
+
134
+ # Create object from extracted values.
135
+ PlanPhasePercentageDiscountAdjustment.new(id: id,
136
+ is_invoice_level: is_invoice_level,
137
+ filters: filters,
138
+ applies_to_price_ids: applies_to_price_ids,
139
+ reason: reason,
140
+ replaces_adjustment_id: replaces_adjustment_id,
141
+ percentage_discount: percentage_discount,
142
+ plan_phase_order: plan_phase_order,
143
+ additional_properties: additional_properties)
144
+ end
145
+
146
+ # Validates an instance of the object from a given value.
147
+ # @param [PlanPhasePercentageDiscountAdjustment | Hash] The value against the validation is performed.
148
+ def self.validate(value)
149
+ if value.instance_of? self
150
+ return (
151
+ APIHelper.valid_type?(value.id,
152
+ ->(val) { val.instance_of? String }) and
153
+ APIHelper.valid_type?(value.is_invoice_level,
154
+ ->(val) { val.instance_of? TrueClass or val.instance_of? FalseClass }) and
155
+ APIHelper.valid_type?(value.filters,
156
+ ->(val) { PriceFilter.validate(val) },
157
+ is_model_hash: true,
158
+ is_inner_model_hash: true) and
159
+ APIHelper.valid_type?(value.applies_to_price_ids,
160
+ ->(val) { val.instance_of? String }) and
161
+ APIHelper.valid_type?(value.reason,
162
+ ->(val) { val.instance_of? String }) and
163
+ APIHelper.valid_type?(value.replaces_adjustment_id,
164
+ ->(val) { val.instance_of? String }) and
165
+ APIHelper.valid_type?(value.adjustment_type,
166
+ ->(val) { val.instance_of? String }) and
167
+ APIHelper.valid_type?(value.percentage_discount,
168
+ ->(val) { val.instance_of? Float }) and
169
+ APIHelper.valid_type?(value.plan_phase_order,
170
+ ->(val) { val.instance_of? Integer })
171
+ )
172
+ end
173
+
174
+ return false unless value.instance_of? Hash
175
+
176
+ (
177
+ APIHelper.valid_type?(value['id'],
178
+ ->(val) { val.instance_of? String }) and
179
+ APIHelper.valid_type?(value['is_invoice_level'],
180
+ ->(val) { val.instance_of? TrueClass or val.instance_of? FalseClass }) and
181
+ APIHelper.valid_type?(value['filters'],
182
+ ->(val) { PriceFilter.validate(val) },
183
+ is_model_hash: true,
184
+ is_inner_model_hash: true) and
185
+ APIHelper.valid_type?(value['applies_to_price_ids'],
186
+ ->(val) { val.instance_of? String }) and
187
+ APIHelper.valid_type?(value['reason'],
188
+ ->(val) { val.instance_of? String }) and
189
+ APIHelper.valid_type?(value['replaces_adjustment_id'],
190
+ ->(val) { val.instance_of? String }) and
191
+ APIHelper.valid_type?(value['adjustment_type'],
192
+ ->(val) { val.instance_of? String }) and
193
+ APIHelper.valid_type?(value['percentage_discount'],
194
+ ->(val) { val.instance_of? Float }) and
195
+ APIHelper.valid_type?(value['plan_phase_order'],
196
+ ->(val) { val.instance_of? Integer })
197
+ )
198
+ end
199
+
200
+ # Provides a human-readable string representation of the object.
201
+ def to_s
202
+ class_name = self.class.name.split('::').last
203
+ "<#{class_name} id: #{@id}, is_invoice_level: #{@is_invoice_level}, filters: #{@filters},"\
204
+ " applies_to_price_ids: #{@applies_to_price_ids}, reason: #{@reason},"\
205
+ " replaces_adjustment_id: #{@replaces_adjustment_id}, adjustment_type: #{@adjustment_type},"\
206
+ " percentage_discount: #{@percentage_discount}, plan_phase_order: #{@plan_phase_order},"\
207
+ " additional_properties: #{@additional_properties}>"
208
+ end
209
+
210
+ # Provides a debugging-friendly string with detailed object information.
211
+ def inspect
212
+ class_name = self.class.name.split('::').last
213
+ "<#{class_name} id: #{@id.inspect}, is_invoice_level: #{@is_invoice_level.inspect},"\
214
+ " filters: #{@filters.inspect}, applies_to_price_ids: #{@applies_to_price_ids.inspect},"\
215
+ " reason: #{@reason.inspect}, replaces_adjustment_id: #{@replaces_adjustment_id.inspect},"\
216
+ " adjustment_type: #{@adjustment_type.inspect}, percentage_discount:"\
217
+ " #{@percentage_discount.inspect}, plan_phase_order: #{@plan_phase_order.inspect},"\
218
+ " additional_properties: #{@additional_properties}>"
219
+ end
220
+ end
221
+ end