metronome-sdk 0.3.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (308) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +36 -0
  3. data/README.md +9 -9
  4. data/lib/metronome_sdk/internal/body_cursor_page.rb +86 -0
  5. data/lib/metronome_sdk/internal/cursor_page_without_limit.rb +86 -0
  6. data/lib/metronome_sdk/internal/transport/base_client.rb +1 -4
  7. data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +1 -9
  8. data/lib/metronome_sdk/internal/type/base_model.rb +6 -13
  9. data/lib/metronome_sdk/internal/type/union.rb +11 -0
  10. data/lib/metronome_sdk/internal/util.rb +1 -1
  11. data/lib/metronome_sdk/models/base_threshold_commit.rb +36 -0
  12. data/lib/metronome_sdk/models/commit.rb +26 -170
  13. data/lib/metronome_sdk/models/commit_hierarchy_configuration.rb +98 -0
  14. data/lib/metronome_sdk/models/commit_rate.rb +48 -0
  15. data/lib/metronome_sdk/models/commit_specifier.rb +42 -0
  16. data/lib/metronome_sdk/models/commit_specifier_input.rb +42 -0
  17. data/lib/metronome_sdk/models/contract.rb +404 -0
  18. data/lib/metronome_sdk/models/contract_v2.rb +2919 -0
  19. data/lib/metronome_sdk/models/contract_without_amendments.rb +36 -1126
  20. data/lib/metronome_sdk/models/credit.rb +9 -156
  21. data/lib/metronome_sdk/models/discount.rb +2 -1
  22. data/lib/metronome_sdk/models/hierarchy_configuration.rb +76 -0
  23. data/lib/metronome_sdk/models/override.rb +6 -101
  24. data/lib/metronome_sdk/models/override_tier.rb +21 -0
  25. data/lib/metronome_sdk/models/overwrite_rate.rb +82 -0
  26. data/lib/metronome_sdk/models/payment_gate_config.rb +149 -0
  27. data/lib/metronome_sdk/models/payment_gate_config_v2.rb +149 -0
  28. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +100 -0
  29. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +102 -0
  30. data/lib/metronome_sdk/models/pro_service.rb +2 -1
  31. data/lib/metronome_sdk/models/recurring_commit_subscription_config.rb +51 -0
  32. data/lib/metronome_sdk/models/scheduled_charge.rb +2 -1
  33. data/lib/metronome_sdk/models/spend_threshold_configuration.rb +44 -0
  34. data/lib/metronome_sdk/models/spend_threshold_configuration_v2.rb +44 -0
  35. data/lib/metronome_sdk/models/subscription.rb +227 -0
  36. data/lib/metronome_sdk/models/update_base_threshold_commit.rb +36 -0
  37. data/lib/metronome_sdk/models/v1/alert_create_params.rb +4 -6
  38. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +1 -2
  39. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +3 -3
  40. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +4 -7
  41. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +57 -411
  42. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_params.rb +7 -16
  43. data/lib/metronome_sdk/models/v1/contract_create_params.rb +236 -1478
  44. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +6 -23
  45. data/lib/metronome_sdk/models/v1/contract_list_response.rb +3 -1153
  46. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rb +2 -6
  47. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +5 -50
  48. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +3 -1154
  49. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rb +1 -3
  50. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +2 -1
  51. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +8 -1
  52. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +8 -1
  53. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +1 -4
  54. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_params.rb +4 -7
  55. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +10 -1
  56. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rb +2 -6
  57. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +5 -50
  58. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +10 -1
  59. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_params.rb +1 -3
  60. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rb +1 -3
  61. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +6 -61
  62. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +3 -49
  63. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +4 -51
  64. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rb +2 -6
  65. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +5 -49
  66. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +103 -123
  67. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +3 -5
  68. data/lib/metronome_sdk/models/v1/custom_field_list_keys_params.rb +1 -3
  69. data/lib/metronome_sdk/models/v1/custom_field_list_keys_response.rb +41 -58
  70. data/lib/metronome_sdk/models/v1/custom_field_set_values_params.rb +5 -1
  71. data/lib/metronome_sdk/models/v1/customer.rb +2 -1
  72. data/lib/metronome_sdk/models/v1/customer_create_params.rb +37 -11
  73. data/lib/metronome_sdk/models/v1/customer_detail.rb +2 -1
  74. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +3 -3
  75. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +1 -3
  76. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rb +28 -0
  77. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rb +128 -0
  78. data/lib/metronome_sdk/models/v1/customer_set_billing_configurations_params.rb +143 -0
  79. data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +1 -3
  80. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +30 -1
  81. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +2 -0
  82. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +2 -0
  83. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +10 -60
  84. data/lib/metronome_sdk/models/v1/customers/credit_create_params.rb +6 -48
  85. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +8 -16
  86. data/lib/metronome_sdk/models/v1/customers/invoice.rb +61 -48
  87. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rb +1 -4
  88. data/lib/metronome_sdk/models/v1/customers/plan_add_params.rb +2 -6
  89. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +2 -1
  90. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +4 -11
  91. data/lib/metronome_sdk/models/v1/plan_detail.rb +9 -5
  92. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +2 -1
  93. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +2 -1
  94. data/lib/metronome_sdk/models/v1/plan_list_response.rb +5 -1
  95. data/lib/metronome_sdk/models/v1/usage_ingest_params.rb +1 -4
  96. data/lib/metronome_sdk/models/v1/usage_list_params.rb +1 -3
  97. data/lib/metronome_sdk/models/v1/usage_list_response.rb +45 -62
  98. data/lib/metronome_sdk/models/v1/usage_search_response.rb +4 -7
  99. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +29 -58
  100. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +26 -49
  101. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +414 -2310
  102. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +337 -2424
  103. data/lib/metronome_sdk/models/v2/contract_list_response.rb +3 -4520
  104. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +3 -4528
  105. data/lib/metronome_sdk/models.rb +38 -0
  106. data/lib/metronome_sdk/resources/v1/alerts.rb +72 -2
  107. data/lib/metronome_sdk/resources/v1/audit_logs.rb +39 -4
  108. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +54 -4
  109. data/lib/metronome_sdk/resources/v1/contracts/products.rb +25 -6
  110. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +7 -2
  111. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +10 -2
  112. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +109 -10
  113. data/lib/metronome_sdk/resources/v1/contracts.rb +254 -18
  114. data/lib/metronome_sdk/resources/v1/credit_grants.rb +2 -1
  115. data/lib/metronome_sdk/resources/v1/custom_fields.rb +51 -14
  116. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +103 -8
  117. data/lib/metronome_sdk/resources/v1/customers/commits.rb +119 -9
  118. data/lib/metronome_sdk/resources/v1/customers/credits.rb +104 -8
  119. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +124 -8
  120. data/lib/metronome_sdk/resources/v1/customers.rb +169 -12
  121. data/lib/metronome_sdk/resources/v1/dashboards.rb +29 -3
  122. data/lib/metronome_sdk/resources/v1/invoices.rb +23 -2
  123. data/lib/metronome_sdk/resources/v1/pricing_units.rb +6 -1
  124. data/lib/metronome_sdk/resources/v1/services.rb +6 -4
  125. data/lib/metronome_sdk/resources/v1/usage.rb +185 -12
  126. data/lib/metronome_sdk/resources/v2/contracts.rb +114 -18
  127. data/lib/metronome_sdk/version.rb +1 -1
  128. data/lib/metronome_sdk.rb +24 -3
  129. data/rbi/metronome_sdk/errors.rbi +2 -2
  130. data/rbi/metronome_sdk/internal/body_cursor_page.rbi +22 -0
  131. data/rbi/metronome_sdk/internal/cursor_page_without_limit.rbi +22 -0
  132. data/rbi/metronome_sdk/models/base_threshold_commit.rbi +58 -0
  133. data/rbi/metronome_sdk/models/commit.rbi +26 -348
  134. data/rbi/metronome_sdk/models/commit_hierarchy_configuration.rbi +280 -0
  135. data/rbi/metronome_sdk/models/commit_rate.rbi +85 -0
  136. data/rbi/metronome_sdk/models/commit_specifier.rbi +71 -0
  137. data/rbi/metronome_sdk/models/commit_specifier_input.rbi +74 -0
  138. data/rbi/metronome_sdk/models/contract.rbi +768 -0
  139. data/rbi/metronome_sdk/models/contract_v2.rbi +5822 -0
  140. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +184 -2507
  141. data/rbi/metronome_sdk/models/credit.rbi +10 -348
  142. data/rbi/metronome_sdk/models/discount.rbi +2 -0
  143. data/rbi/metronome_sdk/models/hierarchy_configuration.rbi +180 -0
  144. data/rbi/metronome_sdk/models/override.rbi +8 -193
  145. data/rbi/metronome_sdk/models/override_tier.rbi +29 -0
  146. data/rbi/metronome_sdk/models/overwrite_rate.rbi +137 -0
  147. data/rbi/metronome_sdk/models/payment_gate_config.rbi +312 -0
  148. data/rbi/metronome_sdk/models/payment_gate_config_v2.rbi +321 -0
  149. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +183 -0
  150. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +188 -0
  151. data/rbi/metronome_sdk/models/pro_service.rbi +2 -0
  152. data/rbi/metronome_sdk/models/recurring_commit_subscription_config.rbi +125 -0
  153. data/rbi/metronome_sdk/models/scheduled_charge.rbi +2 -0
  154. data/rbi/metronome_sdk/models/spend_threshold_configuration.rbi +76 -0
  155. data/rbi/metronome_sdk/models/spend_threshold_configuration_v2.rbi +78 -0
  156. data/rbi/metronome_sdk/models/subscription.rbi +460 -0
  157. data/rbi/metronome_sdk/models/update_base_threshold_commit.rbi +61 -0
  158. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +6 -3
  159. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +2 -0
  160. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +2 -0
  161. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +44 -768
  162. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbi +2 -0
  163. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1550 -4079
  164. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +8 -59
  165. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +5 -2420
  166. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +6 -129
  167. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +4 -2419
  168. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +2 -0
  169. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +2 -0
  170. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +2 -0
  171. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_params.rbi +2 -0
  172. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +2 -0
  173. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +6 -129
  174. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +2 -0
  175. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +4 -129
  176. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +4 -129
  177. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +4 -129
  178. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +6 -129
  179. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +147 -198
  180. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +2 -0
  181. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_response.rbi +117 -165
  182. data/rbi/metronome_sdk/models/v1/custom_field_set_values_params.rbi +8 -1
  183. data/rbi/metronome_sdk/models/v1/customer.rbi +2 -0
  184. data/rbi/metronome_sdk/models/v1/customer_create_params.rbi +88 -3
  185. data/rbi/metronome_sdk/models/v1/customer_detail.rbi +2 -0
  186. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +2 -0
  187. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rbi +51 -0
  188. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbi +265 -0
  189. data/rbi/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbi +348 -0
  190. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +60 -0
  191. data/rbi/metronome_sdk/models/v1/customers/billing_config_create_params.rbi +10 -0
  192. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +10 -0
  193. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +6 -90
  194. data/rbi/metronome_sdk/models/v1/customers/credit_create_params.rbi +6 -90
  195. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +6 -3
  196. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +70 -10
  197. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +2 -0
  198. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +2 -0
  199. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +2 -0
  200. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +2 -0
  201. data/rbi/metronome_sdk/models/v1/plan_list_response.rbi +8 -1
  202. data/rbi/metronome_sdk/models/v1/usage_list_response.rbi +45 -86
  203. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +2 -0
  204. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +56 -76
  205. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +56 -76
  206. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +3419 -7270
  207. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1140 -6062
  208. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +5 -9867
  209. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +6 -9866
  210. data/rbi/metronome_sdk/models.rbi +44 -0
  211. data/rbi/metronome_sdk/resources/v1/alerts.rbi +72 -2
  212. data/rbi/metronome_sdk/resources/v1/audit_logs.rbi +39 -4
  213. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +54 -4
  214. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +25 -5
  215. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbi +7 -2
  216. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +10 -3
  217. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +109 -9
  218. data/rbi/metronome_sdk/resources/v1/contracts.rbi +257 -16
  219. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +5 -1
  220. data/rbi/metronome_sdk/resources/v1/custom_fields.rbi +57 -14
  221. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +108 -5
  222. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +119 -10
  223. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +104 -9
  224. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +123 -7
  225. data/rbi/metronome_sdk/resources/v1/customers.rbi +156 -11
  226. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +29 -3
  227. data/rbi/metronome_sdk/resources/v1/invoices.rbi +23 -2
  228. data/rbi/metronome_sdk/resources/v1/pricing_units.rbi +6 -1
  229. data/rbi/metronome_sdk/resources/v1/services.rbi +6 -4
  230. data/rbi/metronome_sdk/resources/v1/usage.rbi +188 -12
  231. data/rbi/metronome_sdk/resources/v2/contracts.rbi +120 -23
  232. data/sig/metronome_sdk/internal/body_cursor_page.rbs +13 -0
  233. data/sig/metronome_sdk/internal/cursor_page_without_limit.rbs +13 -0
  234. data/sig/metronome_sdk/models/base_threshold_commit.rbs +26 -0
  235. data/sig/metronome_sdk/models/commit.rbs +17 -170
  236. data/sig/metronome_sdk/models/commit_hierarchy_configuration.rbs +117 -0
  237. data/sig/metronome_sdk/models/commit_rate.rbs +48 -0
  238. data/sig/metronome_sdk/models/commit_specifier.rbs +47 -0
  239. data/sig/metronome_sdk/models/commit_specifier_input.rbs +47 -0
  240. data/sig/metronome_sdk/models/contract.rbs +398 -0
  241. data/sig/metronome_sdk/models/contract_v2.rbs +2881 -0
  242. data/sig/metronome_sdk/models/contract_without_amendments.rbs +54 -976
  243. data/sig/metronome_sdk/models/credit.rbs +12 -170
  244. data/sig/metronome_sdk/models/hierarchy_configuration.rbs +71 -0
  245. data/sig/metronome_sdk/models/override.rbs +12 -101
  246. data/sig/metronome_sdk/models/override_tier.rbs +17 -0
  247. data/sig/metronome_sdk/models/overwrite_rate.rbs +78 -0
  248. data/sig/metronome_sdk/models/payment_gate_config.rbs +123 -0
  249. data/sig/metronome_sdk/models/payment_gate_config_v2.rbs +123 -0
  250. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration.rbs +82 -0
  251. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbs +82 -0
  252. data/sig/metronome_sdk/models/recurring_commit_subscription_config.rbs +51 -0
  253. data/sig/metronome_sdk/models/spend_threshold_configuration.rbs +35 -0
  254. data/sig/metronome_sdk/models/spend_threshold_configuration_v2.rbs +35 -0
  255. data/sig/metronome_sdk/models/subscription.rbs +215 -0
  256. data/sig/metronome_sdk/models/update_base_threshold_commit.rbs +28 -0
  257. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +4 -2
  258. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +24 -340
  259. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +168 -1219
  260. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +4 -25
  261. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +4 -1041
  262. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +6 -54
  263. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +4 -1041
  264. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +6 -54
  265. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +6 -54
  266. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +6 -54
  267. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +6 -54
  268. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +6 -54
  269. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +72 -94
  270. data/sig/metronome_sdk/models/v1/custom_field_list_keys_response.rbs +53 -75
  271. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +31 -4
  272. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rbs +32 -0
  273. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbs +113 -0
  274. data/sig/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbs +133 -0
  275. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +21 -0
  276. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +7 -1
  277. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +6 -1
  278. data/sig/metronome_sdk/models/v1/customers/commit_create_params.rbs +6 -50
  279. data/sig/metronome_sdk/models/v1/customers/credit_create_params.rbs +6 -50
  280. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +4 -2
  281. data/sig/metronome_sdk/models/v1/usage_list_response.rbs +33 -55
  282. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +19 -43
  283. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +19 -43
  284. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +361 -1917
  285. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +242 -2252
  286. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +4 -4426
  287. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +4 -4426
  288. data/sig/metronome_sdk/models.rbs +38 -0
  289. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -1
  290. data/sig/metronome_sdk/resources/v1/contracts.rbs +3 -3
  291. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +1 -1
  292. data/sig/metronome_sdk/resources/v1/custom_fields.rbs +1 -1
  293. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +2 -1
  294. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +2 -2
  295. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +2 -2
  296. data/sig/metronome_sdk/resources/v1/customers.rbs +11 -0
  297. data/sig/metronome_sdk/resources/v1/usage.rbs +1 -1
  298. data/sig/metronome_sdk/resources/v2/contracts.rbs +7 -4
  299. metadata +74 -11
  300. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +0 -29
  301. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +0 -26
  302. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +0 -26
  303. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +0 -46
  304. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +0 -45
  305. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +0 -45
  306. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +0 -29
  307. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +0 -26
  308. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +0 -26
@@ -67,6 +67,7 @@ module MetronomeSDK
67
67
  sig { params(contract: MetronomeSDK::Credit::Contract::OrHash).void }
68
68
  attr_writer :contract
69
69
 
70
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
70
71
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
71
72
  attr_reader :custom_fields
72
73
 
@@ -80,13 +81,13 @@ module MetronomeSDK
80
81
  attr_writer :description
81
82
 
82
83
  # Optional configuration for credit hierarchy access control
83
- sig { returns(T.nilable(MetronomeSDK::Credit::HierarchyConfiguration)) }
84
+ sig { returns(T.nilable(MetronomeSDK::CommitHierarchyConfiguration)) }
84
85
  attr_reader :hierarchy_configuration
85
86
 
86
87
  sig do
87
88
  params(
88
89
  hierarchy_configuration:
89
- MetronomeSDK::Credit::HierarchyConfiguration::OrHash
90
+ MetronomeSDK::CommitHierarchyConfiguration::OrHash
90
91
  ).void
91
92
  end
92
93
  attr_writer :hierarchy_configuration
@@ -153,13 +154,11 @@ module MetronomeSDK
153
154
  # List of filters that determine what kind of customer usage draws down a commit
154
155
  # or credit. A customer's usage needs to meet the condition of at least one of the
155
156
  # specifiers to contribute to a commit's or credit's drawdown.
156
- sig { returns(T.nilable(T::Array[MetronomeSDK::Credit::Specifier])) }
157
+ sig { returns(T.nilable(T::Array[MetronomeSDK::CommitSpecifier])) }
157
158
  attr_reader :specifiers
158
159
 
159
160
  sig do
160
- params(
161
- specifiers: T::Array[MetronomeSDK::Credit::Specifier::OrHash]
162
- ).void
161
+ params(specifiers: T::Array[MetronomeSDK::CommitSpecifier::OrHash]).void
163
162
  end
164
163
  attr_writer :specifiers
165
164
 
@@ -187,7 +186,7 @@ module MetronomeSDK
187
186
  custom_fields: T::Hash[Symbol, String],
188
187
  description: String,
189
188
  hierarchy_configuration:
190
- MetronomeSDK::Credit::HierarchyConfiguration::OrHash,
189
+ MetronomeSDK::CommitHierarchyConfiguration::OrHash,
191
190
  ledger:
192
191
  T::Array[
193
192
  T.any(
@@ -205,7 +204,7 @@ module MetronomeSDK
205
204
  priority: Float,
206
205
  rate_type: MetronomeSDK::Credit::RateType::OrSymbol,
207
206
  salesforce_opportunity_id: String,
208
- specifiers: T::Array[MetronomeSDK::Credit::Specifier::OrHash],
207
+ specifiers: T::Array[MetronomeSDK::CommitSpecifier::OrHash],
209
208
  uniqueness_key: String
210
209
  ).returns(T.attached_class)
211
210
  end
@@ -228,6 +227,7 @@ module MetronomeSDK
228
227
  # included in the balance, including future-dated manual ledger entries.
229
228
  balance: nil,
230
229
  contract: nil,
230
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
231
231
  custom_fields: nil,
232
232
  description: nil,
233
233
  # Optional configuration for credit hierarchy access control
@@ -270,15 +270,14 @@ module MetronomeSDK
270
270
  contract: MetronomeSDK::Credit::Contract,
271
271
  custom_fields: T::Hash[Symbol, String],
272
272
  description: String,
273
- hierarchy_configuration:
274
- MetronomeSDK::Credit::HierarchyConfiguration,
273
+ hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
275
274
  ledger: T::Array[MetronomeSDK::Credit::Ledger::Variants],
276
275
  name: String,
277
276
  netsuite_sales_order_id: String,
278
277
  priority: Float,
279
278
  rate_type: MetronomeSDK::Credit::RateType::TaggedSymbol,
280
279
  salesforce_opportunity_id: String,
281
- specifiers: T::Array[MetronomeSDK::Credit::Specifier],
280
+ specifiers: T::Array[MetronomeSDK::CommitSpecifier],
282
281
  uniqueness_key: String
283
282
  }
284
283
  )
@@ -347,274 +346,6 @@ module MetronomeSDK
347
346
  end
348
347
  end
349
348
 
350
- class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
351
- OrHash =
352
- T.type_alias do
353
- T.any(
354
- MetronomeSDK::Credit::HierarchyConfiguration,
355
- MetronomeSDK::Internal::AnyHash
356
- )
357
- end
358
-
359
- sig do
360
- returns(
361
- MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::Variants
362
- )
363
- end
364
- attr_accessor :child_access
365
-
366
- # Optional configuration for credit hierarchy access control
367
- sig do
368
- params(
369
- child_access:
370
- T.any(
371
- MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::OrHash,
372
- MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::OrHash,
373
- MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::OrHash
374
- )
375
- ).returns(T.attached_class)
376
- end
377
- def self.new(child_access:)
378
- end
379
-
380
- sig do
381
- override.returns(
382
- {
383
- child_access:
384
- MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::Variants
385
- }
386
- )
387
- end
388
- def to_hash
389
- end
390
-
391
- module ChildAccess
392
- extend MetronomeSDK::Internal::Type::Union
393
-
394
- Variants =
395
- T.type_alias do
396
- T.any(
397
- MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
398
- MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
399
- MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
400
- )
401
- end
402
-
403
- class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
404
- OrHash =
405
- T.type_alias do
406
- T.any(
407
- MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
408
- MetronomeSDK::Internal::AnyHash
409
- )
410
- end
411
-
412
- sig do
413
- returns(
414
- MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
415
- )
416
- end
417
- attr_accessor :type
418
-
419
- sig do
420
- params(
421
- type:
422
- MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::OrSymbol
423
- ).returns(T.attached_class)
424
- end
425
- def self.new(type:)
426
- end
427
-
428
- sig do
429
- override.returns(
430
- {
431
- type:
432
- MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
433
- }
434
- )
435
- end
436
- def to_hash
437
- end
438
-
439
- module Type
440
- extend MetronomeSDK::Internal::Type::Enum
441
-
442
- TaggedSymbol =
443
- T.type_alias do
444
- T.all(
445
- Symbol,
446
- MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type
447
- )
448
- end
449
- OrSymbol = T.type_alias { T.any(Symbol, String) }
450
-
451
- ALL =
452
- T.let(
453
- :ALL,
454
- MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
455
- )
456
-
457
- sig do
458
- override.returns(
459
- T::Array[
460
- MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
461
- ]
462
- )
463
- end
464
- def self.values
465
- end
466
- end
467
- end
468
-
469
- class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
470
- OrHash =
471
- T.type_alias do
472
- T.any(
473
- MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
474
- MetronomeSDK::Internal::AnyHash
475
- )
476
- end
477
-
478
- sig do
479
- returns(
480
- MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
481
- )
482
- end
483
- attr_accessor :type
484
-
485
- sig do
486
- params(
487
- type:
488
- MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::OrSymbol
489
- ).returns(T.attached_class)
490
- end
491
- def self.new(type:)
492
- end
493
-
494
- sig do
495
- override.returns(
496
- {
497
- type:
498
- MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
499
- }
500
- )
501
- end
502
- def to_hash
503
- end
504
-
505
- module Type
506
- extend MetronomeSDK::Internal::Type::Enum
507
-
508
- TaggedSymbol =
509
- T.type_alias do
510
- T.all(
511
- Symbol,
512
- MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type
513
- )
514
- end
515
- OrSymbol = T.type_alias { T.any(Symbol, String) }
516
-
517
- NONE =
518
- T.let(
519
- :NONE,
520
- MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
521
- )
522
-
523
- sig do
524
- override.returns(
525
- T::Array[
526
- MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
527
- ]
528
- )
529
- end
530
- def self.values
531
- end
532
- end
533
- end
534
-
535
- class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
536
- OrHash =
537
- T.type_alias do
538
- T.any(
539
- MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs,
540
- MetronomeSDK::Internal::AnyHash
541
- )
542
- end
543
-
544
- sig { returns(T::Array[String]) }
545
- attr_accessor :contract_ids
546
-
547
- sig do
548
- returns(
549
- MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
550
- )
551
- end
552
- attr_accessor :type
553
-
554
- sig do
555
- params(
556
- contract_ids: T::Array[String],
557
- type:
558
- MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::OrSymbol
559
- ).returns(T.attached_class)
560
- end
561
- def self.new(contract_ids:, type:)
562
- end
563
-
564
- sig do
565
- override.returns(
566
- {
567
- contract_ids: T::Array[String],
568
- type:
569
- MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
570
- }
571
- )
572
- end
573
- def to_hash
574
- end
575
-
576
- module Type
577
- extend MetronomeSDK::Internal::Type::Enum
578
-
579
- TaggedSymbol =
580
- T.type_alias do
581
- T.all(
582
- Symbol,
583
- MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type
584
- )
585
- end
586
- OrSymbol = T.type_alias { T.any(Symbol, String) }
587
-
588
- CONTRACT_IDS =
589
- T.let(
590
- :CONTRACT_IDS,
591
- MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
592
- )
593
-
594
- sig do
595
- override.returns(
596
- T::Array[
597
- MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
598
- ]
599
- )
600
- end
601
- def self.values
602
- end
603
- end
604
- end
605
-
606
- sig do
607
- override.returns(
608
- T::Array[
609
- MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::Variants
610
- ]
611
- )
612
- end
613
- def self.variants
614
- end
615
- end
616
- end
617
-
618
349
  module Ledger
619
350
  extend MetronomeSDK::Internal::Type::Union
620
351
 
@@ -1285,75 +1016,6 @@ module MetronomeSDK
1285
1016
  def self.values
1286
1017
  end
1287
1018
  end
1288
-
1289
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
1290
- OrHash =
1291
- T.type_alias do
1292
- T.any(
1293
- MetronomeSDK::Credit::Specifier,
1294
- MetronomeSDK::Internal::AnyHash
1295
- )
1296
- end
1297
-
1298
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
1299
- attr_reader :presentation_group_values
1300
-
1301
- sig { params(presentation_group_values: T::Hash[Symbol, String]).void }
1302
- attr_writer :presentation_group_values
1303
-
1304
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
1305
- attr_reader :pricing_group_values
1306
-
1307
- sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
1308
- attr_writer :pricing_group_values
1309
-
1310
- # If provided, the specifier will only apply to the product with the specified ID.
1311
- sig { returns(T.nilable(String)) }
1312
- attr_reader :product_id
1313
-
1314
- sig { params(product_id: String).void }
1315
- attr_writer :product_id
1316
-
1317
- # If provided, the specifier will only apply to products with all the specified
1318
- # tags.
1319
- sig { returns(T.nilable(T::Array[String])) }
1320
- attr_reader :product_tags
1321
-
1322
- sig { params(product_tags: T::Array[String]).void }
1323
- attr_writer :product_tags
1324
-
1325
- sig do
1326
- params(
1327
- presentation_group_values: T::Hash[Symbol, String],
1328
- pricing_group_values: T::Hash[Symbol, String],
1329
- product_id: String,
1330
- product_tags: T::Array[String]
1331
- ).returns(T.attached_class)
1332
- end
1333
- def self.new(
1334
- presentation_group_values: nil,
1335
- pricing_group_values: nil,
1336
- # If provided, the specifier will only apply to the product with the specified ID.
1337
- product_id: nil,
1338
- # If provided, the specifier will only apply to products with all the specified
1339
- # tags.
1340
- product_tags: nil
1341
- )
1342
- end
1343
-
1344
- sig do
1345
- override.returns(
1346
- {
1347
- presentation_group_values: T::Hash[Symbol, String],
1348
- pricing_group_values: T::Hash[Symbol, String],
1349
- product_id: String,
1350
- product_tags: T::Array[String]
1351
- }
1352
- )
1353
- end
1354
- def to_hash
1355
- end
1356
- end
1357
1019
  end
1358
1020
  end
1359
1021
  end
@@ -23,6 +23,7 @@ module MetronomeSDK
23
23
  sig { params(schedule: MetronomeSDK::SchedulePointInTime::OrHash).void }
24
24
  attr_writer :schedule
25
25
 
26
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
26
27
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
27
28
  attr_reader :custom_fields
28
29
 
@@ -56,6 +57,7 @@ module MetronomeSDK
56
57
  id:,
57
58
  product:,
58
59
  schedule:,
60
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
59
61
  custom_fields: nil,
60
62
  name: nil,
61
63
  # This field's availability is dependent on your client's configuration.
@@ -0,0 +1,180 @@
1
+ # typed: strong
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ # Either a **parent** configuration with a list of children or a **child**
6
+ # configuration with a single parent.
7
+ module HierarchyConfiguration
8
+ extend MetronomeSDK::Internal::Type::Union
9
+
10
+ Variants =
11
+ T.type_alias do
12
+ T.any(
13
+ MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration,
14
+ MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration
15
+ )
16
+ end
17
+
18
+ class ParentHierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
19
+ OrHash =
20
+ T.type_alias do
21
+ T.any(
22
+ MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration,
23
+ MetronomeSDK::Internal::AnyHash
24
+ )
25
+ end
26
+
27
+ # List of contracts that belong to this parent.
28
+ sig do
29
+ returns(
30
+ T::Array[
31
+ MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration::Child
32
+ ]
33
+ )
34
+ end
35
+ attr_accessor :children
36
+
37
+ sig do
38
+ params(
39
+ children:
40
+ T::Array[
41
+ MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration::Child::OrHash
42
+ ]
43
+ ).returns(T.attached_class)
44
+ end
45
+ def self.new(
46
+ # List of contracts that belong to this parent.
47
+ children:
48
+ )
49
+ end
50
+
51
+ sig do
52
+ override.returns(
53
+ {
54
+ children:
55
+ T::Array[
56
+ MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration::Child
57
+ ]
58
+ }
59
+ )
60
+ end
61
+ def to_hash
62
+ end
63
+
64
+ class Child < MetronomeSDK::Internal::Type::BaseModel
65
+ OrHash =
66
+ T.type_alias do
67
+ T.any(
68
+ MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration::Child,
69
+ MetronomeSDK::Internal::AnyHash
70
+ )
71
+ end
72
+
73
+ sig { returns(String) }
74
+ attr_accessor :contract_id
75
+
76
+ sig { returns(String) }
77
+ attr_accessor :customer_id
78
+
79
+ sig do
80
+ params(contract_id: String, customer_id: String).returns(
81
+ T.attached_class
82
+ )
83
+ end
84
+ def self.new(contract_id:, customer_id:)
85
+ end
86
+
87
+ sig { override.returns({ contract_id: String, customer_id: String }) }
88
+ def to_hash
89
+ end
90
+ end
91
+ end
92
+
93
+ class ChildHierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
94
+ OrHash =
95
+ T.type_alias do
96
+ T.any(
97
+ MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration,
98
+ MetronomeSDK::Internal::AnyHash
99
+ )
100
+ end
101
+
102
+ # The single parent contract/customer for this child.
103
+ sig do
104
+ returns(
105
+ MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration::Parent
106
+ )
107
+ end
108
+ attr_reader :parent
109
+
110
+ sig do
111
+ params(
112
+ parent:
113
+ MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration::Parent::OrHash
114
+ ).void
115
+ end
116
+ attr_writer :parent
117
+
118
+ sig do
119
+ params(
120
+ parent:
121
+ MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration::Parent::OrHash
122
+ ).returns(T.attached_class)
123
+ end
124
+ def self.new(
125
+ # The single parent contract/customer for this child.
126
+ parent:
127
+ )
128
+ end
129
+
130
+ sig do
131
+ override.returns(
132
+ {
133
+ parent:
134
+ MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration::Parent
135
+ }
136
+ )
137
+ end
138
+ def to_hash
139
+ end
140
+
141
+ class Parent < MetronomeSDK::Internal::Type::BaseModel
142
+ OrHash =
143
+ T.type_alias do
144
+ T.any(
145
+ MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration::Parent,
146
+ MetronomeSDK::Internal::AnyHash
147
+ )
148
+ end
149
+
150
+ sig { returns(String) }
151
+ attr_accessor :contract_id
152
+
153
+ sig { returns(String) }
154
+ attr_accessor :customer_id
155
+
156
+ # The single parent contract/customer for this child.
157
+ sig do
158
+ params(contract_id: String, customer_id: String).returns(
159
+ T.attached_class
160
+ )
161
+ end
162
+ def self.new(contract_id:, customer_id:)
163
+ end
164
+
165
+ sig { override.returns({ contract_id: String, customer_id: String }) }
166
+ def to_hash
167
+ end
168
+ end
169
+ end
170
+
171
+ sig do
172
+ override.returns(
173
+ T::Array[MetronomeSDK::HierarchyConfiguration::Variants]
174
+ )
175
+ end
176
+ def self.variants
177
+ end
178
+ end
179
+ end
180
+ end