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
@@ -0,0 +1,115 @@
1
+ # typed: strong
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ class SettingUpsertAvalaraCredentialsParams < MetronomeSDK::Internal::Type::BaseModel
7
+ extend MetronomeSDK::Internal::Type::RequestParameters::Converter
8
+ include MetronomeSDK::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ MetronomeSDK::V1::SettingUpsertAvalaraCredentialsParams,
14
+ MetronomeSDK::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ # The Avalara environment to use (SANDBOX or PRODUCTION).
19
+ sig do
20
+ returns(
21
+ MetronomeSDK::V1::SettingUpsertAvalaraCredentialsParams::AvalaraEnvironment::OrSymbol
22
+ )
23
+ end
24
+ attr_accessor :avalara_environment
25
+
26
+ # The password for the Avalara account.
27
+ sig { returns(String) }
28
+ attr_accessor :avalara_password
29
+
30
+ # The username for the Avalara account.
31
+ sig { returns(String) }
32
+ attr_accessor :avalara_username
33
+
34
+ # The delivery method IDs of the billing provider configurations to update, can be
35
+ # found in the response of the `/listConfiguredBillingProviders` endpoint.
36
+ sig { returns(T::Array[String]) }
37
+ attr_accessor :delivery_method_ids
38
+
39
+ sig do
40
+ params(
41
+ avalara_environment:
42
+ MetronomeSDK::V1::SettingUpsertAvalaraCredentialsParams::AvalaraEnvironment::OrSymbol,
43
+ avalara_password: String,
44
+ avalara_username: String,
45
+ delivery_method_ids: T::Array[String],
46
+ request_options: MetronomeSDK::RequestOptions::OrHash
47
+ ).returns(T.attached_class)
48
+ end
49
+ def self.new(
50
+ # The Avalara environment to use (SANDBOX or PRODUCTION).
51
+ avalara_environment:,
52
+ # The password for the Avalara account.
53
+ avalara_password:,
54
+ # The username for the Avalara account.
55
+ avalara_username:,
56
+ # The delivery method IDs of the billing provider configurations to update, can be
57
+ # found in the response of the `/listConfiguredBillingProviders` endpoint.
58
+ delivery_method_ids:,
59
+ request_options: {}
60
+ )
61
+ end
62
+
63
+ sig do
64
+ override.returns(
65
+ {
66
+ avalara_environment:
67
+ MetronomeSDK::V1::SettingUpsertAvalaraCredentialsParams::AvalaraEnvironment::OrSymbol,
68
+ avalara_password: String,
69
+ avalara_username: String,
70
+ delivery_method_ids: T::Array[String],
71
+ request_options: MetronomeSDK::RequestOptions
72
+ }
73
+ )
74
+ end
75
+ def to_hash
76
+ end
77
+
78
+ # The Avalara environment to use (SANDBOX or PRODUCTION).
79
+ module AvalaraEnvironment
80
+ extend MetronomeSDK::Internal::Type::Enum
81
+
82
+ TaggedSymbol =
83
+ T.type_alias do
84
+ T.all(
85
+ Symbol,
86
+ MetronomeSDK::V1::SettingUpsertAvalaraCredentialsParams::AvalaraEnvironment
87
+ )
88
+ end
89
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
90
+
91
+ PRODUCTION =
92
+ T.let(
93
+ :PRODUCTION,
94
+ MetronomeSDK::V1::SettingUpsertAvalaraCredentialsParams::AvalaraEnvironment::TaggedSymbol
95
+ )
96
+ SANDBOX =
97
+ T.let(
98
+ :SANDBOX,
99
+ MetronomeSDK::V1::SettingUpsertAvalaraCredentialsParams::AvalaraEnvironment::TaggedSymbol
100
+ )
101
+
102
+ sig do
103
+ override.returns(
104
+ T::Array[
105
+ MetronomeSDK::V1::SettingUpsertAvalaraCredentialsParams::AvalaraEnvironment::TaggedSymbol
106
+ ]
107
+ )
108
+ end
109
+ def self.values
110
+ end
111
+ end
112
+ end
113
+ end
114
+ end
115
+ end
@@ -0,0 +1,25 @@
1
+ # typed: strong
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ class SettingUpsertAvalaraCredentialsResponse < MetronomeSDK::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ MetronomeSDK::Models::V1::SettingUpsertAvalaraCredentialsResponse,
11
+ MetronomeSDK::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ sig { returns(T.attached_class) }
16
+ def self.new
17
+ end
18
+
19
+ sig { override.returns({}) }
20
+ def to_hash
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,157 @@
1
+ # typed: strong
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ module Settings
7
+ class BillingProviderCreateParams < MetronomeSDK::Internal::Type::BaseModel
8
+ extend MetronomeSDK::Internal::Type::RequestParameters::Converter
9
+ include MetronomeSDK::Internal::Type::RequestParameters
10
+
11
+ OrHash =
12
+ T.type_alias do
13
+ T.any(
14
+ MetronomeSDK::V1::Settings::BillingProviderCreateParams,
15
+ MetronomeSDK::Internal::AnyHash
16
+ )
17
+ end
18
+
19
+ # The billing provider set for this configuration.
20
+ sig do
21
+ returns(
22
+ MetronomeSDK::V1::Settings::BillingProviderCreateParams::BillingProvider::OrSymbol
23
+ )
24
+ end
25
+ attr_accessor :billing_provider
26
+
27
+ # Account-level configuration for the billing provider. The structure of this
28
+ # object is specific to the billing provider and delivery provider combination.
29
+ # See examples below.
30
+ sig { returns(T::Hash[Symbol, T.anything]) }
31
+ attr_accessor :configuration
32
+
33
+ # The method to use for delivering invoices for this configuration.
34
+ sig do
35
+ returns(
36
+ MetronomeSDK::V1::Settings::BillingProviderCreateParams::DeliveryMethod::OrSymbol
37
+ )
38
+ end
39
+ attr_accessor :delivery_method
40
+
41
+ sig do
42
+ params(
43
+ billing_provider:
44
+ MetronomeSDK::V1::Settings::BillingProviderCreateParams::BillingProvider::OrSymbol,
45
+ configuration: T::Hash[Symbol, T.anything],
46
+ delivery_method:
47
+ MetronomeSDK::V1::Settings::BillingProviderCreateParams::DeliveryMethod::OrSymbol,
48
+ request_options: MetronomeSDK::RequestOptions::OrHash
49
+ ).returns(T.attached_class)
50
+ end
51
+ def self.new(
52
+ # The billing provider set for this configuration.
53
+ billing_provider:,
54
+ # Account-level configuration for the billing provider. The structure of this
55
+ # object is specific to the billing provider and delivery provider combination.
56
+ # See examples below.
57
+ configuration:,
58
+ # The method to use for delivering invoices for this configuration.
59
+ delivery_method:,
60
+ request_options: {}
61
+ )
62
+ end
63
+
64
+ sig do
65
+ override.returns(
66
+ {
67
+ billing_provider:
68
+ MetronomeSDK::V1::Settings::BillingProviderCreateParams::BillingProvider::OrSymbol,
69
+ configuration: T::Hash[Symbol, T.anything],
70
+ delivery_method:
71
+ MetronomeSDK::V1::Settings::BillingProviderCreateParams::DeliveryMethod::OrSymbol,
72
+ request_options: MetronomeSDK::RequestOptions
73
+ }
74
+ )
75
+ end
76
+ def to_hash
77
+ end
78
+
79
+ # The billing provider set for this configuration.
80
+ module BillingProvider
81
+ extend MetronomeSDK::Internal::Type::Enum
82
+
83
+ TaggedSymbol =
84
+ T.type_alias do
85
+ T.all(
86
+ Symbol,
87
+ MetronomeSDK::V1::Settings::BillingProviderCreateParams::BillingProvider
88
+ )
89
+ end
90
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
91
+
92
+ AWS_MARKETPLACE =
93
+ T.let(
94
+ :aws_marketplace,
95
+ MetronomeSDK::V1::Settings::BillingProviderCreateParams::BillingProvider::TaggedSymbol
96
+ )
97
+ AZURE_MARKETPLACE =
98
+ T.let(
99
+ :azure_marketplace,
100
+ MetronomeSDK::V1::Settings::BillingProviderCreateParams::BillingProvider::TaggedSymbol
101
+ )
102
+
103
+ sig do
104
+ override.returns(
105
+ T::Array[
106
+ MetronomeSDK::V1::Settings::BillingProviderCreateParams::BillingProvider::TaggedSymbol
107
+ ]
108
+ )
109
+ end
110
+ def self.values
111
+ end
112
+ end
113
+
114
+ # The method to use for delivering invoices for this configuration.
115
+ module DeliveryMethod
116
+ extend MetronomeSDK::Internal::Type::Enum
117
+
118
+ TaggedSymbol =
119
+ T.type_alias do
120
+ T.all(
121
+ Symbol,
122
+ MetronomeSDK::V1::Settings::BillingProviderCreateParams::DeliveryMethod
123
+ )
124
+ end
125
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
126
+
127
+ DIRECT_TO_BILLING_PROVIDER =
128
+ T.let(
129
+ :direct_to_billing_provider,
130
+ MetronomeSDK::V1::Settings::BillingProviderCreateParams::DeliveryMethod::TaggedSymbol
131
+ )
132
+ AWS_SQS =
133
+ T.let(
134
+ :aws_sqs,
135
+ MetronomeSDK::V1::Settings::BillingProviderCreateParams::DeliveryMethod::TaggedSymbol
136
+ )
137
+ AWS_SNS =
138
+ T.let(
139
+ :aws_sns,
140
+ MetronomeSDK::V1::Settings::BillingProviderCreateParams::DeliveryMethod::TaggedSymbol
141
+ )
142
+
143
+ sig do
144
+ override.returns(
145
+ T::Array[
146
+ MetronomeSDK::V1::Settings::BillingProviderCreateParams::DeliveryMethod::TaggedSymbol
147
+ ]
148
+ )
149
+ end
150
+ def self.values
151
+ end
152
+ end
153
+ end
154
+ end
155
+ end
156
+ end
157
+ end
@@ -0,0 +1,75 @@
1
+ # typed: strong
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ module Settings
7
+ class BillingProviderCreateResponse < MetronomeSDK::Internal::Type::BaseModel
8
+ OrHash =
9
+ T.type_alias do
10
+ T.any(
11
+ MetronomeSDK::Models::V1::Settings::BillingProviderCreateResponse,
12
+ MetronomeSDK::Internal::AnyHash
13
+ )
14
+ end
15
+
16
+ sig do
17
+ returns(
18
+ MetronomeSDK::Models::V1::Settings::BillingProviderCreateResponse::Data
19
+ )
20
+ end
21
+ attr_reader :data
22
+
23
+ sig do
24
+ params(
25
+ data:
26
+ MetronomeSDK::Models::V1::Settings::BillingProviderCreateResponse::Data::OrHash
27
+ ).void
28
+ end
29
+ attr_writer :data
30
+
31
+ sig do
32
+ params(
33
+ data:
34
+ MetronomeSDK::Models::V1::Settings::BillingProviderCreateResponse::Data::OrHash
35
+ ).returns(T.attached_class)
36
+ end
37
+ def self.new(data:)
38
+ end
39
+
40
+ sig do
41
+ override.returns(
42
+ {
43
+ data:
44
+ MetronomeSDK::Models::V1::Settings::BillingProviderCreateResponse::Data
45
+ }
46
+ )
47
+ end
48
+ def to_hash
49
+ end
50
+
51
+ class Data < MetronomeSDK::Internal::Type::BaseModel
52
+ OrHash =
53
+ T.type_alias do
54
+ T.any(
55
+ MetronomeSDK::Models::V1::Settings::BillingProviderCreateResponse::Data,
56
+ MetronomeSDK::Internal::AnyHash
57
+ )
58
+ end
59
+
60
+ sig { returns(String) }
61
+ attr_accessor :delivery_method_id
62
+
63
+ sig { params(delivery_method_id: String).returns(T.attached_class) }
64
+ def self.new(delivery_method_id:)
65
+ end
66
+
67
+ sig { override.returns({ delivery_method_id: String }) }
68
+ def to_hash
69
+ end
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,50 @@
1
+ # typed: strong
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ module Settings
7
+ class BillingProviderListParams < MetronomeSDK::Internal::Type::BaseModel
8
+ extend MetronomeSDK::Internal::Type::RequestParameters::Converter
9
+ include MetronomeSDK::Internal::Type::RequestParameters
10
+
11
+ OrHash =
12
+ T.type_alias do
13
+ T.any(
14
+ MetronomeSDK::V1::Settings::BillingProviderListParams,
15
+ MetronomeSDK::Internal::AnyHash
16
+ )
17
+ end
18
+
19
+ # The cursor to the next page of results
20
+ sig { returns(T.nilable(String)) }
21
+ attr_accessor :next_page
22
+
23
+ sig do
24
+ params(
25
+ next_page: T.nilable(String),
26
+ request_options: MetronomeSDK::RequestOptions::OrHash
27
+ ).returns(T.attached_class)
28
+ end
29
+ def self.new(
30
+ # The cursor to the next page of results
31
+ next_page: nil,
32
+ request_options: {}
33
+ )
34
+ end
35
+
36
+ sig do
37
+ override.returns(
38
+ {
39
+ next_page: T.nilable(String),
40
+ request_options: MetronomeSDK::RequestOptions
41
+ }
42
+ )
43
+ end
44
+ def to_hash
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,245 @@
1
+ # typed: strong
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ module Settings
7
+ class BillingProviderListResponse < MetronomeSDK::Internal::Type::BaseModel
8
+ OrHash =
9
+ T.type_alias do
10
+ T.any(
11
+ MetronomeSDK::Models::V1::Settings::BillingProviderListResponse,
12
+ MetronomeSDK::Internal::AnyHash
13
+ )
14
+ end
15
+
16
+ sig do
17
+ returns(
18
+ T::Array[
19
+ MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data
20
+ ]
21
+ )
22
+ end
23
+ attr_accessor :data
24
+
25
+ sig { returns(T.nilable(String)) }
26
+ attr_accessor :next_page
27
+
28
+ sig do
29
+ params(
30
+ data:
31
+ T::Array[
32
+ MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data::OrHash
33
+ ],
34
+ next_page: T.nilable(String)
35
+ ).returns(T.attached_class)
36
+ end
37
+ def self.new(data:, next_page: nil)
38
+ end
39
+
40
+ sig do
41
+ override.returns(
42
+ {
43
+ data:
44
+ T::Array[
45
+ MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data
46
+ ],
47
+ next_page: T.nilable(String)
48
+ }
49
+ )
50
+ end
51
+ def to_hash
52
+ end
53
+
54
+ class Data < MetronomeSDK::Internal::Type::BaseModel
55
+ OrHash =
56
+ T.type_alias do
57
+ T.any(
58
+ MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data,
59
+ MetronomeSDK::Internal::AnyHash
60
+ )
61
+ end
62
+
63
+ # The billing provider set for this configuration.
64
+ sig do
65
+ returns(
66
+ MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data::BillingProvider::TaggedSymbol
67
+ )
68
+ end
69
+ attr_accessor :billing_provider
70
+
71
+ # The method to use for delivering invoices to this customer.
72
+ sig do
73
+ returns(
74
+ MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data::DeliveryMethod::TaggedSymbol
75
+ )
76
+ end
77
+ attr_accessor :delivery_method
78
+
79
+ # Configuration for the delivery method. The structure of this object is specific
80
+ # to the delivery method. Some configuration may be omitted for security reasons.
81
+ sig { returns(T::Hash[Symbol, T.anything]) }
82
+ attr_accessor :delivery_method_configuration
83
+
84
+ # ID of the delivery method to use for this customer.
85
+ sig { returns(String) }
86
+ attr_accessor :delivery_method_id
87
+
88
+ sig do
89
+ params(
90
+ billing_provider:
91
+ MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data::BillingProvider::OrSymbol,
92
+ delivery_method:
93
+ MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data::DeliveryMethod::OrSymbol,
94
+ delivery_method_configuration: T::Hash[Symbol, T.anything],
95
+ delivery_method_id: String
96
+ ).returns(T.attached_class)
97
+ end
98
+ def self.new(
99
+ # The billing provider set for this configuration.
100
+ billing_provider:,
101
+ # The method to use for delivering invoices to this customer.
102
+ delivery_method:,
103
+ # Configuration for the delivery method. The structure of this object is specific
104
+ # to the delivery method. Some configuration may be omitted for security reasons.
105
+ delivery_method_configuration:,
106
+ # ID of the delivery method to use for this customer.
107
+ delivery_method_id:
108
+ )
109
+ end
110
+
111
+ sig do
112
+ override.returns(
113
+ {
114
+ billing_provider:
115
+ MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data::BillingProvider::TaggedSymbol,
116
+ delivery_method:
117
+ MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data::DeliveryMethod::TaggedSymbol,
118
+ delivery_method_configuration: T::Hash[Symbol, T.anything],
119
+ delivery_method_id: String
120
+ }
121
+ )
122
+ end
123
+ def to_hash
124
+ end
125
+
126
+ # The billing provider set for this configuration.
127
+ module BillingProvider
128
+ extend MetronomeSDK::Internal::Type::Enum
129
+
130
+ TaggedSymbol =
131
+ T.type_alias do
132
+ T.all(
133
+ Symbol,
134
+ MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data::BillingProvider
135
+ )
136
+ end
137
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
138
+
139
+ AWS_MARKETPLACE =
140
+ T.let(
141
+ :aws_marketplace,
142
+ MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data::BillingProvider::TaggedSymbol
143
+ )
144
+ STRIPE =
145
+ T.let(
146
+ :stripe,
147
+ MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data::BillingProvider::TaggedSymbol
148
+ )
149
+ NETSUITE =
150
+ T.let(
151
+ :netsuite,
152
+ MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data::BillingProvider::TaggedSymbol
153
+ )
154
+ CUSTOM =
155
+ T.let(
156
+ :custom,
157
+ MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data::BillingProvider::TaggedSymbol
158
+ )
159
+ AZURE_MARKETPLACE =
160
+ T.let(
161
+ :azure_marketplace,
162
+ MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data::BillingProvider::TaggedSymbol
163
+ )
164
+ QUICKBOOKS_ONLINE =
165
+ T.let(
166
+ :quickbooks_online,
167
+ MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data::BillingProvider::TaggedSymbol
168
+ )
169
+ WORKDAY =
170
+ T.let(
171
+ :workday,
172
+ MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data::BillingProvider::TaggedSymbol
173
+ )
174
+ GCP_MARKETPLACE =
175
+ T.let(
176
+ :gcp_marketplace,
177
+ MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data::BillingProvider::TaggedSymbol
178
+ )
179
+ METRONOME =
180
+ T.let(
181
+ :metronome,
182
+ MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data::BillingProvider::TaggedSymbol
183
+ )
184
+
185
+ sig do
186
+ override.returns(
187
+ T::Array[
188
+ MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data::BillingProvider::TaggedSymbol
189
+ ]
190
+ )
191
+ end
192
+ def self.values
193
+ end
194
+ end
195
+
196
+ # The method to use for delivering invoices to this customer.
197
+ module DeliveryMethod
198
+ extend MetronomeSDK::Internal::Type::Enum
199
+
200
+ TaggedSymbol =
201
+ T.type_alias do
202
+ T.all(
203
+ Symbol,
204
+ MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data::DeliveryMethod
205
+ )
206
+ end
207
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
208
+
209
+ DIRECT_TO_BILLING_PROVIDER =
210
+ T.let(
211
+ :direct_to_billing_provider,
212
+ MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data::DeliveryMethod::TaggedSymbol
213
+ )
214
+ AWS_SQS =
215
+ T.let(
216
+ :aws_sqs,
217
+ MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data::DeliveryMethod::TaggedSymbol
218
+ )
219
+ TACKLE =
220
+ T.let(
221
+ :tackle,
222
+ MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data::DeliveryMethod::TaggedSymbol
223
+ )
224
+ AWS_SNS =
225
+ T.let(
226
+ :aws_sns,
227
+ MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data::DeliveryMethod::TaggedSymbol
228
+ )
229
+
230
+ sig do
231
+ override.returns(
232
+ T::Array[
233
+ MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data::DeliveryMethod::TaggedSymbol
234
+ ]
235
+ )
236
+ end
237
+ def self.values
238
+ end
239
+ end
240
+ end
241
+ end
242
+ end
243
+ end
244
+ end
245
+ end