metronome-sdk 3.6.0 → 3.8.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 (141) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +54 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/internal/transport/base_client.rb +4 -1
  5. data/lib/metronome_sdk/internal/type/enum.rb +0 -25
  6. data/lib/metronome_sdk/models/commit.rb +36 -1
  7. data/lib/metronome_sdk/models/contract.rb +140 -1
  8. data/lib/metronome_sdk/models/contract_v2.rb +457 -8
  9. data/lib/metronome_sdk/models/contract_without_amendments.rb +320 -5
  10. data/lib/metronome_sdk/models/credit.rb +10 -1
  11. data/lib/metronome_sdk/models/override.rb +7 -1
  12. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +113 -2
  13. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +105 -2
  14. data/lib/metronome_sdk/models/spend_threshold_configuration.rb +33 -1
  15. data/lib/metronome_sdk/models/spend_threshold_configuration_v2.rb +33 -1
  16. data/lib/metronome_sdk/models/subscription.rb +90 -2
  17. data/lib/metronome_sdk/models/v1/alert_create_params.rb +127 -1
  18. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +46 -5
  19. data/lib/metronome_sdk/models/v1/contract_create_params.rb +436 -12
  20. data/lib/metronome_sdk/models/v1/contract_create_response.rb +1308 -3
  21. data/lib/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rb +88 -0
  22. data/lib/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rb +62 -0
  23. data/lib/metronome_sdk/models/v1/contract_list_seat_balances_params.rb +10 -1
  24. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +127 -1
  25. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +130 -3
  26. data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +10 -1
  27. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +2 -0
  28. data/lib/metronome_sdk/models/v1/package_create_params.rb +394 -11
  29. data/lib/metronome_sdk/models/v1/package_list_response.rb +374 -8
  30. data/lib/metronome_sdk/models/v1/package_retrieve_response.rb +378 -8
  31. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +817 -13
  32. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +4310 -3
  33. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +600 -10
  34. data/lib/metronome_sdk/resources/v1/alerts.rb +3 -1
  35. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +4 -0
  36. data/lib/metronome_sdk/resources/v1/contracts.rb +71 -2
  37. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +4 -2
  38. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +3 -1
  39. data/lib/metronome_sdk/resources/v1/dashboards.rb +7 -2
  40. data/lib/metronome_sdk/resources/v1/packages.rb +6 -5
  41. data/lib/metronome_sdk/resources/v1.rb +0 -4
  42. data/lib/metronome_sdk/resources/v2/contracts.rb +5 -1
  43. data/lib/metronome_sdk/version.rb +1 -1
  44. data/lib/metronome_sdk.rb +2 -8
  45. data/rbi/metronome_sdk/models/commit.rbi +61 -0
  46. data/rbi/metronome_sdk/models/contract.rbi +354 -0
  47. data/rbi/metronome_sdk/models/contract_v2.rbi +1132 -11
  48. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +831 -0
  49. data/rbi/metronome_sdk/models/credit.rbi +13 -0
  50. data/rbi/metronome_sdk/models/override.rbi +9 -0
  51. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +299 -6
  52. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +287 -6
  53. data/rbi/metronome_sdk/models/spend_threshold_configuration.rbi +78 -3
  54. data/rbi/metronome_sdk/models/spend_threshold_configuration_v2.rbi +78 -3
  55. data/rbi/metronome_sdk/models/subscription.rbi +212 -3
  56. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +373 -0
  57. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +81 -6
  58. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1095 -17
  59. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +2911 -4
  60. data/rbi/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rbi +112 -0
  61. data/rbi/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rbi +119 -0
  62. data/rbi/metronome_sdk/models/v1/contract_list_seat_balances_params.rbi +13 -0
  63. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +360 -0
  64. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +379 -2
  65. data/rbi/metronome_sdk/models/v1/customers/invoice_list_params.rbi +13 -0
  66. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +10 -0
  67. data/rbi/metronome_sdk/models/v1/package_create_params.rbi +1049 -42
  68. data/rbi/metronome_sdk/models/v1/package_list_response.rbi +1051 -54
  69. data/rbi/metronome_sdk/models/v1/package_retrieve_response.rbi +1051 -54
  70. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +2130 -114
  71. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +9749 -4
  72. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1567 -82
  73. data/rbi/metronome_sdk/resources/v1/alerts.rbi +8 -0
  74. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +4 -0
  75. data/rbi/metronome_sdk/resources/v1/contracts.rbi +77 -0
  76. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +8 -1
  77. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +4 -0
  78. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +7 -2
  79. data/rbi/metronome_sdk/resources/v1/packages.rbi +8 -4
  80. data/rbi/metronome_sdk/resources/v1.rbi +0 -3
  81. data/rbi/metronome_sdk/resources/v2/contracts.rbi +10 -0
  82. data/sig/metronome_sdk/models/commit.rbs +26 -0
  83. data/sig/metronome_sdk/models/contract.rbs +151 -0
  84. data/sig/metronome_sdk/models/contract_v2.rbs +448 -5
  85. data/sig/metronome_sdk/models/contract_without_amendments.rbs +320 -2
  86. data/sig/metronome_sdk/models/credit.rbs +7 -0
  87. data/sig/metronome_sdk/models/override.rbs +7 -0
  88. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration.rbs +116 -6
  89. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbs +116 -6
  90. data/sig/metronome_sdk/models/spend_threshold_configuration.rbs +31 -3
  91. data/sig/metronome_sdk/models/spend_threshold_configuration_v2.rbs +31 -3
  92. data/sig/metronome_sdk/models/subscription.rbs +88 -3
  93. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +144 -0
  94. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +26 -0
  95. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +412 -5
  96. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +1210 -4
  97. data/sig/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rbs +63 -0
  98. data/sig/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rbs +59 -0
  99. data/sig/metronome_sdk/models/v1/contract_list_seat_balances_params.rbs +7 -0
  100. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +141 -0
  101. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +150 -0
  102. data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +8 -1
  103. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +4 -0
  104. data/sig/metronome_sdk/models/v1/package_create_params.rbs +386 -5
  105. data/sig/metronome_sdk/models/v1/package_list_response.rbs +380 -5
  106. data/sig/metronome_sdk/models/v1/package_retrieve_response.rbs +378 -5
  107. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +751 -14
  108. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +4215 -4
  109. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +569 -14
  110. data/sig/metronome_sdk/resources/v1/alerts.rbs +1 -0
  111. data/sig/metronome_sdk/resources/v1/contracts.rbs +14 -0
  112. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +1 -0
  113. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -0
  114. data/sig/metronome_sdk/resources/v1/packages.rbs +1 -0
  115. data/sig/metronome_sdk/resources/v1.rbs +0 -2
  116. data/sig/metronome_sdk/resources/v2/contracts.rbs +2 -0
  117. metadata +8 -26
  118. data/lib/metronome_sdk/models/v1/payment.rb +0 -196
  119. data/lib/metronome_sdk/models/v1/payment_attempt_params.rb +0 -28
  120. data/lib/metronome_sdk/models/v1/payment_attempt_response.rb +0 -18
  121. data/lib/metronome_sdk/models/v1/payment_cancel_params.rb +0 -28
  122. data/lib/metronome_sdk/models/v1/payment_cancel_response.rb +0 -18
  123. data/lib/metronome_sdk/models/v1/payment_list_params.rb +0 -53
  124. data/lib/metronome_sdk/models/v1/payment_status.rb +0 -19
  125. data/lib/metronome_sdk/resources/v1/payments.rb +0 -102
  126. data/rbi/metronome_sdk/models/v1/payment.rbi +0 -403
  127. data/rbi/metronome_sdk/models/v1/payment_attempt_params.rbi +0 -48
  128. data/rbi/metronome_sdk/models/v1/payment_attempt_response.rbi +0 -35
  129. data/rbi/metronome_sdk/models/v1/payment_cancel_params.rbi +0 -48
  130. data/rbi/metronome_sdk/models/v1/payment_cancel_response.rbi +0 -35
  131. data/rbi/metronome_sdk/models/v1/payment_list_params.rbi +0 -91
  132. data/rbi/metronome_sdk/models/v1/payment_status.rbi +0 -33
  133. data/rbi/metronome_sdk/resources/v1/payments.rbi +0 -72
  134. data/sig/metronome_sdk/models/v1/payment.rbs +0 -243
  135. data/sig/metronome_sdk/models/v1/payment_attempt_params.rbs +0 -30
  136. data/sig/metronome_sdk/models/v1/payment_attempt_response.rbs +0 -15
  137. data/sig/metronome_sdk/models/v1/payment_cancel_params.rbs +0 -30
  138. data/sig/metronome_sdk/models/v1/payment_cancel_response.rbs +0 -15
  139. data/sig/metronome_sdk/models/v1/payment_list_params.rbs +0 -56
  140. data/sig/metronome_sdk/models/v1/payment_status.rbs +0 -19
  141. data/sig/metronome_sdk/resources/v1/payments.rbs +0 -30
@@ -8,7 +8,8 @@ module MetronomeSDK
8
8
  recharge_to_amount: Float,
9
9
  threshold_amount: Float,
10
10
  custom_credit_type_id: String,
11
- discount_configuration: MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::DiscountConfiguration
11
+ discount_configuration: MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::DiscountConfiguration,
12
+ threshold_balance_specifiers: ::Array[MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier]
12
13
  }
13
14
 
14
15
  class PrepaidBalanceThresholdConfigurationV2 < MetronomeSDK::Internal::Type::BaseModel
@@ -32,6 +33,12 @@ module MetronomeSDK
32
33
  MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::DiscountConfiguration
33
34
  ) -> MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::DiscountConfiguration
34
35
 
36
+ attr_reader threshold_balance_specifiers: ::Array[MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier]?
37
+
38
+ def threshold_balance_specifiers=: (
39
+ ::Array[MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier]
40
+ ) -> ::Array[MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier]
41
+
35
42
  def initialize: (
36
43
  commit: MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::Commit,
37
44
  is_enabled: bool,
@@ -39,7 +46,8 @@ module MetronomeSDK
39
46
  recharge_to_amount: Float,
40
47
  threshold_amount: Float,
41
48
  ?custom_credit_type_id: String,
42
- ?discount_configuration: MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::DiscountConfiguration
49
+ ?discount_configuration: MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::DiscountConfiguration,
50
+ ?threshold_balance_specifiers: ::Array[MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier]
43
51
  ) -> void
44
52
 
45
53
  def to_hash: -> {
@@ -49,7 +57,8 @@ module MetronomeSDK
49
57
  recharge_to_amount: Float,
50
58
  threshold_amount: Float,
51
59
  custom_credit_type_id: String,
52
- discount_configuration: MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::DiscountConfiguration
60
+ discount_configuration: MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::DiscountConfiguration,
61
+ threshold_balance_specifiers: ::Array[MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier]
53
62
  }
54
63
 
55
64
  type commit =
@@ -87,14 +96,115 @@ module MetronomeSDK
87
96
  }
88
97
  end
89
98
 
90
- type discount_configuration = { payment_fraction: Float }
99
+ type discount_configuration =
100
+ {
101
+ payment_fraction: Float,
102
+ cap: MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::DiscountConfiguration::Cap
103
+ }
91
104
 
92
105
  class DiscountConfiguration < MetronomeSDK::Internal::Type::BaseModel
93
106
  attr_accessor payment_fraction: Float
94
107
 
95
- def initialize: (payment_fraction: Float) -> void
108
+ attr_reader cap: MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::DiscountConfiguration::Cap?
109
+
110
+ def cap=: (
111
+ MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::DiscountConfiguration::Cap
112
+ ) -> MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::DiscountConfiguration::Cap
113
+
114
+ def initialize: (
115
+ payment_fraction: Float,
116
+ ?cap: MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::DiscountConfiguration::Cap
117
+ ) -> void
118
+
119
+ def to_hash: -> {
120
+ payment_fraction: Float,
121
+ cap: MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::DiscountConfiguration::Cap
122
+ }
123
+
124
+ type cap = { amount: Float, spend_tracker_alias: String }
125
+
126
+ class Cap < MetronomeSDK::Internal::Type::BaseModel
127
+ attr_accessor amount: Float
128
+
129
+ attr_accessor spend_tracker_alias: String
130
+
131
+ def initialize: (amount: Float, spend_tracker_alias: String) -> void
132
+
133
+ def to_hash: -> { amount: Float, spend_tracker_alias: String }
134
+ end
135
+ end
136
+
137
+ type threshold_balance_specifier =
138
+ {
139
+ exclude: ::Array[MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier::Exclude]
140
+ }
141
+
142
+ class ThresholdBalanceSpecifier < MetronomeSDK::Internal::Type::BaseModel
143
+ attr_accessor exclude: ::Array[MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier::Exclude]
144
+
145
+ def initialize: (
146
+ exclude: ::Array[MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier::Exclude]
147
+ ) -> void
148
+
149
+ def to_hash: -> {
150
+ exclude: ::Array[MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier::Exclude]
151
+ }
152
+
153
+ type exclude =
154
+ {
155
+ custom_field_filters: ::Array[MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter]
156
+ }
157
+
158
+ class Exclude < MetronomeSDK::Internal::Type::BaseModel
159
+ attr_accessor custom_field_filters: ::Array[MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter]
160
+
161
+ def initialize: (
162
+ custom_field_filters: ::Array[MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter]
163
+ ) -> void
164
+
165
+ def to_hash: -> {
166
+ custom_field_filters: ::Array[MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter]
167
+ }
168
+
169
+ type custom_field_filter =
170
+ {
171
+ entity: MetronomeSDK::Models::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::entity,
172
+ key: String,
173
+ value: String
174
+ }
175
+
176
+ class CustomFieldFilter < MetronomeSDK::Internal::Type::BaseModel
177
+ attr_accessor entity: MetronomeSDK::Models::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::entity
178
+
179
+ attr_accessor key: String
180
+
181
+ attr_accessor value: String
182
+
183
+ def initialize: (
184
+ entity: MetronomeSDK::Models::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::entity,
185
+ key: String,
186
+ value: String
187
+ ) -> void
188
+
189
+ def to_hash: -> {
190
+ entity: MetronomeSDK::Models::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::entity,
191
+ key: String,
192
+ value: String
193
+ }
194
+
195
+ type entity = :Commit | :ContractCredit | :ContractCreditOrCommit
196
+
197
+ module Entity
198
+ extend MetronomeSDK::Internal::Type::Enum
199
+
200
+ COMMIT: :Commit
201
+ CONTRACT_CREDIT: :ContractCredit
202
+ CONTRACT_CREDIT_OR_COMMIT: :ContractCreditOrCommit
96
203
 
97
- def to_hash: -> { payment_fraction: Float }
204
+ def self?.values: -> ::Array[MetronomeSDK::Models::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::entity]
205
+ end
206
+ end
207
+ end
98
208
  end
99
209
  end
100
210
  end
@@ -40,14 +40,42 @@ module MetronomeSDK
40
40
  discount_configuration: MetronomeSDK::SpendThresholdConfiguration::DiscountConfiguration
41
41
  }
42
42
 
43
- type discount_configuration = { payment_fraction: Float }
43
+ type discount_configuration =
44
+ {
45
+ payment_fraction: Float,
46
+ cap: MetronomeSDK::SpendThresholdConfiguration::DiscountConfiguration::Cap
47
+ }
44
48
 
45
49
  class DiscountConfiguration < MetronomeSDK::Internal::Type::BaseModel
46
50
  attr_accessor payment_fraction: Float
47
51
 
48
- def initialize: (payment_fraction: Float) -> void
52
+ attr_reader cap: MetronomeSDK::SpendThresholdConfiguration::DiscountConfiguration::Cap?
49
53
 
50
- def to_hash: -> { payment_fraction: Float }
54
+ def cap=: (
55
+ MetronomeSDK::SpendThresholdConfiguration::DiscountConfiguration::Cap
56
+ ) -> MetronomeSDK::SpendThresholdConfiguration::DiscountConfiguration::Cap
57
+
58
+ def initialize: (
59
+ payment_fraction: Float,
60
+ ?cap: MetronomeSDK::SpendThresholdConfiguration::DiscountConfiguration::Cap
61
+ ) -> void
62
+
63
+ def to_hash: -> {
64
+ payment_fraction: Float,
65
+ cap: MetronomeSDK::SpendThresholdConfiguration::DiscountConfiguration::Cap
66
+ }
67
+
68
+ type cap = { amount: Float, spend_tracker_alias: String }
69
+
70
+ class Cap < MetronomeSDK::Internal::Type::BaseModel
71
+ attr_accessor amount: Float
72
+
73
+ attr_accessor spend_tracker_alias: String
74
+
75
+ def initialize: (amount: Float, spend_tracker_alias: String) -> void
76
+
77
+ def to_hash: -> { amount: Float, spend_tracker_alias: String }
78
+ end
51
79
  end
52
80
  end
53
81
  end
@@ -40,14 +40,42 @@ module MetronomeSDK
40
40
  discount_configuration: MetronomeSDK::SpendThresholdConfigurationV2::DiscountConfiguration
41
41
  }
42
42
 
43
- type discount_configuration = { payment_fraction: Float }
43
+ type discount_configuration =
44
+ {
45
+ payment_fraction: Float,
46
+ cap: MetronomeSDK::SpendThresholdConfigurationV2::DiscountConfiguration::Cap
47
+ }
44
48
 
45
49
  class DiscountConfiguration < MetronomeSDK::Internal::Type::BaseModel
46
50
  attr_accessor payment_fraction: Float
47
51
 
48
- def initialize: (payment_fraction: Float) -> void
52
+ attr_reader cap: MetronomeSDK::SpendThresholdConfigurationV2::DiscountConfiguration::Cap?
49
53
 
50
- def to_hash: -> { payment_fraction: Float }
54
+ def cap=: (
55
+ MetronomeSDK::SpendThresholdConfigurationV2::DiscountConfiguration::Cap
56
+ ) -> MetronomeSDK::SpendThresholdConfigurationV2::DiscountConfiguration::Cap
57
+
58
+ def initialize: (
59
+ payment_fraction: Float,
60
+ ?cap: MetronomeSDK::SpendThresholdConfigurationV2::DiscountConfiguration::Cap
61
+ ) -> void
62
+
63
+ def to_hash: -> {
64
+ payment_fraction: Float,
65
+ cap: MetronomeSDK::SpendThresholdConfigurationV2::DiscountConfiguration::Cap
66
+ }
67
+
68
+ type cap = { amount: Float, spend_tracker_alias: String }
69
+
70
+ class Cap < MetronomeSDK::Internal::Type::BaseModel
71
+ attr_accessor amount: Float
72
+
73
+ attr_accessor spend_tracker_alias: String
74
+
75
+ def initialize: (amount: Float, spend_tracker_alias: String) -> void
76
+
77
+ def to_hash: -> { amount: Float, spend_tracker_alias: String }
78
+ end
51
79
  end
52
80
  end
53
81
  end
@@ -10,6 +10,7 @@ module MetronomeSDK
10
10
  starting_at: Time,
11
11
  subscription_rate: MetronomeSDK::Subscription::SubscriptionRate,
12
12
  id: String,
13
+ billing_cycle_config: MetronomeSDK::Subscription::BillingCycleConfig,
13
14
  custom_fields: ::Hash[Symbol, String],
14
15
  description: String,
15
16
  ending_before: Time,
@@ -37,6 +38,12 @@ module MetronomeSDK
37
38
 
38
39
  def id=: (String) -> String
39
40
 
41
+ attr_reader billing_cycle_config: MetronomeSDK::Subscription::BillingCycleConfig?
42
+
43
+ def billing_cycle_config=: (
44
+ MetronomeSDK::Subscription::BillingCycleConfig
45
+ ) -> MetronomeSDK::Subscription::BillingCycleConfig
46
+
40
47
  attr_reader custom_fields: ::Hash[Symbol, String]?
41
48
 
42
49
  def custom_fields=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
@@ -72,6 +79,7 @@ module MetronomeSDK
72
79
  starting_at: Time,
73
80
  subscription_rate: MetronomeSDK::Subscription::SubscriptionRate,
74
81
  ?id: String,
82
+ ?billing_cycle_config: MetronomeSDK::Subscription::BillingCycleConfig,
75
83
  ?custom_fields: ::Hash[Symbol, String],
76
84
  ?description: String,
77
85
  ?ending_before: Time,
@@ -89,6 +97,7 @@ module MetronomeSDK
89
97
  starting_at: Time,
90
98
  subscription_rate: MetronomeSDK::Subscription::SubscriptionRate,
91
99
  id: String,
100
+ billing_cycle_config: MetronomeSDK::Subscription::BillingCycleConfig,
92
101
  custom_fields: ::Hash[Symbol, String],
93
102
  description: String,
94
103
  ending_before: Time,
@@ -186,7 +195,8 @@ module MetronomeSDK
186
195
  type proration =
187
196
  {
188
197
  invoice_behavior: MetronomeSDK::Models::Subscription::Proration::invoice_behavior,
189
- is_prorated: bool
198
+ is_prorated: bool,
199
+ rounding: MetronomeSDK::Subscription::Proration::Rounding
190
200
  }
191
201
 
192
202
  class Proration < MetronomeSDK::Internal::Type::BaseModel
@@ -194,14 +204,22 @@ module MetronomeSDK
194
204
 
195
205
  attr_accessor is_prorated: bool
196
206
 
207
+ attr_reader rounding: MetronomeSDK::Subscription::Proration::Rounding?
208
+
209
+ def rounding=: (
210
+ MetronomeSDK::Subscription::Proration::Rounding
211
+ ) -> MetronomeSDK::Subscription::Proration::Rounding
212
+
197
213
  def initialize: (
198
214
  invoice_behavior: MetronomeSDK::Models::Subscription::Proration::invoice_behavior,
199
- is_prorated: bool
215
+ is_prorated: bool,
216
+ ?rounding: MetronomeSDK::Subscription::Proration::Rounding
200
217
  ) -> void
201
218
 
202
219
  def to_hash: -> {
203
220
  invoice_behavior: MetronomeSDK::Models::Subscription::Proration::invoice_behavior,
204
- is_prorated: bool
221
+ is_prorated: bool,
222
+ rounding: MetronomeSDK::Subscription::Proration::Rounding
205
223
  }
206
224
 
207
225
  type invoice_behavior =
@@ -215,6 +233,40 @@ module MetronomeSDK
215
233
 
216
234
  def self?.values: -> ::Array[MetronomeSDK::Models::Subscription::Proration::invoice_behavior]
217
235
  end
236
+
237
+ type rounding =
238
+ {
239
+ decimal_places: Float,
240
+ rounding_method: MetronomeSDK::Models::Subscription::Proration::Rounding::rounding_method
241
+ }
242
+
243
+ class Rounding < MetronomeSDK::Internal::Type::BaseModel
244
+ attr_accessor decimal_places: Float
245
+
246
+ attr_accessor rounding_method: MetronomeSDK::Models::Subscription::Proration::Rounding::rounding_method
247
+
248
+ def initialize: (
249
+ decimal_places: Float,
250
+ rounding_method: MetronomeSDK::Models::Subscription::Proration::Rounding::rounding_method
251
+ ) -> void
252
+
253
+ def to_hash: -> {
254
+ decimal_places: Float,
255
+ rounding_method: MetronomeSDK::Models::Subscription::Proration::Rounding::rounding_method
256
+ }
257
+
258
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
259
+
260
+ module RoundingMethod
261
+ extend MetronomeSDK::Internal::Type::Enum
262
+
263
+ HALF_UP: :HALF_UP
264
+ FLOOR: :FLOOR
265
+ CEILING: :CEILING
266
+
267
+ def self?.values: -> ::Array[MetronomeSDK::Models::Subscription::Proration::Rounding::rounding_method]
268
+ end
269
+ end
218
270
  end
219
271
 
220
272
  type quantity_management_mode = :SEAT_BASED | :QUANTITY_ONLY
@@ -300,6 +352,39 @@ module MetronomeSDK
300
352
  end
301
353
  end
302
354
 
355
+ type billing_cycle_config =
356
+ {
357
+ anchor_date: Time,
358
+ invoice_placement: MetronomeSDK::Models::Subscription::BillingCycleConfig::invoice_placement
359
+ }
360
+
361
+ class BillingCycleConfig < MetronomeSDK::Internal::Type::BaseModel
362
+ attr_accessor anchor_date: Time
363
+
364
+ attr_accessor invoice_placement: MetronomeSDK::Models::Subscription::BillingCycleConfig::invoice_placement
365
+
366
+ def initialize: (
367
+ anchor_date: Time,
368
+ invoice_placement: MetronomeSDK::Models::Subscription::BillingCycleConfig::invoice_placement
369
+ ) -> void
370
+
371
+ def to_hash: -> {
372
+ anchor_date: Time,
373
+ invoice_placement: MetronomeSDK::Models::Subscription::BillingCycleConfig::invoice_placement
374
+ }
375
+
376
+ type invoice_placement = :ON_SCHEDULED_INVOICE | :ON_USAGE_INVOICE
377
+
378
+ module InvoicePlacement
379
+ extend MetronomeSDK::Internal::Type::Enum
380
+
381
+ ON_SCHEDULED_INVOICE: :ON_SCHEDULED_INVOICE
382
+ ON_USAGE_INVOICE: :ON_USAGE_INVOICE
383
+
384
+ def self?.values: -> ::Array[MetronomeSDK::Models::Subscription::BillingCycleConfig::invoice_placement]
385
+ end
386
+ end
387
+
303
388
  type seat_config = { seat_group_key: String }
304
389
 
305
390
  class SeatConfig < MetronomeSDK::Internal::Type::BaseModel
@@ -6,6 +6,7 @@ module MetronomeSDK
6
6
  alert_type: MetronomeSDK::Models::V1::AlertCreateParams::alert_type,
7
7
  name: String,
8
8
  threshold: Float,
9
+ alert_specifiers: ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier],
9
10
  billable_metric_id: String,
10
11
  credit_grant_type_filters: ::Array[String],
11
12
  credit_type_id: String,
@@ -30,6 +31,12 @@ module MetronomeSDK
30
31
 
31
32
  attr_accessor threshold: Float
32
33
 
34
+ attr_reader alert_specifiers: ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier]?
35
+
36
+ def alert_specifiers=: (
37
+ ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier]
38
+ ) -> ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier]
39
+
33
40
  attr_reader billable_metric_id: String?
34
41
 
35
42
  def billable_metric_id=: (String) -> String
@@ -84,6 +91,7 @@ module MetronomeSDK
84
91
  alert_type: MetronomeSDK::Models::V1::AlertCreateParams::alert_type,
85
92
  name: String,
86
93
  threshold: Float,
94
+ ?alert_specifiers: ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier],
87
95
  ?billable_metric_id: String,
88
96
  ?credit_grant_type_filters: ::Array[String],
89
97
  ?credit_type_id: String,
@@ -102,6 +110,7 @@ module MetronomeSDK
102
110
  alert_type: MetronomeSDK::Models::V1::AlertCreateParams::alert_type,
103
111
  name: String,
104
112
  threshold: Float,
113
+ alert_specifiers: ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier],
105
114
  billable_metric_id: String,
106
115
  credit_grant_type_filters: ::Array[String],
107
116
  credit_type_id: String,
@@ -155,6 +164,141 @@ module MetronomeSDK
155
164
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::AlertCreateParams::alert_type]
156
165
  end
157
166
 
167
+ type alert_specifier =
168
+ {
169
+ custom_field_filters: ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::CustomFieldFilter],
170
+ exclude: ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::Exclude]
171
+ }
172
+
173
+ class AlertSpecifier < MetronomeSDK::Internal::Type::BaseModel
174
+ attr_reader custom_field_filters: ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::CustomFieldFilter]?
175
+
176
+ def custom_field_filters=: (
177
+ ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::CustomFieldFilter]
178
+ ) -> ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::CustomFieldFilter]
179
+
180
+ attr_reader exclude: ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::Exclude]?
181
+
182
+ def exclude=: (
183
+ ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::Exclude]
184
+ ) -> ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::Exclude]
185
+
186
+ def initialize: (
187
+ ?custom_field_filters: ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::CustomFieldFilter],
188
+ ?exclude: ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::Exclude]
189
+ ) -> void
190
+
191
+ def to_hash: -> {
192
+ custom_field_filters: ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::CustomFieldFilter],
193
+ exclude: ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::Exclude]
194
+ }
195
+
196
+ type custom_field_filter =
197
+ {
198
+ entity: MetronomeSDK::Models::V1::AlertCreateParams::AlertSpecifier::CustomFieldFilter::entity,
199
+ key: String,
200
+ value: String
201
+ }
202
+
203
+ class CustomFieldFilter < MetronomeSDK::Internal::Type::BaseModel
204
+ attr_accessor entity: MetronomeSDK::Models::V1::AlertCreateParams::AlertSpecifier::CustomFieldFilter::entity
205
+
206
+ attr_accessor key: String
207
+
208
+ attr_reader value: String?
209
+
210
+ def value=: (String) -> String
211
+
212
+ def initialize: (
213
+ entity: MetronomeSDK::Models::V1::AlertCreateParams::AlertSpecifier::CustomFieldFilter::entity,
214
+ key: String,
215
+ ?value: String
216
+ ) -> void
217
+
218
+ def to_hash: -> {
219
+ entity: MetronomeSDK::Models::V1::AlertCreateParams::AlertSpecifier::CustomFieldFilter::entity,
220
+ key: String,
221
+ value: String
222
+ }
223
+
224
+ type entity =
225
+ :Contract | :Commit | :ContractCredit | :ContractCreditOrCommit
226
+
227
+ module Entity
228
+ extend MetronomeSDK::Internal::Type::Enum
229
+
230
+ CONTRACT: :Contract
231
+ COMMIT: :Commit
232
+ CONTRACT_CREDIT: :ContractCredit
233
+ CONTRACT_CREDIT_OR_COMMIT: :ContractCreditOrCommit
234
+
235
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::AlertCreateParams::AlertSpecifier::CustomFieldFilter::entity]
236
+ end
237
+ end
238
+
239
+ type exclude =
240
+ {
241
+ custom_field_filters: ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::Exclude::CustomFieldFilter]
242
+ }
243
+
244
+ class Exclude < MetronomeSDK::Internal::Type::BaseModel
245
+ attr_reader custom_field_filters: ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::Exclude::CustomFieldFilter]?
246
+
247
+ def custom_field_filters=: (
248
+ ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::Exclude::CustomFieldFilter]
249
+ ) -> ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::Exclude::CustomFieldFilter]
250
+
251
+ def initialize: (
252
+ ?custom_field_filters: ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::Exclude::CustomFieldFilter]
253
+ ) -> void
254
+
255
+ def to_hash: -> {
256
+ custom_field_filters: ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::Exclude::CustomFieldFilter]
257
+ }
258
+
259
+ type custom_field_filter =
260
+ {
261
+ entity: MetronomeSDK::Models::V1::AlertCreateParams::AlertSpecifier::Exclude::CustomFieldFilter::entity,
262
+ key: String,
263
+ value: String
264
+ }
265
+
266
+ class CustomFieldFilter < MetronomeSDK::Internal::Type::BaseModel
267
+ attr_accessor entity: MetronomeSDK::Models::V1::AlertCreateParams::AlertSpecifier::Exclude::CustomFieldFilter::entity
268
+
269
+ attr_accessor key: String
270
+
271
+ attr_accessor value: String
272
+
273
+ def initialize: (
274
+ entity: MetronomeSDK::Models::V1::AlertCreateParams::AlertSpecifier::Exclude::CustomFieldFilter::entity,
275
+ key: String,
276
+ value: String
277
+ ) -> void
278
+
279
+ def to_hash: -> {
280
+ entity: MetronomeSDK::Models::V1::AlertCreateParams::AlertSpecifier::Exclude::CustomFieldFilter::entity,
281
+ key: String,
282
+ value: String
283
+ }
284
+
285
+ type entity =
286
+ :Contract | :Commit | :ContractCredit | :ContractCreditOrCommit
287
+
288
+ module Entity
289
+ extend MetronomeSDK::Internal::Type::Enum
290
+
291
+ CONTRACT: :Contract
292
+ COMMIT: :Commit
293
+ CONTRACT_CREDIT: :ContractCredit
294
+ CONTRACT_CREDIT_OR_COMMIT: :ContractCreditOrCommit
295
+
296
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::AlertCreateParams::AlertSpecifier::Exclude::CustomFieldFilter::entity]
297
+ end
298
+ end
299
+ end
300
+ end
301
+
158
302
  type custom_field_filter =
159
303
  {
160
304
  entity: MetronomeSDK::Models::V1::AlertCreateParams::CustomFieldFilter::entity,
@@ -142,6 +142,7 @@ module MetronomeSDK
142
142
  rate_type: MetronomeSDK::Models::V1::ContractAmendParams::Commit::rate_type,
143
143
  rollover_fraction: Float,
144
144
  specifiers: ::Array[MetronomeSDK::CommitSpecifierInput],
145
+ spend_tracker_attributes: MetronomeSDK::V1::ContractAmendParams::Commit::SpendTrackerAttributes,
145
146
  temporary_id: String
146
147
  }
147
148
 
@@ -216,6 +217,12 @@ module MetronomeSDK
216
217
  ::Array[MetronomeSDK::CommitSpecifierInput]
217
218
  ) -> ::Array[MetronomeSDK::CommitSpecifierInput]
218
219
 
220
+ attr_reader spend_tracker_attributes: MetronomeSDK::V1::ContractAmendParams::Commit::SpendTrackerAttributes?
221
+
222
+ def spend_tracker_attributes=: (
223
+ MetronomeSDK::V1::ContractAmendParams::Commit::SpendTrackerAttributes
224
+ ) -> MetronomeSDK::V1::ContractAmendParams::Commit::SpendTrackerAttributes
225
+
219
226
  attr_reader temporary_id: String?
220
227
 
221
228
  def temporary_id=: (String) -> String
@@ -237,6 +244,7 @@ module MetronomeSDK
237
244
  ?rate_type: MetronomeSDK::Models::V1::ContractAmendParams::Commit::rate_type,
238
245
  ?rollover_fraction: Float,
239
246
  ?specifiers: ::Array[MetronomeSDK::CommitSpecifierInput],
247
+ ?spend_tracker_attributes: MetronomeSDK::V1::ContractAmendParams::Commit::SpendTrackerAttributes,
240
248
  ?temporary_id: String
241
249
  ) -> void
242
250
 
@@ -257,6 +265,7 @@ module MetronomeSDK
257
265
  rate_type: MetronomeSDK::Models::V1::ContractAmendParams::Commit::rate_type,
258
266
  rollover_fraction: Float,
259
267
  specifiers: ::Array[MetronomeSDK::CommitSpecifierInput],
268
+ spend_tracker_attributes: MetronomeSDK::V1::ContractAmendParams::Commit::SpendTrackerAttributes,
260
269
  temporary_id: String
261
270
  }
262
271
 
@@ -488,6 +497,16 @@ module MetronomeSDK
488
497
 
489
498
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractAmendParams::Commit::rate_type]
490
499
  end
500
+
501
+ type spend_tracker_attributes = { counts_as_discounted: bool }
502
+
503
+ class SpendTrackerAttributes < MetronomeSDK::Internal::Type::BaseModel
504
+ attr_accessor counts_as_discounted: bool
505
+
506
+ def initialize: (counts_as_discounted: bool) -> void
507
+
508
+ def to_hash: -> { counts_as_discounted: bool }
509
+ end
491
510
  end
492
511
 
493
512
  type credit =
@@ -968,6 +987,7 @@ module MetronomeSDK
968
987
 
969
988
  type override_specifier =
970
989
  {
990
+ any_commit_or_credit_ids: ::Array[String],
971
991
  billing_frequency: MetronomeSDK::Models::V1::ContractAmendParams::Override::OverrideSpecifier::billing_frequency,
972
992
  commit_ids: ::Array[String],
973
993
  presentation_group_values: ::Hash[Symbol, String],
@@ -978,6 +998,10 @@ module MetronomeSDK
978
998
  }
979
999
 
980
1000
  class OverrideSpecifier < MetronomeSDK::Internal::Type::BaseModel
1001
+ attr_reader any_commit_or_credit_ids: ::Array[String]?
1002
+
1003
+ def any_commit_or_credit_ids=: (::Array[String]) -> ::Array[String]
1004
+
981
1005
  attr_reader billing_frequency: MetronomeSDK::Models::V1::ContractAmendParams::Override::OverrideSpecifier::billing_frequency?
982
1006
 
983
1007
  def billing_frequency=: (
@@ -1013,6 +1037,7 @@ module MetronomeSDK
1013
1037
  def recurring_commit_ids=: (::Array[String]) -> ::Array[String]
1014
1038
 
1015
1039
  def initialize: (
1040
+ ?any_commit_or_credit_ids: ::Array[String],
1016
1041
  ?billing_frequency: MetronomeSDK::Models::V1::ContractAmendParams::Override::OverrideSpecifier::billing_frequency,
1017
1042
  ?commit_ids: ::Array[String],
1018
1043
  ?presentation_group_values: ::Hash[Symbol, String],
@@ -1023,6 +1048,7 @@ module MetronomeSDK
1023
1048
  ) -> void
1024
1049
 
1025
1050
  def to_hash: -> {
1051
+ any_commit_or_credit_ids: ::Array[String],
1026
1052
  billing_frequency: MetronomeSDK::Models::V1::ContractAmendParams::Override::OverrideSpecifier::billing_frequency,
1027
1053
  commit_ids: ::Array[String],
1028
1054
  presentation_group_values: ::Hash[Symbol, String],