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,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ # @see MetronomeSDK::Resources::V1::Payments#cancel
7
+ class PaymentCancelParams < MetronomeSDK::Internal::Type::BaseModel
8
+ extend MetronomeSDK::Internal::Type::RequestParameters::Converter
9
+ include MetronomeSDK::Internal::Type::RequestParameters
10
+
11
+ # @!attribute customer_id
12
+ #
13
+ # @return [String]
14
+ required :customer_id, String
15
+
16
+ # @!attribute invoice_id
17
+ #
18
+ # @return [String]
19
+ required :invoice_id, String
20
+
21
+ # @!method initialize(customer_id:, invoice_id:, request_options: {})
22
+ # @param customer_id [String]
23
+ # @param invoice_id [String]
24
+ # @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}]
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ # @see MetronomeSDK::Resources::V1::Payments#cancel
7
+ class PaymentCancelResponse < MetronomeSDK::Internal::Type::BaseModel
8
+ # @!attribute data
9
+ #
10
+ # @return [MetronomeSDK::Models::V1::Payment]
11
+ required :data, -> { MetronomeSDK::V1::Payment }
12
+
13
+ # @!method initialize(data:)
14
+ # @param data [MetronomeSDK::Models::V1::Payment]
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ # @see MetronomeSDK::Resources::V1::Payments#list
7
+ class PaymentListParams < MetronomeSDK::Internal::Type::BaseModel
8
+ extend MetronomeSDK::Internal::Type::RequestParameters::Converter
9
+ include MetronomeSDK::Internal::Type::RequestParameters
10
+
11
+ # @!attribute customer_id
12
+ #
13
+ # @return [String]
14
+ required :customer_id, String
15
+
16
+ # @!attribute invoice_id
17
+ #
18
+ # @return [String]
19
+ required :invoice_id, String
20
+
21
+ # @!attribute limit
22
+ # The maximum number of payments to return. Defaults to 25.
23
+ #
24
+ # @return [Integer, nil]
25
+ optional :limit, Integer
26
+
27
+ # @!attribute next_page
28
+ # The next page token from a previous response.
29
+ #
30
+ # @return [String, nil]
31
+ optional :next_page, String
32
+
33
+ # @!attribute statuses
34
+ #
35
+ # @return [Array<Symbol, MetronomeSDK::Models::V1::PaymentStatus>, nil]
36
+ optional :statuses, -> { MetronomeSDK::Internal::Type::ArrayOf[enum: MetronomeSDK::V1::PaymentStatus] }
37
+
38
+ # @!method initialize(customer_id:, invoice_id:, limit: nil, next_page: nil, statuses: nil, request_options: {})
39
+ # @param customer_id [String]
40
+ #
41
+ # @param invoice_id [String]
42
+ #
43
+ # @param limit [Integer] The maximum number of payments to return. Defaults to 25.
44
+ #
45
+ # @param next_page [String] The next page token from a previous response.
46
+ #
47
+ # @param statuses [Array<Symbol, MetronomeSDK::Models::V1::PaymentStatus>]
48
+ #
49
+ # @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}]
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ module PaymentStatus
7
+ extend MetronomeSDK::Internal::Type::Enum
8
+
9
+ PENDING = :pending
10
+ REQUIRES_INTERVENTION = :requires_intervention
11
+ PAID = :paid
12
+ CANCELED = :canceled
13
+
14
+ # @!method self.values
15
+ # @return [Array<Symbol>]
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,65 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ # @see MetronomeSDK::Resources::V1::Settings#upsert_avalara_credentials
7
+ class SettingUpsertAvalaraCredentialsParams < MetronomeSDK::Internal::Type::BaseModel
8
+ extend MetronomeSDK::Internal::Type::RequestParameters::Converter
9
+ include MetronomeSDK::Internal::Type::RequestParameters
10
+
11
+ # @!attribute avalara_environment
12
+ # The Avalara environment to use (SANDBOX or PRODUCTION).
13
+ #
14
+ # @return [Symbol, MetronomeSDK::Models::V1::SettingUpsertAvalaraCredentialsParams::AvalaraEnvironment]
15
+ required :avalara_environment,
16
+ enum: -> { MetronomeSDK::V1::SettingUpsertAvalaraCredentialsParams::AvalaraEnvironment }
17
+
18
+ # @!attribute avalara_password
19
+ # The password for the Avalara account.
20
+ #
21
+ # @return [String]
22
+ required :avalara_password, String
23
+
24
+ # @!attribute avalara_username
25
+ # The username for the Avalara account.
26
+ #
27
+ # @return [String]
28
+ required :avalara_username, String
29
+
30
+ # @!attribute delivery_method_ids
31
+ # The delivery method IDs of the billing provider configurations to update, can be
32
+ # found in the response of the `/listConfiguredBillingProviders` endpoint.
33
+ #
34
+ # @return [Array<String>]
35
+ required :delivery_method_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
36
+
37
+ # @!method initialize(avalara_environment:, avalara_password:, avalara_username:, delivery_method_ids:, request_options: {})
38
+ # Some parameter documentations has been truncated, see
39
+ # {MetronomeSDK::Models::V1::SettingUpsertAvalaraCredentialsParams} for more
40
+ # details.
41
+ #
42
+ # @param avalara_environment [Symbol, MetronomeSDK::Models::V1::SettingUpsertAvalaraCredentialsParams::AvalaraEnvironment] The Avalara environment to use (SANDBOX or PRODUCTION).
43
+ #
44
+ # @param avalara_password [String] The password for the Avalara account.
45
+ #
46
+ # @param avalara_username [String] The username for the Avalara account.
47
+ #
48
+ # @param delivery_method_ids [Array<String>] The delivery method IDs of the billing provider configurations to update, can be
49
+ #
50
+ # @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}]
51
+
52
+ # The Avalara environment to use (SANDBOX or PRODUCTION).
53
+ module AvalaraEnvironment
54
+ extend MetronomeSDK::Internal::Type::Enum
55
+
56
+ PRODUCTION = :PRODUCTION
57
+ SANDBOX = :SANDBOX
58
+
59
+ # @!method self.values
60
+ # @return [Array<Symbol>]
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ # @see MetronomeSDK::Resources::V1::Settings#upsert_avalara_credentials
7
+ class SettingUpsertAvalaraCredentialsResponse < MetronomeSDK::Internal::Type::BaseModel
8
+ # @!method initialize
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,73 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ module Settings
7
+ # @see MetronomeSDK::Resources::V1::Settings::BillingProviders#create
8
+ class BillingProviderCreateParams < MetronomeSDK::Internal::Type::BaseModel
9
+ extend MetronomeSDK::Internal::Type::RequestParameters::Converter
10
+ include MetronomeSDK::Internal::Type::RequestParameters
11
+
12
+ # @!attribute billing_provider
13
+ # The billing provider set for this configuration.
14
+ #
15
+ # @return [Symbol, MetronomeSDK::Models::V1::Settings::BillingProviderCreateParams::BillingProvider]
16
+ required :billing_provider,
17
+ enum: -> { MetronomeSDK::V1::Settings::BillingProviderCreateParams::BillingProvider }
18
+
19
+ # @!attribute configuration
20
+ # Account-level configuration for the billing provider. The structure of this
21
+ # object is specific to the billing provider and delivery provider combination.
22
+ # See examples below.
23
+ #
24
+ # @return [Hash{Symbol=>Object}]
25
+ required :configuration, MetronomeSDK::Internal::Type::HashOf[MetronomeSDK::Internal::Type::Unknown]
26
+
27
+ # @!attribute delivery_method
28
+ # The method to use for delivering invoices for this configuration.
29
+ #
30
+ # @return [Symbol, MetronomeSDK::Models::V1::Settings::BillingProviderCreateParams::DeliveryMethod]
31
+ required :delivery_method,
32
+ enum: -> { MetronomeSDK::V1::Settings::BillingProviderCreateParams::DeliveryMethod }
33
+
34
+ # @!method initialize(billing_provider:, configuration:, delivery_method:, request_options: {})
35
+ # Some parameter documentations has been truncated, see
36
+ # {MetronomeSDK::Models::V1::Settings::BillingProviderCreateParams} for more
37
+ # details.
38
+ #
39
+ # @param billing_provider [Symbol, MetronomeSDK::Models::V1::Settings::BillingProviderCreateParams::BillingProvider] The billing provider set for this configuration.
40
+ #
41
+ # @param configuration [Hash{Symbol=>Object}] Account-level configuration for the billing provider. The structure of this obje
42
+ #
43
+ # @param delivery_method [Symbol, MetronomeSDK::Models::V1::Settings::BillingProviderCreateParams::DeliveryMethod] The method to use for delivering invoices for this configuration.
44
+ #
45
+ # @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}]
46
+
47
+ # The billing provider set for this configuration.
48
+ module BillingProvider
49
+ extend MetronomeSDK::Internal::Type::Enum
50
+
51
+ AWS_MARKETPLACE = :aws_marketplace
52
+ AZURE_MARKETPLACE = :azure_marketplace
53
+
54
+ # @!method self.values
55
+ # @return [Array<Symbol>]
56
+ end
57
+
58
+ # The method to use for delivering invoices for this configuration.
59
+ module DeliveryMethod
60
+ extend MetronomeSDK::Internal::Type::Enum
61
+
62
+ DIRECT_TO_BILLING_PROVIDER = :direct_to_billing_provider
63
+ AWS_SQS = :aws_sqs
64
+ AWS_SNS = :aws_sns
65
+
66
+ # @!method self.values
67
+ # @return [Array<Symbol>]
68
+ end
69
+ end
70
+ end
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ module Settings
7
+ # @see MetronomeSDK::Resources::V1::Settings::BillingProviders#create
8
+ class BillingProviderCreateResponse < MetronomeSDK::Internal::Type::BaseModel
9
+ # @!attribute data
10
+ #
11
+ # @return [MetronomeSDK::Models::V1::Settings::BillingProviderCreateResponse::Data]
12
+ required :data, -> { MetronomeSDK::Models::V1::Settings::BillingProviderCreateResponse::Data }
13
+
14
+ # @!method initialize(data:)
15
+ # @param data [MetronomeSDK::Models::V1::Settings::BillingProviderCreateResponse::Data]
16
+
17
+ # @see MetronomeSDK::Models::V1::Settings::BillingProviderCreateResponse#data
18
+ class Data < MetronomeSDK::Internal::Type::BaseModel
19
+ # @!attribute delivery_method_id
20
+ #
21
+ # @return [String]
22
+ required :delivery_method_id, String
23
+
24
+ # @!method initialize(delivery_method_id:)
25
+ # @param delivery_method_id [String]
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ module Settings
7
+ # @see MetronomeSDK::Resources::V1::Settings::BillingProviders#list
8
+ class BillingProviderListParams < MetronomeSDK::Internal::Type::BaseModel
9
+ extend MetronomeSDK::Internal::Type::RequestParameters::Converter
10
+ include MetronomeSDK::Internal::Type::RequestParameters
11
+
12
+ # @!attribute next_page
13
+ # The cursor to the next page of results
14
+ #
15
+ # @return [String, nil]
16
+ optional :next_page, String, nil?: true
17
+
18
+ # @!method initialize(next_page: nil, request_options: {})
19
+ # @param next_page [String, nil] The cursor to the next page of results
20
+ #
21
+ # @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}]
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,105 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ module Settings
7
+ # @see MetronomeSDK::Resources::V1::Settings::BillingProviders#list
8
+ class BillingProviderListResponse < MetronomeSDK::Internal::Type::BaseModel
9
+ # @!attribute data
10
+ #
11
+ # @return [Array<MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data>]
12
+ required :data,
13
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data] }
14
+
15
+ # @!attribute next_page
16
+ #
17
+ # @return [String, nil]
18
+ optional :next_page, String, nil?: true
19
+
20
+ # @!method initialize(data:, next_page: nil)
21
+ # @param data [Array<MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data>]
22
+ # @param next_page [String, nil]
23
+
24
+ class Data < MetronomeSDK::Internal::Type::BaseModel
25
+ # @!attribute billing_provider
26
+ # The billing provider set for this configuration.
27
+ #
28
+ # @return [Symbol, MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data::BillingProvider]
29
+ required :billing_provider,
30
+ enum: -> { MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data::BillingProvider }
31
+
32
+ # @!attribute delivery_method
33
+ # The method to use for delivering invoices to this customer.
34
+ #
35
+ # @return [Symbol, MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data::DeliveryMethod]
36
+ required :delivery_method,
37
+ enum: -> { MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data::DeliveryMethod }
38
+
39
+ # @!attribute delivery_method_configuration
40
+ # Configuration for the delivery method. The structure of this object is specific
41
+ # to the delivery method. Some configuration may be omitted for security reasons.
42
+ #
43
+ # @return [Hash{Symbol=>Object}]
44
+ required :delivery_method_configuration,
45
+ MetronomeSDK::Internal::Type::HashOf[MetronomeSDK::Internal::Type::Unknown]
46
+
47
+ # @!attribute delivery_method_id
48
+ # ID of the delivery method to use for this customer.
49
+ #
50
+ # @return [String]
51
+ required :delivery_method_id, String
52
+
53
+ # @!method initialize(billing_provider:, delivery_method:, delivery_method_configuration:, delivery_method_id:)
54
+ # Some parameter documentations has been truncated, see
55
+ # {MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data} for more
56
+ # details.
57
+ #
58
+ # @param billing_provider [Symbol, MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data::BillingProvider] The billing provider set for this configuration.
59
+ #
60
+ # @param delivery_method [Symbol, MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data::DeliveryMethod] The method to use for delivering invoices to this customer.
61
+ #
62
+ # @param delivery_method_configuration [Hash{Symbol=>Object}] Configuration for the delivery method. The structure of this object is specific
63
+ #
64
+ # @param delivery_method_id [String] ID of the delivery method to use for this customer.
65
+
66
+ # The billing provider set for this configuration.
67
+ #
68
+ # @see MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data#billing_provider
69
+ module BillingProvider
70
+ extend MetronomeSDK::Internal::Type::Enum
71
+
72
+ AWS_MARKETPLACE = :aws_marketplace
73
+ STRIPE = :stripe
74
+ NETSUITE = :netsuite
75
+ CUSTOM = :custom
76
+ AZURE_MARKETPLACE = :azure_marketplace
77
+ QUICKBOOKS_ONLINE = :quickbooks_online
78
+ WORKDAY = :workday
79
+ GCP_MARKETPLACE = :gcp_marketplace
80
+ METRONOME = :metronome
81
+
82
+ # @!method self.values
83
+ # @return [Array<Symbol>]
84
+ end
85
+
86
+ # The method to use for delivering invoices to this customer.
87
+ #
88
+ # @see MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data#delivery_method
89
+ module DeliveryMethod
90
+ extend MetronomeSDK::Internal::Type::Enum
91
+
92
+ DIRECT_TO_BILLING_PROVIDER = :direct_to_billing_provider
93
+ AWS_SQS = :aws_sqs
94
+ TACKLE = :tackle
95
+ AWS_SNS = :aws_sns
96
+
97
+ # @!method self.values
98
+ # @return [Array<Symbol>]
99
+ end
100
+ end
101
+ end
102
+ end
103
+ end
104
+ end
105
+ end
@@ -41,6 +41,12 @@ module MetronomeSDK
41
41
  # @return [Array<String>, nil]
42
42
  optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String], nil?: true
43
43
 
44
+ # @!attribute hierarchy_configuration
45
+ # Optional configuration for commit hierarchy access control
46
+ #
47
+ # @return [MetronomeSDK::Models::CommitHierarchyConfiguration, nil]
48
+ optional :hierarchy_configuration, -> { MetronomeSDK::CommitHierarchyConfiguration }
49
+
44
50
  # @!attribute invoice_contract_id
45
51
  # ID of contract to use for invoicing
46
52
  #
@@ -85,7 +91,7 @@ module MetronomeSDK
85
91
  -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::CommitSpecifierInput] },
86
92
  nil?: true
87
93
 
88
- # @!method initialize(commit_id:, customer_id:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, invoice_contract_id: nil, invoice_schedule: nil, priority: nil, product_id: nil, rate_type: nil, specifiers: nil, request_options: {})
94
+ # @!method initialize(commit_id:, customer_id:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, hierarchy_configuration: nil, invoice_contract_id: nil, invoice_schedule: nil, priority: nil, product_id: nil, rate_type: nil, specifiers: nil, request_options: {})
89
95
  # Some parameter documentations has been truncated, see
90
96
  # {MetronomeSDK::Models::V2::ContractEditCommitParams} for more details.
91
97
  #
@@ -99,6 +105,8 @@ module MetronomeSDK
99
105
  #
100
106
  # @param applicable_product_tags [Array<String>, nil] Which tags the commit applies to. If applicable*product_ids, applicable_product*
101
107
  #
108
+ # @param hierarchy_configuration [MetronomeSDK::Models::CommitHierarchyConfiguration] Optional configuration for commit hierarchy access control
109
+ #
102
110
  # @param invoice_contract_id [String] ID of contract to use for invoicing
103
111
  #
104
112
  # @param invoice_schedule [MetronomeSDK::Models::V2::ContractEditCommitParams::InvoiceSchedule]
@@ -39,6 +39,12 @@ module MetronomeSDK
39
39
  # @return [Array<String>, nil]
40
40
  optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String], nil?: true
41
41
 
42
+ # @!attribute hierarchy_configuration
43
+ # Optional configuration for credit hierarchy access control
44
+ #
45
+ # @return [MetronomeSDK::Models::CommitHierarchyConfiguration, nil]
46
+ optional :hierarchy_configuration, -> { MetronomeSDK::CommitHierarchyConfiguration }
47
+
42
48
  # @!attribute priority
43
49
  # If multiple commits are applicable, the one with the lower priority will apply
44
50
  # first.
@@ -72,7 +78,7 @@ module MetronomeSDK
72
78
  -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::CommitSpecifierInput] },
73
79
  nil?: true
74
80
 
75
- # @!method initialize(credit_id:, customer_id:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, priority: nil, product_id: nil, rate_type: nil, specifiers: nil, request_options: {})
81
+ # @!method initialize(credit_id:, customer_id:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, hierarchy_configuration: nil, priority: nil, product_id: nil, rate_type: nil, specifiers: nil, request_options: {})
76
82
  # Some parameter documentations has been truncated, see
77
83
  # {MetronomeSDK::Models::V2::ContractEditCreditParams} for more details.
78
84
  #
@@ -86,6 +92,8 @@ module MetronomeSDK
86
92
  #
87
93
  # @param applicable_product_tags [Array<String>, nil] Which tags the credit applies to. If both applicable*product_ids and applicable*
88
94
  #
95
+ # @param hierarchy_configuration [MetronomeSDK::Models::CommitHierarchyConfiguration] Optional configuration for credit hierarchy access control
96
+ #
89
97
  # @param priority [Float, nil] If multiple commits are applicable, the one with the lower priority will apply f
90
98
  #
91
99
  # @param product_id [String]