metronome-sdk 2.0.0 → 2.2.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 (151) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +75 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/internal/transport/base_client.rb +7 -1
  5. data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +38 -26
  6. data/lib/metronome_sdk/internal/util.rb +7 -2
  7. data/lib/metronome_sdk/models/contract.rb +1 -0
  8. data/lib/metronome_sdk/models/contract_v2.rb +69 -23
  9. data/lib/metronome_sdk/models/hierarchy_configuration.rb +45 -21
  10. data/lib/metronome_sdk/models/subscription.rb +38 -1
  11. data/lib/metronome_sdk/models/v1/alert_create_params.rb +33 -1
  12. data/lib/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rb +10 -1
  13. data/lib/metronome_sdk/models/v1/contract_create_params.rb +195 -29
  14. data/lib/metronome_sdk/models/v1/contract_list_balances_params.rb +9 -1
  15. data/lib/metronome_sdk/models/v1/customer_create_params.rb +105 -3
  16. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +14 -10
  17. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rb +1 -0
  18. data/lib/metronome_sdk/models/v1/customer_set_billing_configurations_params.rb +1 -0
  19. data/lib/metronome_sdk/models/v1/customer_set_billing_configurations_response.rb +111 -0
  20. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +32 -1
  21. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +21 -2
  22. data/lib/metronome_sdk/models/v1/customers/billing_config_delete_params.rb +1 -0
  23. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rb +1 -0
  24. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +21 -2
  25. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +1 -1
  26. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +34 -1
  27. data/lib/metronome_sdk/models/v1/customers/invoice.rb +144 -4
  28. data/lib/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rb +8 -1
  29. data/lib/metronome_sdk/models/v1/payment.rb +7 -1
  30. data/lib/metronome_sdk/models/v1/setting_upsert_avalara_credentials_params.rb +74 -0
  31. data/lib/metronome_sdk/models/v1/setting_upsert_avalara_credentials_response.rb +12 -0
  32. data/lib/metronome_sdk/models/v1/settings/billing_provider_create_params.rb +74 -0
  33. data/lib/metronome_sdk/models/v1/settings/billing_provider_create_response.rb +31 -0
  34. data/lib/metronome_sdk/models/v1/settings/billing_provider_list_params.rb +26 -0
  35. data/lib/metronome_sdk/models/v1/settings/billing_provider_list_response.rb +105 -0
  36. data/lib/metronome_sdk/models/v1/usage_search_response.rb +6 -3
  37. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +17 -1
  38. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +17 -1
  39. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +300 -10
  40. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +177 -3
  41. data/lib/metronome_sdk/resources/v1/alerts.rb +3 -1
  42. data/lib/metronome_sdk/resources/v1/contracts.rb +10 -4
  43. data/lib/metronome_sdk/resources/v1/credit_grants.rb +10 -5
  44. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +3 -1
  45. data/lib/metronome_sdk/resources/v1/customers/billing_config.rb +12 -5
  46. data/lib/metronome_sdk/resources/v1/customers/commits.rb +2 -1
  47. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +2 -1
  48. data/lib/metronome_sdk/resources/v1/customers/plans.rb +8 -4
  49. data/lib/metronome_sdk/resources/v1/customers.rb +12 -8
  50. data/lib/metronome_sdk/resources/v1/plans.rb +8 -4
  51. data/lib/metronome_sdk/resources/v1/settings/billing_providers.rb +75 -0
  52. data/lib/metronome_sdk/resources/v1/settings.rb +57 -0
  53. data/lib/metronome_sdk/resources/v1.rb +4 -0
  54. data/lib/metronome_sdk/resources/v2/contracts.rb +10 -2
  55. data/lib/metronome_sdk/version.rb +1 -1
  56. data/lib/metronome_sdk.rb +11 -0
  57. data/manifest.yaml +2 -0
  58. data/rbi/metronome_sdk/internal/transport/base_client.rbi +5 -0
  59. data/rbi/metronome_sdk/internal/transport/pooled_net_requester.rbi +6 -2
  60. data/rbi/metronome_sdk/internal/type/base_model.rbi +8 -4
  61. data/rbi/metronome_sdk/models/contract.rbi +5 -0
  62. data/rbi/metronome_sdk/models/contract_v2.rbi +122 -33
  63. data/rbi/metronome_sdk/models/hierarchy_configuration.rbi +63 -27
  64. data/rbi/metronome_sdk/models/subscription.rbi +64 -3
  65. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +69 -0
  66. data/rbi/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rbi +13 -0
  67. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +360 -33
  68. data/rbi/metronome_sdk/models/v1/contract_list_balances_params.rbi +11 -0
  69. data/rbi/metronome_sdk/models/v1/customer_create_params.rbi +215 -0
  70. data/rbi/metronome_sdk/models/v1/customer_preview_events_params.rbi +18 -11
  71. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbi +5 -0
  72. data/rbi/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbi +5 -0
  73. data/rbi/metronome_sdk/models/v1/customer_set_billing_configurations_response.rbi +281 -0
  74. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +67 -0
  75. data/rbi/metronome_sdk/models/v1/customers/billing_config_create_params.rbi +29 -0
  76. data/rbi/metronome_sdk/models/v1/customers/billing_config_delete_params.rbi +5 -0
  77. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rbi +5 -0
  78. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +24 -0
  79. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +2 -2
  80. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +76 -0
  81. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +268 -0
  82. data/rbi/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbi +9 -0
  83. data/rbi/metronome_sdk/models/v1/payment.rbi +11 -3
  84. data/rbi/metronome_sdk/models/v1/setting_upsert_avalara_credentials_params.rbi +128 -0
  85. data/rbi/metronome_sdk/models/v1/setting_upsert_avalara_credentials_response.rbi +25 -0
  86. data/rbi/metronome_sdk/models/v1/settings/billing_provider_create_params.rbi +162 -0
  87. data/rbi/metronome_sdk/models/v1/settings/billing_provider_create_response.rbi +75 -0
  88. data/rbi/metronome_sdk/models/v1/settings/billing_provider_list_params.rbi +50 -0
  89. data/rbi/metronome_sdk/models/v1/settings/billing_provider_list_response.rbi +245 -0
  90. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +11 -3
  91. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +22 -0
  92. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +22 -0
  93. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +630 -9
  94. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +367 -3
  95. data/rbi/metronome_sdk/resources/v1/alerts.rbi +5 -0
  96. data/rbi/metronome_sdk/resources/v1/contracts.rbi +13 -1
  97. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +10 -5
  98. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +5 -0
  99. data/rbi/metronome_sdk/resources/v1/customers/billing_config.rbi +14 -4
  100. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +3 -2
  101. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +2 -1
  102. data/rbi/metronome_sdk/resources/v1/customers/plans.rbi +8 -4
  103. data/rbi/metronome_sdk/resources/v1/customers.rbi +19 -9
  104. data/rbi/metronome_sdk/resources/v1/plans.rbi +8 -4
  105. data/rbi/metronome_sdk/resources/v1/settings/billing_providers.rbi +63 -0
  106. data/rbi/metronome_sdk/resources/v1/settings.rbi +51 -0
  107. data/rbi/metronome_sdk/resources/v1.rbi +3 -0
  108. data/rbi/metronome_sdk/resources/v2/contracts.rbi +12 -0
  109. data/sig/metronome_sdk/internal/transport/base_client.rbs +2 -0
  110. data/sig/metronome_sdk/internal/transport/pooled_net_requester.rbs +4 -1
  111. data/sig/metronome_sdk/models/contract.rbs +2 -0
  112. data/sig/metronome_sdk/models/contract_v2.rbs +33 -6
  113. data/sig/metronome_sdk/models/subscription.rbs +22 -3
  114. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +28 -0
  115. data/sig/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rbs +7 -0
  116. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +104 -0
  117. data/sig/metronome_sdk/models/v1/contract_list_balances_params.rbs +7 -0
  118. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +85 -0
  119. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbs +2 -0
  120. data/sig/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbs +2 -0
  121. data/sig/metronome_sdk/models/v1/customer_set_billing_configurations_response.rbs +119 -0
  122. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +26 -1
  123. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +16 -0
  124. data/sig/metronome_sdk/models/v1/customers/billing_config_delete_params.rbs +2 -0
  125. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rbs +2 -0
  126. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +14 -0
  127. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +32 -0
  128. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +130 -0
  129. data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbs +7 -0
  130. data/sig/metronome_sdk/models/v1/payment.rbs +10 -3
  131. data/sig/metronome_sdk/models/v1/setting_upsert_avalara_credentials_params.rbs +61 -0
  132. data/sig/metronome_sdk/models/v1/setting_upsert_avalara_credentials_response.rbs +13 -0
  133. data/sig/metronome_sdk/models/v1/settings/billing_provider_create_params.rbs +66 -0
  134. data/sig/metronome_sdk/models/v1/settings/billing_provider_create_response.rbs +34 -0
  135. data/sig/metronome_sdk/models/v1/settings/billing_provider_list_params.rbs +28 -0
  136. data/sig/metronome_sdk/models/v1/settings/billing_provider_list_response.rbs +102 -0
  137. data/sig/metronome_sdk/models/v1/usage_search_response.rbs +3 -1
  138. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +14 -0
  139. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +14 -0
  140. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +234 -3
  141. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +131 -3
  142. data/sig/metronome_sdk/resources/v1/alerts.rbs +1 -0
  143. data/sig/metronome_sdk/resources/v1/contracts.rbs +3 -0
  144. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +1 -0
  145. data/sig/metronome_sdk/resources/v1/customers/billing_config.rbs +2 -0
  146. data/sig/metronome_sdk/resources/v1/customers.rbs +2 -1
  147. data/sig/metronome_sdk/resources/v1/settings/billing_providers.rbs +23 -0
  148. data/sig/metronome_sdk/resources/v1/settings.rbs +20 -0
  149. data/sig/metronome_sdk/resources/v1.rbs +2 -0
  150. data/sig/metronome_sdk/resources/v2/contracts.rbs +4 -0
  151. metadata +29 -2
@@ -0,0 +1,162 @@
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
+ GCP_MARKETPLACE =
103
+ T.let(
104
+ :gcp_marketplace,
105
+ MetronomeSDK::V1::Settings::BillingProviderCreateParams::BillingProvider::TaggedSymbol
106
+ )
107
+
108
+ sig do
109
+ override.returns(
110
+ T::Array[
111
+ MetronomeSDK::V1::Settings::BillingProviderCreateParams::BillingProvider::TaggedSymbol
112
+ ]
113
+ )
114
+ end
115
+ def self.values
116
+ end
117
+ end
118
+
119
+ # The method to use for delivering invoices for this configuration.
120
+ module DeliveryMethod
121
+ extend MetronomeSDK::Internal::Type::Enum
122
+
123
+ TaggedSymbol =
124
+ T.type_alias do
125
+ T.all(
126
+ Symbol,
127
+ MetronomeSDK::V1::Settings::BillingProviderCreateParams::DeliveryMethod
128
+ )
129
+ end
130
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
131
+
132
+ DIRECT_TO_BILLING_PROVIDER =
133
+ T.let(
134
+ :direct_to_billing_provider,
135
+ MetronomeSDK::V1::Settings::BillingProviderCreateParams::DeliveryMethod::TaggedSymbol
136
+ )
137
+ AWS_SQS =
138
+ T.let(
139
+ :aws_sqs,
140
+ MetronomeSDK::V1::Settings::BillingProviderCreateParams::DeliveryMethod::TaggedSymbol
141
+ )
142
+ AWS_SNS =
143
+ T.let(
144
+ :aws_sns,
145
+ MetronomeSDK::V1::Settings::BillingProviderCreateParams::DeliveryMethod::TaggedSymbol
146
+ )
147
+
148
+ sig do
149
+ override.returns(
150
+ T::Array[
151
+ MetronomeSDK::V1::Settings::BillingProviderCreateParams::DeliveryMethod::TaggedSymbol
152
+ ]
153
+ )
154
+ end
155
+ def self.values
156
+ end
157
+ end
158
+ end
159
+ end
160
+ end
161
+ end
162
+ 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
@@ -180,7 +180,8 @@ module MetronomeSDK
180
180
  sig { params(aggregation_key: String).void }
181
181
  attr_writer :aggregation_key
182
182
 
183
- # Specifies the type of aggregation performed on matching events.
183
+ # Specifies the type of aggregation performed on matching events. Includes
184
+ # "custom_sql" for events search endpoint responses.
184
185
  sig do
185
186
  returns(
186
187
  T.nilable(
@@ -296,7 +297,8 @@ module MetronomeSDK
296
297
  # key must be one of the property filter names and is not applicable when the
297
298
  # aggregation type is 'count'.
298
299
  aggregation_key: nil,
299
- # Specifies the type of aggregation performed on matching events.
300
+ # Specifies the type of aggregation performed on matching events. Includes
301
+ # "custom_sql" for events search endpoint responses.
300
302
  aggregation_type: nil,
301
303
  # RFC 3339 timestamp indicating when the billable metric was archived. If not
302
304
  # provided, the billable metric is not archived.
@@ -345,7 +347,8 @@ module MetronomeSDK
345
347
  def to_hash
346
348
  end
347
349
 
348
- # Specifies the type of aggregation performed on matching events.
350
+ # Specifies the type of aggregation performed on matching events. Includes
351
+ # "custom_sql" for events search endpoint responses.
349
352
  module AggregationType
350
353
  extend MetronomeSDK::Internal::Type::Enum
351
354
 
@@ -383,6 +386,11 @@ module MetronomeSDK
383
386
  :UNIQUE,
384
387
  MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedBillableMetric::AggregationType::TaggedSymbol
385
388
  )
389
+ CUSTOM_SQL =
390
+ T.let(
391
+ :custom_sql,
392
+ MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedBillableMetric::AggregationType::TaggedSymbol
393
+ )
386
394
 
387
395
  sig do
388
396
  override.returns(
@@ -52,6 +52,13 @@ module MetronomeSDK
52
52
  sig { returns(T.nilable(T::Array[String])) }
53
53
  attr_accessor :applicable_product_tags
54
54
 
55
+ # Updated description for the commit
56
+ sig { returns(T.nilable(String)) }
57
+ attr_reader :description
58
+
59
+ sig { params(description: String).void }
60
+ attr_writer :description
61
+
55
62
  # Optional configuration for commit hierarchy access control
56
63
  sig { returns(T.nilable(MetronomeSDK::CommitHierarchyConfiguration)) }
57
64
  attr_reader :hierarchy_configuration
@@ -88,6 +95,13 @@ module MetronomeSDK
88
95
  end
89
96
  attr_writer :invoice_schedule
90
97
 
98
+ # Updated name for the commit
99
+ sig { returns(T.nilable(String)) }
100
+ attr_reader :name
101
+
102
+ sig { params(name: String).void }
103
+ attr_writer :name
104
+
91
105
  # If multiple commits are applicable, the one with the lower priority will apply
92
106
  # first.
93
107
  sig { returns(T.nilable(Float)) }
@@ -136,11 +150,13 @@ module MetronomeSDK
136
150
  MetronomeSDK::V2::ContractEditCommitParams::AccessSchedule::OrHash,
137
151
  applicable_product_ids: T.nilable(T::Array[String]),
138
152
  applicable_product_tags: T.nilable(T::Array[String]),
153
+ description: String,
139
154
  hierarchy_configuration:
140
155
  MetronomeSDK::CommitHierarchyConfiguration::OrHash,
141
156
  invoice_contract_id: String,
142
157
  invoice_schedule:
143
158
  MetronomeSDK::V2::ContractEditCommitParams::InvoiceSchedule::OrHash,
159
+ name: String,
144
160
  priority: T.nilable(Float),
145
161
  product_id: String,
146
162
  rate_type:
@@ -164,11 +180,15 @@ module MetronomeSDK
164
180
  # applicable_product_tags or specifiers are not provided, the commit applies to
165
181
  # all products.
166
182
  applicable_product_tags: nil,
183
+ # Updated description for the commit
184
+ description: nil,
167
185
  # Optional configuration for commit hierarchy access control
168
186
  hierarchy_configuration: nil,
169
187
  # ID of contract to use for invoicing
170
188
  invoice_contract_id: nil,
171
189
  invoice_schedule: nil,
190
+ # Updated name for the commit
191
+ name: nil,
172
192
  # If multiple commits are applicable, the one with the lower priority will apply
173
193
  # first.
174
194
  priority: nil,
@@ -197,11 +217,13 @@ module MetronomeSDK
197
217
  MetronomeSDK::V2::ContractEditCommitParams::AccessSchedule,
198
218
  applicable_product_ids: T.nilable(T::Array[String]),
199
219
  applicable_product_tags: T.nilable(T::Array[String]),
220
+ description: String,
200
221
  hierarchy_configuration:
201
222
  MetronomeSDK::CommitHierarchyConfiguration,
202
223
  invoice_contract_id: String,
203
224
  invoice_schedule:
204
225
  MetronomeSDK::V2::ContractEditCommitParams::InvoiceSchedule,
226
+ name: String,
205
227
  priority: T.nilable(Float),
206
228
  product_id: String,
207
229
  rate_type: