metronome-sdk 1.0.0 → 2.1.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 (193) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +91 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/errors.rb +25 -11
  5. data/lib/metronome_sdk/file_part.rb +10 -7
  6. data/lib/metronome_sdk/internal/body_cursor_page.rb +1 -1
  7. data/lib/metronome_sdk/internal/cursor_page.rb +1 -1
  8. data/lib/metronome_sdk/internal/cursor_page_without_limit.rb +1 -1
  9. data/lib/metronome_sdk/internal/transport/base_client.rb +11 -7
  10. data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +34 -31
  11. data/lib/metronome_sdk/internal/type/base_page.rb +1 -1
  12. data/lib/metronome_sdk/internal/type/enum.rb +25 -0
  13. data/lib/metronome_sdk/internal/type/file_input.rb +7 -4
  14. data/lib/metronome_sdk/internal/util.rb +8 -7
  15. data/lib/metronome_sdk/models/contract.rb +1 -0
  16. data/lib/metronome_sdk/models/contract_v2.rb +275 -6
  17. data/lib/metronome_sdk/models/contract_without_amendments.rb +2 -2
  18. data/lib/metronome_sdk/models/hierarchy_configuration.rb +123 -2
  19. data/lib/metronome_sdk/models/payment_gate_config.rb +1 -0
  20. data/lib/metronome_sdk/models/payment_gate_config_v2.rb +1 -0
  21. data/lib/metronome_sdk/models/subscription.rb +95 -1
  22. data/lib/metronome_sdk/models/v1/alert_archive_params.rb +8 -4
  23. data/lib/metronome_sdk/models/v1/alert_create_params.rb +38 -36
  24. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +1 -0
  25. data/lib/metronome_sdk/models/v1/contract_create_params.rb +157 -9
  26. data/lib/metronome_sdk/models/v1/contract_list_balances_params.rb +9 -1
  27. data/lib/metronome_sdk/models/v1/customer_create_params.rb +11 -1
  28. data/lib/metronome_sdk/models/v1/customer_detail.rb +9 -1
  29. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +19 -25
  30. data/lib/metronome_sdk/models/v1/customer_preview_events_response.rb +3 -3
  31. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rb +1 -0
  32. data/lib/metronome_sdk/models/v1/customer_set_billing_configurations_params.rb +1 -0
  33. data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +3 -3
  34. data/lib/metronome_sdk/models/v1/customers/alert_reset_params.rb +2 -2
  35. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +12 -12
  36. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +6 -1
  37. data/lib/metronome_sdk/models/v1/customers/billing_config_delete_params.rb +1 -0
  38. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rb +1 -0
  39. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +6 -1
  40. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +1 -1
  41. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +41 -38
  42. data/lib/metronome_sdk/models/v1/customers/invoice.rb +256 -16
  43. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_pdf_params.rb +30 -0
  44. data/lib/metronome_sdk/models/v1/payment.rb +157 -0
  45. data/lib/metronome_sdk/models/v1/payment_attempt_params.rb +28 -0
  46. data/lib/metronome_sdk/models/v1/payment_attempt_response.rb +18 -0
  47. data/lib/metronome_sdk/models/v1/payment_cancel_params.rb +28 -0
  48. data/lib/metronome_sdk/models/v1/payment_cancel_response.rb +18 -0
  49. data/lib/metronome_sdk/models/v1/payment_list_params.rb +53 -0
  50. data/lib/metronome_sdk/models/v1/payment_status.rb +19 -0
  51. data/lib/metronome_sdk/models/v1/setting_upsert_avalara_credentials_params.rb +65 -0
  52. data/lib/metronome_sdk/models/v1/setting_upsert_avalara_credentials_response.rb +12 -0
  53. data/lib/metronome_sdk/models/v1/settings/billing_provider_create_params.rb +73 -0
  54. data/lib/metronome_sdk/models/v1/settings/billing_provider_create_response.rb +31 -0
  55. data/lib/metronome_sdk/models/v1/settings/billing_provider_list_params.rb +26 -0
  56. data/lib/metronome_sdk/models/v1/settings/billing_provider_list_response.rb +105 -0
  57. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +9 -1
  58. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +9 -1
  59. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +219 -9
  60. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +195 -8
  61. data/lib/metronome_sdk/resources/v1/alerts.rb +57 -53
  62. data/lib/metronome_sdk/resources/v1/contracts.rb +8 -5
  63. data/lib/metronome_sdk/resources/v1/credit_grants.rb +10 -5
  64. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +70 -51
  65. data/lib/metronome_sdk/resources/v1/customers/billing_config.rb +7 -4
  66. data/lib/metronome_sdk/resources/v1/customers/commits.rb +2 -1
  67. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +57 -1
  68. data/lib/metronome_sdk/resources/v1/customers/plans.rb +8 -4
  69. data/lib/metronome_sdk/resources/v1/customers.rb +13 -8
  70. data/lib/metronome_sdk/resources/v1/payments.rb +102 -0
  71. data/lib/metronome_sdk/resources/v1/plans.rb +8 -4
  72. data/lib/metronome_sdk/resources/v1/settings/billing_providers.rb +75 -0
  73. data/lib/metronome_sdk/resources/v1/settings.rb +55 -0
  74. data/lib/metronome_sdk/resources/v1/usage.rb +4 -2
  75. data/lib/metronome_sdk/resources/v1.rb +8 -0
  76. data/lib/metronome_sdk/resources/v2/contracts.rb +9 -3
  77. data/lib/metronome_sdk/version.rb +1 -1
  78. data/lib/metronome_sdk.rb +17 -0
  79. data/rbi/metronome_sdk/errors.rbi +29 -2
  80. data/rbi/metronome_sdk/file_part.rbi +1 -1
  81. data/rbi/metronome_sdk/internal/transport/base_client.rbi +4 -5
  82. data/rbi/metronome_sdk/internal/type/base_page.rbi +1 -1
  83. data/rbi/metronome_sdk/internal/util.rbi +1 -1
  84. data/rbi/metronome_sdk/models/contract.rbi +5 -0
  85. data/rbi/metronome_sdk/models/contract_v2.rbi +635 -10
  86. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +2 -2
  87. data/rbi/metronome_sdk/models/hierarchy_configuration.rbi +286 -6
  88. data/rbi/metronome_sdk/models/payment_gate_config.rbi +5 -0
  89. data/rbi/metronome_sdk/models/payment_gate_config_v2.rbi +5 -0
  90. data/rbi/metronome_sdk/models/subscription.rbi +190 -0
  91. data/rbi/metronome_sdk/models/v1/alert_archive_params.rbi +6 -4
  92. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +51 -47
  93. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +5 -0
  94. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +326 -10
  95. data/rbi/metronome_sdk/models/v1/contract_list_balances_params.rbi +11 -0
  96. data/rbi/metronome_sdk/models/v1/customer_create_params.rbi +11 -0
  97. data/rbi/metronome_sdk/models/v1/customer_detail.rbi +8 -0
  98. data/rbi/metronome_sdk/models/v1/customer_preview_events_params.rbi +24 -32
  99. data/rbi/metronome_sdk/models/v1/customer_preview_events_response.rbi +10 -9
  100. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbi +5 -0
  101. data/rbi/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbi +5 -0
  102. data/rbi/metronome_sdk/models/v1/customers/alert_list_params.rbi +4 -4
  103. data/rbi/metronome_sdk/models/v1/customers/alert_reset_params.rbi +2 -2
  104. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +14 -14
  105. data/rbi/metronome_sdk/models/v1/customers/billing_config_create_params.rbi +11 -0
  106. data/rbi/metronome_sdk/models/v1/customers/billing_config_delete_params.rbi +5 -0
  107. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rbi +5 -0
  108. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +6 -0
  109. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +2 -2
  110. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +53 -44
  111. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +462 -38
  112. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_pdf_params.rbi +50 -0
  113. data/rbi/metronome_sdk/models/v1/payment.rbi +324 -0
  114. data/rbi/metronome_sdk/models/v1/payment_attempt_params.rbi +48 -0
  115. data/rbi/metronome_sdk/models/v1/payment_attempt_response.rbi +35 -0
  116. data/rbi/metronome_sdk/models/v1/payment_cancel_params.rbi +48 -0
  117. data/rbi/metronome_sdk/models/v1/payment_cancel_response.rbi +35 -0
  118. data/rbi/metronome_sdk/models/v1/payment_list_params.rbi +91 -0
  119. data/rbi/metronome_sdk/models/v1/payment_status.rbi +33 -0
  120. data/rbi/metronome_sdk/models/v1/setting_upsert_avalara_credentials_params.rbi +115 -0
  121. data/rbi/metronome_sdk/models/v1/setting_upsert_avalara_credentials_response.rbi +25 -0
  122. data/rbi/metronome_sdk/models/v1/settings/billing_provider_create_params.rbi +157 -0
  123. data/rbi/metronome_sdk/models/v1/settings/billing_provider_create_response.rbi +75 -0
  124. data/rbi/metronome_sdk/models/v1/settings/billing_provider_list_params.rbi +50 -0
  125. data/rbi/metronome_sdk/models/v1/settings/billing_provider_list_response.rbi +245 -0
  126. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +18 -0
  127. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +18 -0
  128. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +536 -12
  129. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +462 -14
  130. data/rbi/metronome_sdk/resources/v1/alerts.rbi +68 -64
  131. data/rbi/metronome_sdk/resources/v1/contracts.rbi +8 -4
  132. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +10 -5
  133. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +73 -54
  134. data/rbi/metronome_sdk/resources/v1/customers/billing_config.rbi +8 -4
  135. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +3 -2
  136. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +38 -1
  137. data/rbi/metronome_sdk/resources/v1/customers/plans.rbi +8 -4
  138. data/rbi/metronome_sdk/resources/v1/customers.rbi +17 -11
  139. data/rbi/metronome_sdk/resources/v1/payments.rbi +72 -0
  140. data/rbi/metronome_sdk/resources/v1/plans.rbi +8 -4
  141. data/rbi/metronome_sdk/resources/v1/settings/billing_providers.rbi +63 -0
  142. data/rbi/metronome_sdk/resources/v1/settings.rbi +47 -0
  143. data/rbi/metronome_sdk/resources/v1/usage.rbi +4 -2
  144. data/rbi/metronome_sdk/resources/v1.rbi +6 -0
  145. data/rbi/metronome_sdk/resources/v2/contracts.rbi +14 -0
  146. data/sig/metronome_sdk/errors.rbs +7 -0
  147. data/sig/metronome_sdk/file_part.rbs +1 -1
  148. data/sig/metronome_sdk/models/contract.rbs +2 -0
  149. data/sig/metronome_sdk/models/contract_v2.rbs +241 -12
  150. data/sig/metronome_sdk/models/hierarchy_configuration.rbs +87 -6
  151. data/sig/metronome_sdk/models/payment_gate_config.rbs +2 -1
  152. data/sig/metronome_sdk/models/payment_gate_config_v2.rbs +2 -1
  153. data/sig/metronome_sdk/models/subscription.rbs +80 -0
  154. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +2 -1
  155. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +91 -5
  156. data/sig/metronome_sdk/models/v1/contract_list_balances_params.rbs +7 -0
  157. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +2 -0
  158. data/sig/metronome_sdk/models/v1/customer_detail.rbs +5 -0
  159. data/sig/metronome_sdk/models/v1/customer_preview_events_params.rbs +0 -7
  160. data/sig/metronome_sdk/models/v1/customer_preview_events_response.rbs +6 -4
  161. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbs +2 -0
  162. data/sig/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbs +2 -0
  163. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +2 -0
  164. data/sig/metronome_sdk/models/v1/customers/billing_config_delete_params.rbs +2 -0
  165. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rbs +2 -0
  166. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +2 -0
  167. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +244 -19
  168. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_pdf_params.rbs +32 -0
  169. data/sig/metronome_sdk/models/v1/payment.rbs +198 -0
  170. data/sig/metronome_sdk/models/v1/payment_attempt_params.rbs +30 -0
  171. data/sig/metronome_sdk/models/v1/payment_attempt_response.rbs +15 -0
  172. data/sig/metronome_sdk/models/v1/payment_cancel_params.rbs +30 -0
  173. data/sig/metronome_sdk/models/v1/payment_cancel_response.rbs +15 -0
  174. data/sig/metronome_sdk/models/v1/payment_list_params.rbs +56 -0
  175. data/sig/metronome_sdk/models/v1/payment_status.rbs +19 -0
  176. data/sig/metronome_sdk/models/v1/setting_upsert_avalara_credentials_params.rbs +54 -0
  177. data/sig/metronome_sdk/models/v1/setting_upsert_avalara_credentials_response.rbs +13 -0
  178. data/sig/metronome_sdk/models/v1/settings/billing_provider_create_params.rbs +64 -0
  179. data/sig/metronome_sdk/models/v1/settings/billing_provider_create_response.rbs +34 -0
  180. data/sig/metronome_sdk/models/v1/settings/billing_provider_list_params.rbs +28 -0
  181. data/sig/metronome_sdk/models/v1/settings/billing_provider_list_response.rbs +102 -0
  182. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +9 -0
  183. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +9 -0
  184. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +184 -7
  185. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +221 -18
  186. data/sig/metronome_sdk/resources/v1/contracts.rbs +1 -0
  187. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +6 -0
  188. data/sig/metronome_sdk/resources/v1/payments.rbs +30 -0
  189. data/sig/metronome_sdk/resources/v1/settings/billing_providers.rbs +23 -0
  190. data/sig/metronome_sdk/resources/v1/settings.rbs +19 -0
  191. data/sig/metronome_sdk/resources/v1.rbs +4 -0
  192. data/sig/metronome_sdk/resources/v2/contracts.rbs +3 -0
  193. metadata +53 -2
@@ -23,6 +23,26 @@ module MetronomeSDK
23
23
  sig { returns(String) }
24
24
  attr_accessor :customer_id
25
25
 
26
+ # Update the billing provider configuration on the contract. Currently only
27
+ # supports adding a billing provider configuration to a contract that does not
28
+ # already have one.
29
+ sig do
30
+ returns(
31
+ T.nilable(
32
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate
33
+ )
34
+ )
35
+ end
36
+ attr_reader :add_billing_provider_configuration_update
37
+
38
+ sig do
39
+ params(
40
+ add_billing_provider_configuration_update:
41
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::OrHash
42
+ ).void
43
+ end
44
+ attr_writer :add_billing_provider_configuration_update
45
+
26
46
  sig do
27
47
  returns(
28
48
  T.nilable(T::Array[MetronomeSDK::V2::ContractEditParams::AddCommit])
@@ -514,6 +534,8 @@ module MetronomeSDK
514
534
  params(
515
535
  contract_id: String,
516
536
  customer_id: String,
537
+ add_billing_provider_configuration_update:
538
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::OrHash,
517
539
  add_commits:
518
540
  T::Array[MetronomeSDK::V2::ContractEditParams::AddCommit::OrHash],
519
541
  add_credits:
@@ -610,6 +632,10 @@ module MetronomeSDK
610
632
  contract_id:,
611
633
  # ID of the customer whose contract is being edited
612
634
  customer_id:,
635
+ # Update the billing provider configuration on the contract. Currently only
636
+ # supports adding a billing provider configuration to a contract that does not
637
+ # already have one.
638
+ add_billing_provider_configuration_update: nil,
613
639
  add_commits: nil,
614
640
  add_credits: nil,
615
641
  add_discounts: nil,
@@ -670,6 +696,8 @@ module MetronomeSDK
670
696
  {
671
697
  contract_id: String,
672
698
  customer_id: String,
699
+ add_billing_provider_configuration_update:
700
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate,
673
701
  add_commits:
674
702
  T::Array[MetronomeSDK::V2::ContractEditParams::AddCommit],
675
703
  add_credits:
@@ -749,6 +777,346 @@ module MetronomeSDK
749
777
  def to_hash
750
778
  end
751
779
 
780
+ class AddBillingProviderConfigurationUpdate < MetronomeSDK::Internal::Type::BaseModel
781
+ OrHash =
782
+ T.type_alias do
783
+ T.any(
784
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate,
785
+ MetronomeSDK::Internal::AnyHash
786
+ )
787
+ end
788
+
789
+ sig do
790
+ returns(
791
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::BillingProviderConfiguration
792
+ )
793
+ end
794
+ attr_reader :billing_provider_configuration
795
+
796
+ sig do
797
+ params(
798
+ billing_provider_configuration:
799
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::BillingProviderConfiguration::OrHash
800
+ ).void
801
+ end
802
+ attr_writer :billing_provider_configuration
803
+
804
+ # Indicates when the billing provider will be active on the contract. Any charges
805
+ # accrued during the schedule will be billed to the indicated billing provider.
806
+ sig do
807
+ returns(
808
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::Schedule
809
+ )
810
+ end
811
+ attr_reader :schedule
812
+
813
+ sig do
814
+ params(
815
+ schedule:
816
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::Schedule::OrHash
817
+ ).void
818
+ end
819
+ attr_writer :schedule
820
+
821
+ # Update the billing provider configuration on the contract. Currently only
822
+ # supports adding a billing provider configuration to a contract that does not
823
+ # already have one.
824
+ sig do
825
+ params(
826
+ billing_provider_configuration:
827
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::BillingProviderConfiguration::OrHash,
828
+ schedule:
829
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::Schedule::OrHash
830
+ ).returns(T.attached_class)
831
+ end
832
+ def self.new(
833
+ billing_provider_configuration:,
834
+ # Indicates when the billing provider will be active on the contract. Any charges
835
+ # accrued during the schedule will be billed to the indicated billing provider.
836
+ schedule:
837
+ )
838
+ end
839
+
840
+ sig do
841
+ override.returns(
842
+ {
843
+ billing_provider_configuration:
844
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::BillingProviderConfiguration,
845
+ schedule:
846
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::Schedule
847
+ }
848
+ )
849
+ end
850
+ def to_hash
851
+ end
852
+
853
+ class BillingProviderConfiguration < MetronomeSDK::Internal::Type::BaseModel
854
+ OrHash =
855
+ T.type_alias do
856
+ T.any(
857
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::BillingProviderConfiguration,
858
+ MetronomeSDK::Internal::AnyHash
859
+ )
860
+ end
861
+
862
+ sig do
863
+ returns(
864
+ T.nilable(
865
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::BillingProviderConfiguration::BillingProvider::OrSymbol
866
+ )
867
+ )
868
+ end
869
+ attr_reader :billing_provider
870
+
871
+ sig do
872
+ params(
873
+ billing_provider:
874
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::BillingProviderConfiguration::BillingProvider::OrSymbol
875
+ ).void
876
+ end
877
+ attr_writer :billing_provider
878
+
879
+ sig { returns(T.nilable(String)) }
880
+ attr_reader :billing_provider_configuration_id
881
+
882
+ sig { params(billing_provider_configuration_id: String).void }
883
+ attr_writer :billing_provider_configuration_id
884
+
885
+ sig do
886
+ returns(
887
+ T.nilable(
888
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::BillingProviderConfiguration::DeliveryMethod::OrSymbol
889
+ )
890
+ )
891
+ end
892
+ attr_reader :delivery_method
893
+
894
+ sig do
895
+ params(
896
+ delivery_method:
897
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::BillingProviderConfiguration::DeliveryMethod::OrSymbol
898
+ ).void
899
+ end
900
+ attr_writer :delivery_method
901
+
902
+ sig do
903
+ params(
904
+ billing_provider:
905
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::BillingProviderConfiguration::BillingProvider::OrSymbol,
906
+ billing_provider_configuration_id: String,
907
+ delivery_method:
908
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::BillingProviderConfiguration::DeliveryMethod::OrSymbol
909
+ ).returns(T.attached_class)
910
+ end
911
+ def self.new(
912
+ billing_provider: nil,
913
+ billing_provider_configuration_id: nil,
914
+ delivery_method: nil
915
+ )
916
+ end
917
+
918
+ sig do
919
+ override.returns(
920
+ {
921
+ billing_provider:
922
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::BillingProviderConfiguration::BillingProvider::OrSymbol,
923
+ billing_provider_configuration_id: String,
924
+ delivery_method:
925
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::BillingProviderConfiguration::DeliveryMethod::OrSymbol
926
+ }
927
+ )
928
+ end
929
+ def to_hash
930
+ end
931
+
932
+ module BillingProvider
933
+ extend MetronomeSDK::Internal::Type::Enum
934
+
935
+ TaggedSymbol =
936
+ T.type_alias do
937
+ T.all(
938
+ Symbol,
939
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::BillingProviderConfiguration::BillingProvider
940
+ )
941
+ end
942
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
943
+
944
+ AWS_MARKETPLACE =
945
+ T.let(
946
+ :aws_marketplace,
947
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::BillingProviderConfiguration::BillingProvider::TaggedSymbol
948
+ )
949
+ STRIPE =
950
+ T.let(
951
+ :stripe,
952
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::BillingProviderConfiguration::BillingProvider::TaggedSymbol
953
+ )
954
+ NETSUITE =
955
+ T.let(
956
+ :netsuite,
957
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::BillingProviderConfiguration::BillingProvider::TaggedSymbol
958
+ )
959
+ CUSTOM =
960
+ T.let(
961
+ :custom,
962
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::BillingProviderConfiguration::BillingProvider::TaggedSymbol
963
+ )
964
+ AZURE_MARKETPLACE =
965
+ T.let(
966
+ :azure_marketplace,
967
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::BillingProviderConfiguration::BillingProvider::TaggedSymbol
968
+ )
969
+ QUICKBOOKS_ONLINE =
970
+ T.let(
971
+ :quickbooks_online,
972
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::BillingProviderConfiguration::BillingProvider::TaggedSymbol
973
+ )
974
+ WORKDAY =
975
+ T.let(
976
+ :workday,
977
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::BillingProviderConfiguration::BillingProvider::TaggedSymbol
978
+ )
979
+ GCP_MARKETPLACE =
980
+ T.let(
981
+ :gcp_marketplace,
982
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::BillingProviderConfiguration::BillingProvider::TaggedSymbol
983
+ )
984
+ METRONOME =
985
+ T.let(
986
+ :metronome,
987
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::BillingProviderConfiguration::BillingProvider::TaggedSymbol
988
+ )
989
+
990
+ sig do
991
+ override.returns(
992
+ T::Array[
993
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::BillingProviderConfiguration::BillingProvider::TaggedSymbol
994
+ ]
995
+ )
996
+ end
997
+ def self.values
998
+ end
999
+ end
1000
+
1001
+ module DeliveryMethod
1002
+ extend MetronomeSDK::Internal::Type::Enum
1003
+
1004
+ TaggedSymbol =
1005
+ T.type_alias do
1006
+ T.all(
1007
+ Symbol,
1008
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::BillingProviderConfiguration::DeliveryMethod
1009
+ )
1010
+ end
1011
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1012
+
1013
+ DIRECT_TO_BILLING_PROVIDER =
1014
+ T.let(
1015
+ :direct_to_billing_provider,
1016
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::BillingProviderConfiguration::DeliveryMethod::TaggedSymbol
1017
+ )
1018
+ AWS_SQS =
1019
+ T.let(
1020
+ :aws_sqs,
1021
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::BillingProviderConfiguration::DeliveryMethod::TaggedSymbol
1022
+ )
1023
+ TACKLE =
1024
+ T.let(
1025
+ :tackle,
1026
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::BillingProviderConfiguration::DeliveryMethod::TaggedSymbol
1027
+ )
1028
+ AWS_SNS =
1029
+ T.let(
1030
+ :aws_sns,
1031
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::BillingProviderConfiguration::DeliveryMethod::TaggedSymbol
1032
+ )
1033
+
1034
+ sig do
1035
+ override.returns(
1036
+ T::Array[
1037
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::BillingProviderConfiguration::DeliveryMethod::TaggedSymbol
1038
+ ]
1039
+ )
1040
+ end
1041
+ def self.values
1042
+ end
1043
+ end
1044
+ end
1045
+
1046
+ class Schedule < MetronomeSDK::Internal::Type::BaseModel
1047
+ OrHash =
1048
+ T.type_alias do
1049
+ T.any(
1050
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::Schedule,
1051
+ MetronomeSDK::Internal::AnyHash
1052
+ )
1053
+ end
1054
+
1055
+ # When the billing provider update will take effect.
1056
+ sig do
1057
+ returns(
1058
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::Schedule::EffectiveAt::OrSymbol
1059
+ )
1060
+ end
1061
+ attr_accessor :effective_at
1062
+
1063
+ # Indicates when the billing provider will be active on the contract. Any charges
1064
+ # accrued during the schedule will be billed to the indicated billing provider.
1065
+ sig do
1066
+ params(
1067
+ effective_at:
1068
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::Schedule::EffectiveAt::OrSymbol
1069
+ ).returns(T.attached_class)
1070
+ end
1071
+ def self.new(
1072
+ # When the billing provider update will take effect.
1073
+ effective_at:
1074
+ )
1075
+ end
1076
+
1077
+ sig do
1078
+ override.returns(
1079
+ {
1080
+ effective_at:
1081
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::Schedule::EffectiveAt::OrSymbol
1082
+ }
1083
+ )
1084
+ end
1085
+ def to_hash
1086
+ end
1087
+
1088
+ # When the billing provider update will take effect.
1089
+ module EffectiveAt
1090
+ extend MetronomeSDK::Internal::Type::Enum
1091
+
1092
+ TaggedSymbol =
1093
+ T.type_alias do
1094
+ T.all(
1095
+ Symbol,
1096
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::Schedule::EffectiveAt
1097
+ )
1098
+ end
1099
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1100
+
1101
+ START_OF_CURRENT_PERIOD =
1102
+ T.let(
1103
+ :START_OF_CURRENT_PERIOD,
1104
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::Schedule::EffectiveAt::TaggedSymbol
1105
+ )
1106
+
1107
+ sig do
1108
+ override.returns(
1109
+ T::Array[
1110
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::Schedule::EffectiveAt::TaggedSymbol
1111
+ ]
1112
+ )
1113
+ end
1114
+ def self.values
1115
+ end
1116
+ end
1117
+ end
1118
+ end
1119
+
752
1120
  class AddCommit < MetronomeSDK::Internal::Type::BaseModel
753
1121
  OrHash =
754
1122
  T.type_alias do
@@ -1949,6 +2317,11 @@ module MetronomeSDK
1949
2317
  :ANROK,
1950
2318
  MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::TaxType::TaggedSymbol
1951
2319
  )
2320
+ AVALARA =
2321
+ T.let(
2322
+ :AVALARA,
2323
+ MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::TaxType::TaggedSymbol
2324
+ )
1952
2325
  PRECALCULATED =
1953
2326
  T.let(
1954
2327
  :PRECALCULATED,
@@ -4328,7 +4701,9 @@ module MetronomeSDK
4328
4701
  sig { returns(String) }
4329
4702
  attr_accessor :subscription_id
4330
4703
 
4331
- # If set to POOLED, allocation added per seat is pooled across the account.
4704
+ # If set to POOLED, allocation added per seat is pooled across the account. (BETA)
4705
+ # If set to INDIVIDUAL, each seat in the subscription will have its own
4706
+ # allocation.
4332
4707
  sig do
4333
4708
  returns(
4334
4709
  T.nilable(
@@ -4360,7 +4735,9 @@ module MetronomeSDK
4360
4735
  apply_seat_increase_config:,
4361
4736
  # ID of the subscription to configure on the recurring commit/credit.
4362
4737
  subscription_id:,
4363
- # If set to POOLED, allocation added per seat is pooled across the account.
4738
+ # If set to POOLED, allocation added per seat is pooled across the account. (BETA)
4739
+ # If set to INDIVIDUAL, each seat in the subscription will have its own
4740
+ # allocation.
4364
4741
  allocation: nil
4365
4742
  )
4366
4743
  end
@@ -4404,7 +4781,9 @@ module MetronomeSDK
4404
4781
  end
4405
4782
  end
4406
4783
 
4407
- # If set to POOLED, allocation added per seat is pooled across the account.
4784
+ # If set to POOLED, allocation added per seat is pooled across the account. (BETA)
4785
+ # If set to INDIVIDUAL, each seat in the subscription will have its own
4786
+ # allocation.
4408
4787
  module Allocation
4409
4788
  extend MetronomeSDK::Internal::Type::Enum
4410
4789
 
@@ -5073,7 +5452,9 @@ module MetronomeSDK
5073
5452
  sig { returns(String) }
5074
5453
  attr_accessor :subscription_id
5075
5454
 
5076
- # If set to POOLED, allocation added per seat is pooled across the account.
5455
+ # If set to POOLED, allocation added per seat is pooled across the account. (BETA)
5456
+ # If set to INDIVIDUAL, each seat in the subscription will have its own
5457
+ # allocation.
5077
5458
  sig do
5078
5459
  returns(
5079
5460
  T.nilable(
@@ -5105,7 +5486,9 @@ module MetronomeSDK
5105
5486
  apply_seat_increase_config:,
5106
5487
  # ID of the subscription to configure on the recurring commit/credit.
5107
5488
  subscription_id:,
5108
- # If set to POOLED, allocation added per seat is pooled across the account.
5489
+ # If set to POOLED, allocation added per seat is pooled across the account. (BETA)
5490
+ # If set to INDIVIDUAL, each seat in the subscription will have its own
5491
+ # allocation.
5109
5492
  allocation: nil
5110
5493
  )
5111
5494
  end
@@ -5149,7 +5532,9 @@ module MetronomeSDK
5149
5532
  end
5150
5533
  end
5151
5534
 
5152
- # If set to POOLED, allocation added per seat is pooled across the account.
5535
+ # If set to POOLED, allocation added per seat is pooled across the account. (BETA)
5536
+ # If set to INDIVIDUAL, each seat in the subscription will have its own
5537
+ # allocation.
5153
5538
  module Allocation
5154
5539
  extend MetronomeSDK::Internal::Type::Enum
5155
5540
 
@@ -6037,6 +6422,11 @@ module MetronomeSDK
6037
6422
  # QUANTITY_ONLY. **QUANTITY_ONLY**: The subscription quantity is specified
6038
6423
  # directly on the subscription. `initial_quantity` must be provided with this
6039
6424
  # option. Compatible with recurring commits/credits that use POOLED allocation.
6425
+ # **SEAT_BASED**: (BETA) Use when you want to pass specific seat identifiers (e.g.
6426
+ # add user_123) to increment and decrement a subscription quantity, rather than
6427
+ # directly providing the quantity. You must use a **SEAT_BASED** subscription to
6428
+ # use a linked recurring credit with an allocation per seat. `seat_config` must be
6429
+ # provided with this option.
6040
6430
  sig do
6041
6431
  returns(
6042
6432
  T.nilable(
@@ -6107,6 +6497,11 @@ module MetronomeSDK
6107
6497
  # QUANTITY_ONLY. **QUANTITY_ONLY**: The subscription quantity is specified
6108
6498
  # directly on the subscription. `initial_quantity` must be provided with this
6109
6499
  # option. Compatible with recurring commits/credits that use POOLED allocation.
6500
+ # **SEAT_BASED**: (BETA) Use when you want to pass specific seat identifiers (e.g.
6501
+ # add user_123) to increment and decrement a subscription quantity, rather than
6502
+ # directly providing the quantity. You must use a **SEAT_BASED** subscription to
6503
+ # use a linked recurring credit with an allocation per seat. `seat_config` must be
6504
+ # provided with this option.
6110
6505
  quantity_management_mode: nil,
6111
6506
  # Inclusive start time for the subscription. If not provided, defaults to contract
6112
6507
  # start date
@@ -6385,6 +6780,11 @@ module MetronomeSDK
6385
6780
  # QUANTITY_ONLY. **QUANTITY_ONLY**: The subscription quantity is specified
6386
6781
  # directly on the subscription. `initial_quantity` must be provided with this
6387
6782
  # option. Compatible with recurring commits/credits that use POOLED allocation.
6783
+ # **SEAT_BASED**: (BETA) Use when you want to pass specific seat identifiers (e.g.
6784
+ # add user_123) to increment and decrement a subscription quantity, rather than
6785
+ # directly providing the quantity. You must use a **SEAT_BASED** subscription to
6786
+ # use a linked recurring credit with an allocation per seat. `seat_config` must be
6787
+ # provided with this option.
6388
6788
  module QuantityManagementMode
6389
6789
  extend MetronomeSDK::Internal::Type::Enum
6390
6790
 
@@ -7868,6 +8268,25 @@ module MetronomeSDK
7868
8268
  end
7869
8269
  attr_writer :invoice_amount
7870
8270
 
8271
+ # If provided, updates the recurring commit to use the specified rate type when
8272
+ # generating future commits.
8273
+ sig do
8274
+ returns(
8275
+ T.nilable(
8276
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::RateType::OrSymbol
8277
+ )
8278
+ )
8279
+ end
8280
+ attr_reader :rate_type
8281
+
8282
+ sig do
8283
+ params(
8284
+ rate_type:
8285
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::RateType::OrSymbol
8286
+ ).void
8287
+ end
8288
+ attr_writer :rate_type
8289
+
7871
8290
  sig do
7872
8291
  params(
7873
8292
  recurring_commit_id: String,
@@ -7875,14 +8294,19 @@ module MetronomeSDK
7875
8294
  MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::AccessAmount::OrHash,
7876
8295
  ending_before: T.nilable(Time),
7877
8296
  invoice_amount:
7878
- MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::InvoiceAmount::OrHash
8297
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::InvoiceAmount::OrHash,
8298
+ rate_type:
8299
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::RateType::OrSymbol
7879
8300
  ).returns(T.attached_class)
7880
8301
  end
7881
8302
  def self.new(
7882
8303
  recurring_commit_id:,
7883
8304
  access_amount: nil,
7884
8305
  ending_before: nil,
7885
- invoice_amount: nil
8306
+ invoice_amount: nil,
8307
+ # If provided, updates the recurring commit to use the specified rate type when
8308
+ # generating future commits.
8309
+ rate_type: nil
7886
8310
  )
7887
8311
  end
7888
8312
 
@@ -7894,7 +8318,9 @@ module MetronomeSDK
7894
8318
  MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::AccessAmount,
7895
8319
  ending_before: T.nilable(Time),
7896
8320
  invoice_amount:
7897
- MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::InvoiceAmount
8321
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::InvoiceAmount,
8322
+ rate_type:
8323
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::RateType::OrSymbol
7898
8324
  }
7899
8325
  )
7900
8326
  end
@@ -7968,6 +8394,42 @@ module MetronomeSDK
7968
8394
  def to_hash
7969
8395
  end
7970
8396
  end
8397
+
8398
+ # If provided, updates the recurring commit to use the specified rate type when
8399
+ # generating future commits.
8400
+ module RateType
8401
+ extend MetronomeSDK::Internal::Type::Enum
8402
+
8403
+ TaggedSymbol =
8404
+ T.type_alias do
8405
+ T.all(
8406
+ Symbol,
8407
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::RateType
8408
+ )
8409
+ end
8410
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
8411
+
8412
+ LIST_RATE =
8413
+ T.let(
8414
+ :LIST_RATE,
8415
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::RateType::TaggedSymbol
8416
+ )
8417
+ COMMIT_RATE =
8418
+ T.let(
8419
+ :COMMIT_RATE,
8420
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::RateType::TaggedSymbol
8421
+ )
8422
+
8423
+ sig do
8424
+ override.returns(
8425
+ T::Array[
8426
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::RateType::TaggedSymbol
8427
+ ]
8428
+ )
8429
+ end
8430
+ def self.values
8431
+ end
8432
+ end
7971
8433
  end
7972
8434
 
7973
8435
  class UpdateRecurringCredit < MetronomeSDK::Internal::Type::BaseModel
@@ -8002,18 +8464,42 @@ module MetronomeSDK
8002
8464
  sig { returns(T.nilable(Time)) }
8003
8465
  attr_accessor :ending_before
8004
8466
 
8467
+ # If provided, updates the recurring credit to use the specified rate type when
8468
+ # generating future credits.
8469
+ sig do
8470
+ returns(
8471
+ T.nilable(
8472
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::RateType::OrSymbol
8473
+ )
8474
+ )
8475
+ end
8476
+ attr_reader :rate_type
8477
+
8478
+ sig do
8479
+ params(
8480
+ rate_type:
8481
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::RateType::OrSymbol
8482
+ ).void
8483
+ end
8484
+ attr_writer :rate_type
8485
+
8005
8486
  sig do
8006
8487
  params(
8007
8488
  recurring_credit_id: String,
8008
8489
  access_amount:
8009
8490
  MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::AccessAmount::OrHash,
8010
- ending_before: T.nilable(Time)
8491
+ ending_before: T.nilable(Time),
8492
+ rate_type:
8493
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::RateType::OrSymbol
8011
8494
  ).returns(T.attached_class)
8012
8495
  end
8013
8496
  def self.new(
8014
8497
  recurring_credit_id:,
8015
8498
  access_amount: nil,
8016
- ending_before: nil
8499
+ ending_before: nil,
8500
+ # If provided, updates the recurring credit to use the specified rate type when
8501
+ # generating future credits.
8502
+ rate_type: nil
8017
8503
  )
8018
8504
  end
8019
8505
 
@@ -8023,7 +8509,9 @@ module MetronomeSDK
8023
8509
  recurring_credit_id: String,
8024
8510
  access_amount:
8025
8511
  MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::AccessAmount,
8026
- ending_before: T.nilable(Time)
8512
+ ending_before: T.nilable(Time),
8513
+ rate_type:
8514
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::RateType::OrSymbol
8027
8515
  }
8028
8516
  )
8029
8517
  end
@@ -8063,6 +8551,42 @@ module MetronomeSDK
8063
8551
  def to_hash
8064
8552
  end
8065
8553
  end
8554
+
8555
+ # If provided, updates the recurring credit to use the specified rate type when
8556
+ # generating future credits.
8557
+ module RateType
8558
+ extend MetronomeSDK::Internal::Type::Enum
8559
+
8560
+ TaggedSymbol =
8561
+ T.type_alias do
8562
+ T.all(
8563
+ Symbol,
8564
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::RateType
8565
+ )
8566
+ end
8567
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
8568
+
8569
+ LIST_RATE =
8570
+ T.let(
8571
+ :LIST_RATE,
8572
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::RateType::TaggedSymbol
8573
+ )
8574
+ COMMIT_RATE =
8575
+ T.let(
8576
+ :COMMIT_RATE,
8577
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::RateType::TaggedSymbol
8578
+ )
8579
+
8580
+ sig do
8581
+ override.returns(
8582
+ T::Array[
8583
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::RateType::TaggedSymbol
8584
+ ]
8585
+ )
8586
+ end
8587
+ def self.values
8588
+ end
8589
+ end
8066
8590
  end
8067
8591
 
8068
8592
  class UpdateScheduledCharge < MetronomeSDK::Internal::Type::BaseModel