metronome-sdk 3.5.0 → 3.7.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 (126) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +53 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/client.rb +15 -1
  5. data/lib/metronome_sdk/internal/transport/base_client.rb +2 -0
  6. data/lib/metronome_sdk/internal/type/enum.rb +0 -25
  7. data/lib/metronome_sdk/models/commit.rb +27 -1
  8. data/lib/metronome_sdk/models/contract.rb +140 -1
  9. data/lib/metronome_sdk/models/contract_v2.rb +530 -6
  10. data/lib/metronome_sdk/models/contract_without_amendments.rb +142 -1
  11. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +105 -2
  12. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +103 -2
  13. data/lib/metronome_sdk/models/spend_threshold_configuration.rb +33 -1
  14. data/lib/metronome_sdk/models/spend_threshold_configuration_v2.rb +33 -1
  15. data/lib/metronome_sdk/models/v1/alert_create_params.rb +1 -0
  16. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +29 -177
  17. data/lib/metronome_sdk/models/v1/contract_create_params.rb +147 -180
  18. data/lib/metronome_sdk/models/v1/contract_create_response.rb +1134 -3
  19. data/lib/metronome_sdk/models/v1/contract_list_seat_balances_params.rb +119 -0
  20. data/lib/metronome_sdk/models/v1/contract_list_seat_balances_response.rb +315 -0
  21. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +31 -1
  22. data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +31 -1
  23. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +1 -0
  24. data/lib/metronome_sdk/models/v1/customers/invoice.rb +8 -1
  25. data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +29 -1
  26. data/lib/metronome_sdk/models/v1/package_create_params.rb +115 -18
  27. data/lib/metronome_sdk/models/v1/package_list_response.rb +110 -1
  28. data/lib/metronome_sdk/models/v1/package_retrieve_response.rb +114 -1
  29. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +303 -5
  30. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +3862 -3
  31. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +507 -6
  32. data/lib/metronome_sdk/resources/v1/contracts/products.rb +6 -2
  33. data/lib/metronome_sdk/resources/v1/contracts.rb +72 -3
  34. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +5 -1
  35. data/lib/metronome_sdk/resources/v1/packages.rb +6 -7
  36. data/lib/metronome_sdk/resources/v1.rb +0 -4
  37. data/lib/metronome_sdk/resources/v2/contracts.rb +5 -1
  38. data/lib/metronome_sdk/version.rb +1 -1
  39. data/lib/metronome_sdk.rb +2 -8
  40. data/rbi/metronome_sdk/models/commit.rbi +48 -0
  41. data/rbi/metronome_sdk/models/contract.rbi +354 -0
  42. data/rbi/metronome_sdk/models/contract_v2.rbi +1172 -4
  43. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +368 -0
  44. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +289 -6
  45. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +283 -6
  46. data/rbi/metronome_sdk/models/spend_threshold_configuration.rbi +78 -3
  47. data/rbi/metronome_sdk/models/spend_threshold_configuration_v2.rbi +78 -3
  48. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +5 -0
  49. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +54 -396
  50. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +370 -398
  51. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +2448 -4
  52. data/rbi/metronome_sdk/models/v1/contract_list_seat_balances_params.rbi +179 -0
  53. data/rbi/metronome_sdk/models/v1/contract_list_seat_balances_response.rbi +714 -0
  54. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +74 -0
  55. data/rbi/metronome_sdk/models/v1/contracts/product_update_params.rbi +74 -0
  56. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +5 -0
  57. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +9 -0
  58. data/rbi/metronome_sdk/models/v1/customers/invoice_list_params.rbi +75 -0
  59. data/rbi/metronome_sdk/models/v1/package_create_params.rbi +310 -56
  60. data/rbi/metronome_sdk/models/v1/package_list_response.rbi +307 -0
  61. data/rbi/metronome_sdk/models/v1/package_retrieve_response.rbi +307 -0
  62. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +734 -11
  63. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +8612 -4
  64. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1355 -219
  65. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +18 -0
  66. data/rbi/metronome_sdk/resources/v1/contracts.rbi +88 -3
  67. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +7 -0
  68. data/rbi/metronome_sdk/resources/v1/packages.rbi +8 -7
  69. data/rbi/metronome_sdk/resources/v1.rbi +0 -3
  70. data/rbi/metronome_sdk/resources/v2/contracts.rbi +10 -0
  71. data/sig/metronome_sdk/models/commit.rbs +19 -0
  72. data/sig/metronome_sdk/models/contract.rbs +151 -0
  73. data/sig/metronome_sdk/models/contract_v2.rbs +494 -6
  74. data/sig/metronome_sdk/models/contract_without_amendments.rbs +151 -0
  75. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration.rbs +116 -6
  76. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbs +116 -6
  77. data/sig/metronome_sdk/models/spend_threshold_configuration.rbs +31 -3
  78. data/sig/metronome_sdk/models/spend_threshold_configuration_v2.rbs +31 -3
  79. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +3 -1
  80. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +19 -137
  81. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +134 -137
  82. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +1045 -4
  83. data/sig/metronome_sdk/models/v1/contract_list_seat_balances_params.rbs +96 -0
  84. data/sig/metronome_sdk/models/v1/contract_list_seat_balances_response.rbs +299 -0
  85. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +20 -0
  86. data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +20 -0
  87. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +3 -1
  88. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +7 -0
  89. data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +29 -1
  90. data/sig/metronome_sdk/models/v1/package_create_params.rbs +115 -20
  91. data/sig/metronome_sdk/models/v1/package_list_response.rbs +115 -0
  92. data/sig/metronome_sdk/models/v1/package_retrieve_response.rbs +115 -0
  93. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +283 -9
  94. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +3792 -4
  95. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +461 -15
  96. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +2 -0
  97. data/sig/metronome_sdk/resources/v1/contracts.rbs +16 -0
  98. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +2 -0
  99. data/sig/metronome_sdk/resources/v1/packages.rbs +1 -1
  100. data/sig/metronome_sdk/resources/v1.rbs +0 -2
  101. data/sig/metronome_sdk/resources/v2/contracts.rbs +2 -0
  102. metadata +8 -26
  103. data/lib/metronome_sdk/models/v1/payment.rb +0 -196
  104. data/lib/metronome_sdk/models/v1/payment_attempt_params.rb +0 -28
  105. data/lib/metronome_sdk/models/v1/payment_attempt_response.rb +0 -18
  106. data/lib/metronome_sdk/models/v1/payment_cancel_params.rb +0 -28
  107. data/lib/metronome_sdk/models/v1/payment_cancel_response.rb +0 -18
  108. data/lib/metronome_sdk/models/v1/payment_list_params.rb +0 -53
  109. data/lib/metronome_sdk/models/v1/payment_status.rb +0 -19
  110. data/lib/metronome_sdk/resources/v1/payments.rb +0 -102
  111. data/rbi/metronome_sdk/models/v1/payment.rbi +0 -403
  112. data/rbi/metronome_sdk/models/v1/payment_attempt_params.rbi +0 -48
  113. data/rbi/metronome_sdk/models/v1/payment_attempt_response.rbi +0 -35
  114. data/rbi/metronome_sdk/models/v1/payment_cancel_params.rbi +0 -48
  115. data/rbi/metronome_sdk/models/v1/payment_cancel_response.rbi +0 -35
  116. data/rbi/metronome_sdk/models/v1/payment_list_params.rbi +0 -91
  117. data/rbi/metronome_sdk/models/v1/payment_status.rbi +0 -33
  118. data/rbi/metronome_sdk/resources/v1/payments.rbi +0 -72
  119. data/sig/metronome_sdk/models/v1/payment.rbs +0 -243
  120. data/sig/metronome_sdk/models/v1/payment_attempt_params.rbs +0 -30
  121. data/sig/metronome_sdk/models/v1/payment_attempt_response.rbs +0 -15
  122. data/sig/metronome_sdk/models/v1/payment_cancel_params.rbs +0 -30
  123. data/sig/metronome_sdk/models/v1/payment_cancel_response.rbs +0 -15
  124. data/sig/metronome_sdk/models/v1/payment_list_params.rbs +0 -56
  125. data/sig/metronome_sdk/models/v1/payment_status.rbs +0 -19
  126. data/sig/metronome_sdk/resources/v1/payments.rbs +0 -30
@@ -1,14 +1,3802 @@
1
1
  module MetronomeSDK
2
2
  module Models
3
3
  module V2
4
- type contract_edit_response = { data: MetronomeSDK::ID }
4
+ type contract_edit_response =
5
+ { data: MetronomeSDK::Models::V2::ContractEditResponse::Data }
5
6
 
6
7
  class ContractEditResponse < MetronomeSDK::Internal::Type::BaseModel
7
- attr_accessor data: MetronomeSDK::ID
8
+ attr_accessor data: MetronomeSDK::Models::V2::ContractEditResponse::Data
8
9
 
9
- def initialize: (data: MetronomeSDK::ID) -> void
10
+ def initialize: (
11
+ data: MetronomeSDK::Models::V2::ContractEditResponse::Data
12
+ ) -> void
10
13
 
11
- def to_hash: -> { data: MetronomeSDK::ID }
14
+ def to_hash: -> {
15
+ data: MetronomeSDK::Models::V2::ContractEditResponse::Data
16
+ }
17
+
18
+ type data =
19
+ {
20
+ id: String,
21
+ edit: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit
22
+ }
23
+
24
+ class Data < MetronomeSDK::Internal::Type::BaseModel
25
+ attr_accessor id: String
26
+
27
+ attr_reader edit: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit?
28
+
29
+ def edit=: (
30
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit
31
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit
32
+
33
+ def initialize: (
34
+ id: String,
35
+ ?edit: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit
36
+ ) -> void
37
+
38
+ def to_hash: -> {
39
+ id: String,
40
+ edit: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit
41
+ }
42
+
43
+ type edit =
44
+ {
45
+ id: String,
46
+ add_commits: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCommit],
47
+ add_credits: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCredit],
48
+ add_discounts: ::Array[MetronomeSDK::Discount],
49
+ add_overrides: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride],
50
+ add_prepaid_balance_threshold_configuration: MetronomeSDK::PrepaidBalanceThresholdConfigurationV2,
51
+ add_pro_services: ::Array[MetronomeSDK::ProService],
52
+ add_recurring_commits: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit],
53
+ add_recurring_credits: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit],
54
+ add_reseller_royalties: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddResellerRoyalty],
55
+ add_scheduled_charges: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddScheduledCharge],
56
+ add_spend_threshold_configuration: MetronomeSDK::SpendThresholdConfigurationV2,
57
+ add_subscriptions: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription],
58
+ add_usage_filters: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddUsageFilter],
59
+ archive_commits: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::ArchiveCommit],
60
+ archive_credits: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::ArchiveCredit],
61
+ archive_scheduled_charges: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::ArchiveScheduledCharge],
62
+ remove_overrides: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::RemoveOverride],
63
+ timestamp: Time,
64
+ uniqueness_key: String,
65
+ update_commits: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit],
66
+ update_contract_end_date: Time,
67
+ update_contract_name: String?,
68
+ update_credits: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit],
69
+ update_discounts: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount],
70
+ update_prepaid_balance_threshold_configuration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration,
71
+ update_recurring_commits: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit],
72
+ update_recurring_credits: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit],
73
+ update_refund_invoices: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRefundInvoice],
74
+ update_scheduled_charges: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge],
75
+ update_spend_threshold_configuration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSpendThresholdConfiguration,
76
+ update_subscriptions: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription]
77
+ }
78
+
79
+ class Edit < MetronomeSDK::Internal::Type::BaseModel
80
+ attr_accessor id: String
81
+
82
+ attr_reader add_commits: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCommit]?
83
+
84
+ def add_commits=: (
85
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCommit]
86
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCommit]
87
+
88
+ attr_reader add_credits: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCredit]?
89
+
90
+ def add_credits=: (
91
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCredit]
92
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCredit]
93
+
94
+ attr_reader add_discounts: ::Array[MetronomeSDK::Discount]?
95
+
96
+ def add_discounts=: (
97
+ ::Array[MetronomeSDK::Discount]
98
+ ) -> ::Array[MetronomeSDK::Discount]
99
+
100
+ attr_reader add_overrides: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride]?
101
+
102
+ def add_overrides=: (
103
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride]
104
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride]
105
+
106
+ attr_reader add_prepaid_balance_threshold_configuration: MetronomeSDK::PrepaidBalanceThresholdConfigurationV2?
107
+
108
+ def add_prepaid_balance_threshold_configuration=: (
109
+ MetronomeSDK::PrepaidBalanceThresholdConfigurationV2
110
+ ) -> MetronomeSDK::PrepaidBalanceThresholdConfigurationV2
111
+
112
+ attr_reader add_pro_services: ::Array[MetronomeSDK::ProService]?
113
+
114
+ def add_pro_services=: (
115
+ ::Array[MetronomeSDK::ProService]
116
+ ) -> ::Array[MetronomeSDK::ProService]
117
+
118
+ attr_reader add_recurring_commits: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit]?
119
+
120
+ def add_recurring_commits=: (
121
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit]
122
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit]
123
+
124
+ attr_reader add_recurring_credits: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit]?
125
+
126
+ def add_recurring_credits=: (
127
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit]
128
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit]
129
+
130
+ attr_reader add_reseller_royalties: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddResellerRoyalty]?
131
+
132
+ def add_reseller_royalties=: (
133
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddResellerRoyalty]
134
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddResellerRoyalty]
135
+
136
+ attr_reader add_scheduled_charges: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddScheduledCharge]?
137
+
138
+ def add_scheduled_charges=: (
139
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddScheduledCharge]
140
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddScheduledCharge]
141
+
142
+ attr_reader add_spend_threshold_configuration: MetronomeSDK::SpendThresholdConfigurationV2?
143
+
144
+ def add_spend_threshold_configuration=: (
145
+ MetronomeSDK::SpendThresholdConfigurationV2
146
+ ) -> MetronomeSDK::SpendThresholdConfigurationV2
147
+
148
+ attr_reader add_subscriptions: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription]?
149
+
150
+ def add_subscriptions=: (
151
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription]
152
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription]
153
+
154
+ attr_reader add_usage_filters: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddUsageFilter]?
155
+
156
+ def add_usage_filters=: (
157
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddUsageFilter]
158
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddUsageFilter]
159
+
160
+ attr_reader archive_commits: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::ArchiveCommit]?
161
+
162
+ def archive_commits=: (
163
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::ArchiveCommit]
164
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::ArchiveCommit]
165
+
166
+ attr_reader archive_credits: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::ArchiveCredit]?
167
+
168
+ def archive_credits=: (
169
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::ArchiveCredit]
170
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::ArchiveCredit]
171
+
172
+ attr_reader archive_scheduled_charges: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::ArchiveScheduledCharge]?
173
+
174
+ def archive_scheduled_charges=: (
175
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::ArchiveScheduledCharge]
176
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::ArchiveScheduledCharge]
177
+
178
+ attr_reader remove_overrides: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::RemoveOverride]?
179
+
180
+ def remove_overrides=: (
181
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::RemoveOverride]
182
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::RemoveOverride]
183
+
184
+ attr_reader timestamp: Time?
185
+
186
+ def timestamp=: (Time) -> Time
187
+
188
+ attr_reader uniqueness_key: String?
189
+
190
+ def uniqueness_key=: (String) -> String
191
+
192
+ attr_reader update_commits: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit]?
193
+
194
+ def update_commits=: (
195
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit]
196
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit]
197
+
198
+ attr_reader update_contract_end_date: Time?
199
+
200
+ def update_contract_end_date=: (Time) -> Time
201
+
202
+ attr_accessor update_contract_name: String?
203
+
204
+ attr_reader update_credits: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit]?
205
+
206
+ def update_credits=: (
207
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit]
208
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit]
209
+
210
+ attr_reader update_discounts: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount]?
211
+
212
+ def update_discounts=: (
213
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount]
214
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount]
215
+
216
+ attr_reader update_prepaid_balance_threshold_configuration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration?
217
+
218
+ def update_prepaid_balance_threshold_configuration=: (
219
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration
220
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration
221
+
222
+ attr_reader update_recurring_commits: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit]?
223
+
224
+ def update_recurring_commits=: (
225
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit]
226
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit]
227
+
228
+ attr_reader update_recurring_credits: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit]?
229
+
230
+ def update_recurring_credits=: (
231
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit]
232
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit]
233
+
234
+ attr_reader update_refund_invoices: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRefundInvoice]?
235
+
236
+ def update_refund_invoices=: (
237
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRefundInvoice]
238
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRefundInvoice]
239
+
240
+ attr_reader update_scheduled_charges: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge]?
241
+
242
+ def update_scheduled_charges=: (
243
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge]
244
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge]
245
+
246
+ attr_reader update_spend_threshold_configuration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSpendThresholdConfiguration?
247
+
248
+ def update_spend_threshold_configuration=: (
249
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSpendThresholdConfiguration
250
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSpendThresholdConfiguration
251
+
252
+ attr_reader update_subscriptions: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription]?
253
+
254
+ def update_subscriptions=: (
255
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription]
256
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription]
257
+
258
+ def initialize: (
259
+ id: String,
260
+ ?add_commits: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCommit],
261
+ ?add_credits: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCredit],
262
+ ?add_discounts: ::Array[MetronomeSDK::Discount],
263
+ ?add_overrides: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride],
264
+ ?add_prepaid_balance_threshold_configuration: MetronomeSDK::PrepaidBalanceThresholdConfigurationV2,
265
+ ?add_pro_services: ::Array[MetronomeSDK::ProService],
266
+ ?add_recurring_commits: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit],
267
+ ?add_recurring_credits: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit],
268
+ ?add_reseller_royalties: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddResellerRoyalty],
269
+ ?add_scheduled_charges: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddScheduledCharge],
270
+ ?add_spend_threshold_configuration: MetronomeSDK::SpendThresholdConfigurationV2,
271
+ ?add_subscriptions: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription],
272
+ ?add_usage_filters: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddUsageFilter],
273
+ ?archive_commits: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::ArchiveCommit],
274
+ ?archive_credits: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::ArchiveCredit],
275
+ ?archive_scheduled_charges: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::ArchiveScheduledCharge],
276
+ ?remove_overrides: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::RemoveOverride],
277
+ ?timestamp: Time,
278
+ ?uniqueness_key: String,
279
+ ?update_commits: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit],
280
+ ?update_contract_end_date: Time,
281
+ ?update_contract_name: String?,
282
+ ?update_credits: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit],
283
+ ?update_discounts: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount],
284
+ ?update_prepaid_balance_threshold_configuration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration,
285
+ ?update_recurring_commits: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit],
286
+ ?update_recurring_credits: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit],
287
+ ?update_refund_invoices: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRefundInvoice],
288
+ ?update_scheduled_charges: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge],
289
+ ?update_spend_threshold_configuration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSpendThresholdConfiguration,
290
+ ?update_subscriptions: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription]
291
+ ) -> void
292
+
293
+ def to_hash: -> {
294
+ id: String,
295
+ add_commits: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCommit],
296
+ add_credits: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCredit],
297
+ add_discounts: ::Array[MetronomeSDK::Discount],
298
+ add_overrides: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride],
299
+ add_prepaid_balance_threshold_configuration: MetronomeSDK::PrepaidBalanceThresholdConfigurationV2,
300
+ add_pro_services: ::Array[MetronomeSDK::ProService],
301
+ add_recurring_commits: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit],
302
+ add_recurring_credits: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit],
303
+ add_reseller_royalties: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddResellerRoyalty],
304
+ add_scheduled_charges: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddScheduledCharge],
305
+ add_spend_threshold_configuration: MetronomeSDK::SpendThresholdConfigurationV2,
306
+ add_subscriptions: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription],
307
+ add_usage_filters: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddUsageFilter],
308
+ archive_commits: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::ArchiveCommit],
309
+ archive_credits: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::ArchiveCredit],
310
+ archive_scheduled_charges: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::ArchiveScheduledCharge],
311
+ remove_overrides: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::RemoveOverride],
312
+ timestamp: Time,
313
+ uniqueness_key: String,
314
+ update_commits: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit],
315
+ update_contract_end_date: Time,
316
+ update_contract_name: String?,
317
+ update_credits: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit],
318
+ update_discounts: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount],
319
+ update_prepaid_balance_threshold_configuration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration,
320
+ update_recurring_commits: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit],
321
+ update_recurring_credits: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit],
322
+ update_refund_invoices: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRefundInvoice],
323
+ update_scheduled_charges: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge],
324
+ update_spend_threshold_configuration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSpendThresholdConfiguration,
325
+ update_subscriptions: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription]
326
+ }
327
+
328
+ type add_commit =
329
+ {
330
+ id: String,
331
+ product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCommit::Product,
332
+ type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCommit::type_,
333
+ access_schedule: MetronomeSDK::ScheduleDuration,
334
+ applicable_product_ids: ::Array[String],
335
+ applicable_product_tags: ::Array[String],
336
+ description: String,
337
+ hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
338
+ invoice_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCommit::InvoiceSchedule,
339
+ name: String,
340
+ netsuite_sales_order_id: String,
341
+ priority: Float,
342
+ rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCommit::rate_type,
343
+ rollover_fraction: Float,
344
+ salesforce_opportunity_id: String,
345
+ specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]
346
+ }
347
+
348
+ class AddCommit < MetronomeSDK::Internal::Type::BaseModel
349
+ attr_accessor id: String
350
+
351
+ attr_accessor product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCommit::Product
352
+
353
+ attr_accessor type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCommit::type_
354
+
355
+ attr_reader access_schedule: MetronomeSDK::ScheduleDuration?
356
+
357
+ def access_schedule=: (
358
+ MetronomeSDK::ScheduleDuration
359
+ ) -> MetronomeSDK::ScheduleDuration
360
+
361
+ attr_reader applicable_product_ids: ::Array[String]?
362
+
363
+ def applicable_product_ids=: (::Array[String]) -> ::Array[String]
364
+
365
+ attr_reader applicable_product_tags: ::Array[String]?
366
+
367
+ def applicable_product_tags=: (::Array[String]) -> ::Array[String]
368
+
369
+ attr_reader description: String?
370
+
371
+ def description=: (String) -> String
372
+
373
+ attr_reader hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration?
374
+
375
+ def hierarchy_configuration=: (
376
+ MetronomeSDK::CommitHierarchyConfiguration
377
+ ) -> MetronomeSDK::CommitHierarchyConfiguration
378
+
379
+ attr_reader invoice_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCommit::InvoiceSchedule?
380
+
381
+ def invoice_schedule=: (
382
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCommit::InvoiceSchedule
383
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCommit::InvoiceSchedule
384
+
385
+ attr_reader name: String?
386
+
387
+ def name=: (String) -> String
388
+
389
+ attr_reader netsuite_sales_order_id: String?
390
+
391
+ def netsuite_sales_order_id=: (String) -> String
392
+
393
+ attr_reader priority: Float?
394
+
395
+ def priority=: (Float) -> Float
396
+
397
+ attr_reader rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCommit::rate_type?
398
+
399
+ def rate_type=: (
400
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCommit::rate_type
401
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCommit::rate_type
402
+
403
+ attr_reader rollover_fraction: Float?
404
+
405
+ def rollover_fraction=: (Float) -> Float
406
+
407
+ attr_reader salesforce_opportunity_id: String?
408
+
409
+ def salesforce_opportunity_id=: (String) -> String
410
+
411
+ attr_reader specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]?
412
+
413
+ def specifiers=: (
414
+ ::Array[MetronomeSDK::CommitSpecifierInput]
415
+ ) -> ::Array[MetronomeSDK::CommitSpecifierInput]
416
+
417
+ def initialize: (
418
+ id: String,
419
+ product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCommit::Product,
420
+ type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCommit::type_,
421
+ ?access_schedule: MetronomeSDK::ScheduleDuration,
422
+ ?applicable_product_ids: ::Array[String],
423
+ ?applicable_product_tags: ::Array[String],
424
+ ?description: String,
425
+ ?hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
426
+ ?invoice_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCommit::InvoiceSchedule,
427
+ ?name: String,
428
+ ?netsuite_sales_order_id: String,
429
+ ?priority: Float,
430
+ ?rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCommit::rate_type,
431
+ ?rollover_fraction: Float,
432
+ ?salesforce_opportunity_id: String,
433
+ ?specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]
434
+ ) -> void
435
+
436
+ def to_hash: -> {
437
+ id: String,
438
+ product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCommit::Product,
439
+ type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCommit::type_,
440
+ access_schedule: MetronomeSDK::ScheduleDuration,
441
+ applicable_product_ids: ::Array[String],
442
+ applicable_product_tags: ::Array[String],
443
+ description: String,
444
+ hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
445
+ invoice_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCommit::InvoiceSchedule,
446
+ name: String,
447
+ netsuite_sales_order_id: String,
448
+ priority: Float,
449
+ rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCommit::rate_type,
450
+ rollover_fraction: Float,
451
+ salesforce_opportunity_id: String,
452
+ specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]
453
+ }
454
+
455
+ type product = { id: String, name: String }
456
+
457
+ class Product < MetronomeSDK::Internal::Type::BaseModel
458
+ attr_accessor id: String
459
+
460
+ attr_accessor name: String
461
+
462
+ def initialize: (id: String, name: String) -> void
463
+
464
+ def to_hash: -> { id: String, name: String }
465
+ end
466
+
467
+ type type_ = :PREPAID | :POSTPAID
468
+
469
+ module Type
470
+ extend MetronomeSDK::Internal::Type::Enum
471
+
472
+ PREPAID: :PREPAID
473
+ POSTPAID: :POSTPAID
474
+
475
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCommit::type_]
476
+ end
477
+
478
+ type invoice_schedule =
479
+ {
480
+ credit_type: MetronomeSDK::CreditTypeData,
481
+ do_not_invoice: bool,
482
+ schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCommit::InvoiceSchedule::ScheduleItem]
483
+ }
484
+
485
+ class InvoiceSchedule < MetronomeSDK::Internal::Type::BaseModel
486
+ attr_reader credit_type: MetronomeSDK::CreditTypeData?
487
+
488
+ def credit_type=: (
489
+ MetronomeSDK::CreditTypeData
490
+ ) -> MetronomeSDK::CreditTypeData
491
+
492
+ attr_reader do_not_invoice: bool?
493
+
494
+ def do_not_invoice=: (bool) -> bool
495
+
496
+ attr_reader schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCommit::InvoiceSchedule::ScheduleItem]?
497
+
498
+ def schedule_items=: (
499
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCommit::InvoiceSchedule::ScheduleItem]
500
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCommit::InvoiceSchedule::ScheduleItem]
501
+
502
+ def initialize: (
503
+ ?credit_type: MetronomeSDK::CreditTypeData,
504
+ ?do_not_invoice: bool,
505
+ ?schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCommit::InvoiceSchedule::ScheduleItem]
506
+ ) -> void
507
+
508
+ def to_hash: -> {
509
+ credit_type: MetronomeSDK::CreditTypeData,
510
+ do_not_invoice: bool,
511
+ schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCommit::InvoiceSchedule::ScheduleItem]
512
+ }
513
+
514
+ type schedule_item =
515
+ {
516
+ id: String,
517
+ timestamp: Time,
518
+ amount: Float,
519
+ invoice_id: String?,
520
+ quantity: Float,
521
+ unit_price: Float
522
+ }
523
+
524
+ class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
525
+ attr_accessor id: String
526
+
527
+ attr_accessor timestamp: Time
528
+
529
+ attr_reader amount: Float?
530
+
531
+ def amount=: (Float) -> Float
532
+
533
+ attr_accessor invoice_id: String?
534
+
535
+ attr_reader quantity: Float?
536
+
537
+ def quantity=: (Float) -> Float
538
+
539
+ attr_reader unit_price: Float?
540
+
541
+ def unit_price=: (Float) -> Float
542
+
543
+ def initialize: (
544
+ id: String,
545
+ timestamp: Time,
546
+ ?amount: Float,
547
+ ?invoice_id: String?,
548
+ ?quantity: Float,
549
+ ?unit_price: Float
550
+ ) -> void
551
+
552
+ def to_hash: -> {
553
+ id: String,
554
+ timestamp: Time,
555
+ amount: Float,
556
+ invoice_id: String?,
557
+ quantity: Float,
558
+ unit_price: Float
559
+ }
560
+ end
561
+ end
562
+
563
+ type rate_type = :COMMIT_RATE | :LIST_RATE
564
+
565
+ module RateType
566
+ extend MetronomeSDK::Internal::Type::Enum
567
+
568
+ COMMIT_RATE: :COMMIT_RATE
569
+ LIST_RATE: :LIST_RATE
570
+
571
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCommit::rate_type]
572
+ end
573
+ end
574
+
575
+ type add_credit =
576
+ {
577
+ id: String,
578
+ product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCredit::Product,
579
+ type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCredit::type_,
580
+ access_schedule: MetronomeSDK::ScheduleDuration,
581
+ applicable_product_ids: ::Array[String],
582
+ applicable_product_tags: ::Array[String],
583
+ description: String,
584
+ hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
585
+ name: String,
586
+ netsuite_sales_order_id: String,
587
+ priority: Float,
588
+ rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCredit::rate_type,
589
+ rollover_fraction: Float,
590
+ salesforce_opportunity_id: String,
591
+ specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]
592
+ }
593
+
594
+ class AddCredit < MetronomeSDK::Internal::Type::BaseModel
595
+ attr_accessor id: String
596
+
597
+ attr_accessor product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCredit::Product
598
+
599
+ attr_accessor type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCredit::type_
600
+
601
+ attr_reader access_schedule: MetronomeSDK::ScheduleDuration?
602
+
603
+ def access_schedule=: (
604
+ MetronomeSDK::ScheduleDuration
605
+ ) -> MetronomeSDK::ScheduleDuration
606
+
607
+ attr_reader applicable_product_ids: ::Array[String]?
608
+
609
+ def applicable_product_ids=: (::Array[String]) -> ::Array[String]
610
+
611
+ attr_reader applicable_product_tags: ::Array[String]?
612
+
613
+ def applicable_product_tags=: (::Array[String]) -> ::Array[String]
614
+
615
+ attr_reader description: String?
616
+
617
+ def description=: (String) -> String
618
+
619
+ attr_reader hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration?
620
+
621
+ def hierarchy_configuration=: (
622
+ MetronomeSDK::CommitHierarchyConfiguration
623
+ ) -> MetronomeSDK::CommitHierarchyConfiguration
624
+
625
+ attr_reader name: String?
626
+
627
+ def name=: (String) -> String
628
+
629
+ attr_reader netsuite_sales_order_id: String?
630
+
631
+ def netsuite_sales_order_id=: (String) -> String
632
+
633
+ attr_reader priority: Float?
634
+
635
+ def priority=: (Float) -> Float
636
+
637
+ attr_reader rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCredit::rate_type?
638
+
639
+ def rate_type=: (
640
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCredit::rate_type
641
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCredit::rate_type
642
+
643
+ attr_reader rollover_fraction: Float?
644
+
645
+ def rollover_fraction=: (Float) -> Float
646
+
647
+ attr_reader salesforce_opportunity_id: String?
648
+
649
+ def salesforce_opportunity_id=: (String) -> String
650
+
651
+ attr_reader specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]?
652
+
653
+ def specifiers=: (
654
+ ::Array[MetronomeSDK::CommitSpecifierInput]
655
+ ) -> ::Array[MetronomeSDK::CommitSpecifierInput]
656
+
657
+ def initialize: (
658
+ id: String,
659
+ product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCredit::Product,
660
+ type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCredit::type_,
661
+ ?access_schedule: MetronomeSDK::ScheduleDuration,
662
+ ?applicable_product_ids: ::Array[String],
663
+ ?applicable_product_tags: ::Array[String],
664
+ ?description: String,
665
+ ?hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
666
+ ?name: String,
667
+ ?netsuite_sales_order_id: String,
668
+ ?priority: Float,
669
+ ?rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCredit::rate_type,
670
+ ?rollover_fraction: Float,
671
+ ?salesforce_opportunity_id: String,
672
+ ?specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]
673
+ ) -> void
674
+
675
+ def to_hash: -> {
676
+ id: String,
677
+ product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCredit::Product,
678
+ type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCredit::type_,
679
+ access_schedule: MetronomeSDK::ScheduleDuration,
680
+ applicable_product_ids: ::Array[String],
681
+ applicable_product_tags: ::Array[String],
682
+ description: String,
683
+ hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
684
+ name: String,
685
+ netsuite_sales_order_id: String,
686
+ priority: Float,
687
+ rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCredit::rate_type,
688
+ rollover_fraction: Float,
689
+ salesforce_opportunity_id: String,
690
+ specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]
691
+ }
692
+
693
+ type product = { id: String, name: String }
694
+
695
+ class Product < MetronomeSDK::Internal::Type::BaseModel
696
+ attr_accessor id: String
697
+
698
+ attr_accessor name: String
699
+
700
+ def initialize: (id: String, name: String) -> void
701
+
702
+ def to_hash: -> { id: String, name: String }
703
+ end
704
+
705
+ type type_ = :CREDIT
706
+
707
+ module Type
708
+ extend MetronomeSDK::Internal::Type::Enum
709
+
710
+ CREDIT: :CREDIT
711
+
712
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCredit::type_]
713
+ end
714
+
715
+ type rate_type = :COMMIT_RATE | :LIST_RATE
716
+
717
+ module RateType
718
+ extend MetronomeSDK::Internal::Type::Enum
719
+
720
+ COMMIT_RATE: :COMMIT_RATE
721
+ LIST_RATE: :LIST_RATE
722
+
723
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddCredit::rate_type]
724
+ end
725
+ end
726
+
727
+ type add_override =
728
+ {
729
+ id: String,
730
+ created_at: Time,
731
+ starting_at: Time,
732
+ applicable_product_tags: ::Array[String],
733
+ ending_before: Time,
734
+ entitled: bool,
735
+ is_commit_specific: bool,
736
+ multiplier: Float,
737
+ override_specifiers: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::OverrideSpecifier],
738
+ override_tiers: ::Array[MetronomeSDK::OverrideTier],
739
+ overwrite_rate: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::OverwriteRate,
740
+ priority: Float,
741
+ product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::Product,
742
+ target: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::target,
743
+ type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::type_
744
+ }
745
+
746
+ class AddOverride < MetronomeSDK::Internal::Type::BaseModel
747
+ attr_accessor id: String
748
+
749
+ attr_accessor created_at: Time
750
+
751
+ attr_accessor starting_at: Time
752
+
753
+ attr_reader applicable_product_tags: ::Array[String]?
754
+
755
+ def applicable_product_tags=: (::Array[String]) -> ::Array[String]
756
+
757
+ attr_reader ending_before: Time?
758
+
759
+ def ending_before=: (Time) -> Time
760
+
761
+ attr_reader entitled: bool?
762
+
763
+ def entitled=: (bool) -> bool
764
+
765
+ attr_reader is_commit_specific: bool?
766
+
767
+ def is_commit_specific=: (bool) -> bool
768
+
769
+ attr_reader multiplier: Float?
770
+
771
+ def multiplier=: (Float) -> Float
772
+
773
+ attr_reader override_specifiers: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::OverrideSpecifier]?
774
+
775
+ def override_specifiers=: (
776
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::OverrideSpecifier]
777
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::OverrideSpecifier]
778
+
779
+ attr_reader override_tiers: ::Array[MetronomeSDK::OverrideTier]?
780
+
781
+ def override_tiers=: (
782
+ ::Array[MetronomeSDK::OverrideTier]
783
+ ) -> ::Array[MetronomeSDK::OverrideTier]
784
+
785
+ attr_reader overwrite_rate: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::OverwriteRate?
786
+
787
+ def overwrite_rate=: (
788
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::OverwriteRate
789
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::OverwriteRate
790
+
791
+ attr_reader priority: Float?
792
+
793
+ def priority=: (Float) -> Float
794
+
795
+ attr_reader product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::Product?
796
+
797
+ def product=: (
798
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::Product
799
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::Product
800
+
801
+ attr_reader target: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::target?
802
+
803
+ def target=: (
804
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::target
805
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::target
806
+
807
+ attr_reader type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::type_?
808
+
809
+ def type=: (
810
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::type_
811
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::type_
812
+
813
+ def initialize: (
814
+ id: String,
815
+ created_at: Time,
816
+ starting_at: Time,
817
+ ?applicable_product_tags: ::Array[String],
818
+ ?ending_before: Time,
819
+ ?entitled: bool,
820
+ ?is_commit_specific: bool,
821
+ ?multiplier: Float,
822
+ ?override_specifiers: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::OverrideSpecifier],
823
+ ?override_tiers: ::Array[MetronomeSDK::OverrideTier],
824
+ ?overwrite_rate: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::OverwriteRate,
825
+ ?priority: Float,
826
+ ?product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::Product,
827
+ ?target: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::target,
828
+ ?type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::type_
829
+ ) -> void
830
+
831
+ def to_hash: -> {
832
+ id: String,
833
+ created_at: Time,
834
+ starting_at: Time,
835
+ applicable_product_tags: ::Array[String],
836
+ ending_before: Time,
837
+ entitled: bool,
838
+ is_commit_specific: bool,
839
+ multiplier: Float,
840
+ override_specifiers: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::OverrideSpecifier],
841
+ override_tiers: ::Array[MetronomeSDK::OverrideTier],
842
+ overwrite_rate: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::OverwriteRate,
843
+ priority: Float,
844
+ product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::Product,
845
+ target: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::target,
846
+ type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::type_
847
+ }
848
+
849
+ type override_specifier =
850
+ {
851
+ billing_frequency: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::OverrideSpecifier::billing_frequency,
852
+ commit_ids: ::Array[String],
853
+ presentation_group_values: ::Hash[Symbol, String?],
854
+ pricing_group_values: ::Hash[Symbol, String],
855
+ product_id: String,
856
+ product_tags: ::Array[String],
857
+ recurring_commit_ids: ::Array[String]
858
+ }
859
+
860
+ class OverrideSpecifier < MetronomeSDK::Internal::Type::BaseModel
861
+ attr_reader billing_frequency: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::OverrideSpecifier::billing_frequency?
862
+
863
+ def billing_frequency=: (
864
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::OverrideSpecifier::billing_frequency
865
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::OverrideSpecifier::billing_frequency
866
+
867
+ attr_reader commit_ids: ::Array[String]?
868
+
869
+ def commit_ids=: (::Array[String]) -> ::Array[String]
870
+
871
+ attr_reader presentation_group_values: ::Hash[Symbol, String?]?
872
+
873
+ def presentation_group_values=: (
874
+ ::Hash[Symbol, String?]
875
+ ) -> ::Hash[Symbol, String?]
876
+
877
+ attr_reader pricing_group_values: ::Hash[Symbol, String]?
878
+
879
+ def pricing_group_values=: (
880
+ ::Hash[Symbol, String]
881
+ ) -> ::Hash[Symbol, String]
882
+
883
+ attr_reader product_id: String?
884
+
885
+ def product_id=: (String) -> String
886
+
887
+ attr_reader product_tags: ::Array[String]?
888
+
889
+ def product_tags=: (::Array[String]) -> ::Array[String]
890
+
891
+ attr_reader recurring_commit_ids: ::Array[String]?
892
+
893
+ def recurring_commit_ids=: (::Array[String]) -> ::Array[String]
894
+
895
+ def initialize: (
896
+ ?billing_frequency: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::OverrideSpecifier::billing_frequency,
897
+ ?commit_ids: ::Array[String],
898
+ ?presentation_group_values: ::Hash[Symbol, String?],
899
+ ?pricing_group_values: ::Hash[Symbol, String],
900
+ ?product_id: String,
901
+ ?product_tags: ::Array[String],
902
+ ?recurring_commit_ids: ::Array[String]
903
+ ) -> void
904
+
905
+ def to_hash: -> {
906
+ billing_frequency: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::OverrideSpecifier::billing_frequency,
907
+ commit_ids: ::Array[String],
908
+ presentation_group_values: ::Hash[Symbol, String?],
909
+ pricing_group_values: ::Hash[Symbol, String],
910
+ product_id: String,
911
+ product_tags: ::Array[String],
912
+ recurring_commit_ids: ::Array[String]
913
+ }
914
+
915
+ type billing_frequency =
916
+ :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
917
+
918
+ module BillingFrequency
919
+ extend MetronomeSDK::Internal::Type::Enum
920
+
921
+ MONTHLY: :MONTHLY
922
+ QUARTERLY: :QUARTERLY
923
+ ANNUAL: :ANNUAL
924
+ WEEKLY: :WEEKLY
925
+
926
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::OverrideSpecifier::billing_frequency]
927
+ end
928
+ end
929
+
930
+ type overwrite_rate =
931
+ {
932
+ rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::OverwriteRate::rate_type,
933
+ credit_type: MetronomeSDK::CreditTypeData,
934
+ custom_rate: ::Hash[Symbol, top],
935
+ is_prorated: bool,
936
+ price: Float,
937
+ quantity: Float,
938
+ tiers: ::Array[MetronomeSDK::Tier]
939
+ }
940
+
941
+ class OverwriteRate < MetronomeSDK::Internal::Type::BaseModel
942
+ attr_accessor rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::OverwriteRate::rate_type
943
+
944
+ attr_reader credit_type: MetronomeSDK::CreditTypeData?
945
+
946
+ def credit_type=: (
947
+ MetronomeSDK::CreditTypeData
948
+ ) -> MetronomeSDK::CreditTypeData
949
+
950
+ attr_reader custom_rate: ::Hash[Symbol, top]?
951
+
952
+ def custom_rate=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top]
953
+
954
+ attr_reader is_prorated: bool?
955
+
956
+ def is_prorated=: (bool) -> bool
957
+
958
+ attr_reader price: Float?
959
+
960
+ def price=: (Float) -> Float
961
+
962
+ attr_reader quantity: Float?
963
+
964
+ def quantity=: (Float) -> Float
965
+
966
+ attr_reader tiers: ::Array[MetronomeSDK::Tier]?
967
+
968
+ def tiers=: (
969
+ ::Array[MetronomeSDK::Tier]
970
+ ) -> ::Array[MetronomeSDK::Tier]
971
+
972
+ def initialize: (
973
+ rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::OverwriteRate::rate_type,
974
+ ?credit_type: MetronomeSDK::CreditTypeData,
975
+ ?custom_rate: ::Hash[Symbol, top],
976
+ ?is_prorated: bool,
977
+ ?price: Float,
978
+ ?quantity: Float,
979
+ ?tiers: ::Array[MetronomeSDK::Tier]
980
+ ) -> void
981
+
982
+ def to_hash: -> {
983
+ rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::OverwriteRate::rate_type,
984
+ credit_type: MetronomeSDK::CreditTypeData,
985
+ custom_rate: ::Hash[Symbol, top],
986
+ is_prorated: bool,
987
+ price: Float,
988
+ quantity: Float,
989
+ tiers: ::Array[MetronomeSDK::Tier]
990
+ }
991
+
992
+ type rate_type =
993
+ :FLAT
994
+ | :PERCENTAGE
995
+ | :SUBSCRIPTION
996
+ | :TIERED
997
+ | :TIERED_PERCENTAGE
998
+ | :CUSTOM
999
+
1000
+ module RateType
1001
+ extend MetronomeSDK::Internal::Type::Enum
1002
+
1003
+ FLAT: :FLAT
1004
+ PERCENTAGE: :PERCENTAGE
1005
+ SUBSCRIPTION: :SUBSCRIPTION
1006
+ TIERED: :TIERED
1007
+ TIERED_PERCENTAGE: :TIERED_PERCENTAGE
1008
+ CUSTOM: :CUSTOM
1009
+
1010
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::OverwriteRate::rate_type]
1011
+ end
1012
+ end
1013
+
1014
+ type product = { id: String, name: String }
1015
+
1016
+ class Product < MetronomeSDK::Internal::Type::BaseModel
1017
+ attr_accessor id: String
1018
+
1019
+ attr_accessor name: String
1020
+
1021
+ def initialize: (id: String, name: String) -> void
1022
+
1023
+ def to_hash: -> { id: String, name: String }
1024
+ end
1025
+
1026
+ type target = :COMMIT_RATE | :LIST_RATE
1027
+
1028
+ module Target
1029
+ extend MetronomeSDK::Internal::Type::Enum
1030
+
1031
+ COMMIT_RATE: :COMMIT_RATE
1032
+ LIST_RATE: :LIST_RATE
1033
+
1034
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::target]
1035
+ end
1036
+
1037
+ type type_ = :OVERWRITE | :MULTIPLIER | :TIERED
1038
+
1039
+ module Type
1040
+ extend MetronomeSDK::Internal::Type::Enum
1041
+
1042
+ OVERWRITE: :OVERWRITE
1043
+ MULTIPLIER: :MULTIPLIER
1044
+ TIERED: :TIERED
1045
+
1046
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::type_]
1047
+ end
1048
+ end
1049
+
1050
+ type add_recurring_commit =
1051
+ {
1052
+ id: String,
1053
+ access_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::AccessAmount,
1054
+ commit_duration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::CommitDuration,
1055
+ priority: Float,
1056
+ product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::Product,
1057
+ rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::rate_type,
1058
+ starting_at: Time,
1059
+ applicable_product_ids: ::Array[String],
1060
+ applicable_product_tags: ::Array[String],
1061
+ contract: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::Contract,
1062
+ description: String,
1063
+ ending_before: Time,
1064
+ hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
1065
+ invoice_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::InvoiceAmount,
1066
+ name: String,
1067
+ netsuite_sales_order_id: String,
1068
+ proration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::proration,
1069
+ recurrence_frequency: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::recurrence_frequency,
1070
+ rollover_fraction: Float,
1071
+ specifiers: ::Array[MetronomeSDK::CommitSpecifier],
1072
+ subscription_config: MetronomeSDK::RecurringCommitSubscriptionConfig
1073
+ }
1074
+
1075
+ class AddRecurringCommit < MetronomeSDK::Internal::Type::BaseModel
1076
+ attr_accessor id: String
1077
+
1078
+ attr_accessor access_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::AccessAmount
1079
+
1080
+ attr_accessor commit_duration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::CommitDuration
1081
+
1082
+ attr_accessor priority: Float
1083
+
1084
+ attr_accessor product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::Product
1085
+
1086
+ attr_accessor rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::rate_type
1087
+
1088
+ attr_accessor starting_at: Time
1089
+
1090
+ attr_reader applicable_product_ids: ::Array[String]?
1091
+
1092
+ def applicable_product_ids=: (::Array[String]) -> ::Array[String]
1093
+
1094
+ attr_reader applicable_product_tags: ::Array[String]?
1095
+
1096
+ def applicable_product_tags=: (::Array[String]) -> ::Array[String]
1097
+
1098
+ attr_reader contract: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::Contract?
1099
+
1100
+ def contract=: (
1101
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::Contract
1102
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::Contract
1103
+
1104
+ attr_reader description: String?
1105
+
1106
+ def description=: (String) -> String
1107
+
1108
+ attr_reader ending_before: Time?
1109
+
1110
+ def ending_before=: (Time) -> Time
1111
+
1112
+ attr_reader hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration?
1113
+
1114
+ def hierarchy_configuration=: (
1115
+ MetronomeSDK::CommitHierarchyConfiguration
1116
+ ) -> MetronomeSDK::CommitHierarchyConfiguration
1117
+
1118
+ attr_reader invoice_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::InvoiceAmount?
1119
+
1120
+ def invoice_amount=: (
1121
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::InvoiceAmount
1122
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::InvoiceAmount
1123
+
1124
+ attr_reader name: String?
1125
+
1126
+ def name=: (String) -> String
1127
+
1128
+ attr_reader netsuite_sales_order_id: String?
1129
+
1130
+ def netsuite_sales_order_id=: (String) -> String
1131
+
1132
+ attr_reader proration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::proration?
1133
+
1134
+ def proration=: (
1135
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::proration
1136
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::proration
1137
+
1138
+ attr_reader recurrence_frequency: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::recurrence_frequency?
1139
+
1140
+ def recurrence_frequency=: (
1141
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::recurrence_frequency
1142
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::recurrence_frequency
1143
+
1144
+ attr_reader rollover_fraction: Float?
1145
+
1146
+ def rollover_fraction=: (Float) -> Float
1147
+
1148
+ attr_reader specifiers: ::Array[MetronomeSDK::CommitSpecifier]?
1149
+
1150
+ def specifiers=: (
1151
+ ::Array[MetronomeSDK::CommitSpecifier]
1152
+ ) -> ::Array[MetronomeSDK::CommitSpecifier]
1153
+
1154
+ attr_reader subscription_config: MetronomeSDK::RecurringCommitSubscriptionConfig?
1155
+
1156
+ def subscription_config=: (
1157
+ MetronomeSDK::RecurringCommitSubscriptionConfig
1158
+ ) -> MetronomeSDK::RecurringCommitSubscriptionConfig
1159
+
1160
+ def initialize: (
1161
+ id: String,
1162
+ access_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::AccessAmount,
1163
+ commit_duration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::CommitDuration,
1164
+ priority: Float,
1165
+ product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::Product,
1166
+ rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::rate_type,
1167
+ starting_at: Time,
1168
+ ?applicable_product_ids: ::Array[String],
1169
+ ?applicable_product_tags: ::Array[String],
1170
+ ?contract: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::Contract,
1171
+ ?description: String,
1172
+ ?ending_before: Time,
1173
+ ?hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
1174
+ ?invoice_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::InvoiceAmount,
1175
+ ?name: String,
1176
+ ?netsuite_sales_order_id: String,
1177
+ ?proration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::proration,
1178
+ ?recurrence_frequency: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::recurrence_frequency,
1179
+ ?rollover_fraction: Float,
1180
+ ?specifiers: ::Array[MetronomeSDK::CommitSpecifier],
1181
+ ?subscription_config: MetronomeSDK::RecurringCommitSubscriptionConfig
1182
+ ) -> void
1183
+
1184
+ def to_hash: -> {
1185
+ id: String,
1186
+ access_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::AccessAmount,
1187
+ commit_duration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::CommitDuration,
1188
+ priority: Float,
1189
+ product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::Product,
1190
+ rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::rate_type,
1191
+ starting_at: Time,
1192
+ applicable_product_ids: ::Array[String],
1193
+ applicable_product_tags: ::Array[String],
1194
+ contract: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::Contract,
1195
+ description: String,
1196
+ ending_before: Time,
1197
+ hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
1198
+ invoice_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::InvoiceAmount,
1199
+ name: String,
1200
+ netsuite_sales_order_id: String,
1201
+ proration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::proration,
1202
+ recurrence_frequency: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::recurrence_frequency,
1203
+ rollover_fraction: Float,
1204
+ specifiers: ::Array[MetronomeSDK::CommitSpecifier],
1205
+ subscription_config: MetronomeSDK::RecurringCommitSubscriptionConfig
1206
+ }
1207
+
1208
+ type access_amount =
1209
+ { credit_type_id: String, unit_price: Float, quantity: Float }
1210
+
1211
+ class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
1212
+ attr_accessor credit_type_id: String
1213
+
1214
+ attr_accessor unit_price: Float
1215
+
1216
+ attr_reader quantity: Float?
1217
+
1218
+ def quantity=: (Float) -> Float
1219
+
1220
+ def initialize: (
1221
+ credit_type_id: String,
1222
+ unit_price: Float,
1223
+ ?quantity: Float
1224
+ ) -> void
1225
+
1226
+ def to_hash: -> {
1227
+ credit_type_id: String,
1228
+ unit_price: Float,
1229
+ quantity: Float
1230
+ }
1231
+ end
1232
+
1233
+ type commit_duration =
1234
+ {
1235
+ value: Float,
1236
+ unit: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::CommitDuration::unit
1237
+ }
1238
+
1239
+ class CommitDuration < MetronomeSDK::Internal::Type::BaseModel
1240
+ attr_accessor value: Float
1241
+
1242
+ attr_reader unit: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::CommitDuration::unit?
1243
+
1244
+ def unit=: (
1245
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::CommitDuration::unit
1246
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::CommitDuration::unit
1247
+
1248
+ def initialize: (
1249
+ value: Float,
1250
+ ?unit: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::CommitDuration::unit
1251
+ ) -> void
1252
+
1253
+ def to_hash: -> {
1254
+ value: Float,
1255
+ unit: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::CommitDuration::unit
1256
+ }
1257
+
1258
+ type unit = :PERIODS
1259
+
1260
+ module Unit
1261
+ extend MetronomeSDK::Internal::Type::Enum
1262
+
1263
+ PERIODS: :PERIODS
1264
+
1265
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::CommitDuration::unit]
1266
+ end
1267
+ end
1268
+
1269
+ type product = { id: String, name: String }
1270
+
1271
+ class Product < MetronomeSDK::Internal::Type::BaseModel
1272
+ attr_accessor id: String
1273
+
1274
+ attr_accessor name: String
1275
+
1276
+ def initialize: (id: String, name: String) -> void
1277
+
1278
+ def to_hash: -> { id: String, name: String }
1279
+ end
1280
+
1281
+ type rate_type = :COMMIT_RATE | :LIST_RATE
1282
+
1283
+ module RateType
1284
+ extend MetronomeSDK::Internal::Type::Enum
1285
+
1286
+ COMMIT_RATE: :COMMIT_RATE
1287
+ LIST_RATE: :LIST_RATE
1288
+
1289
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::rate_type]
1290
+ end
1291
+
1292
+ type contract = { id: String }
1293
+
1294
+ class Contract < MetronomeSDK::Internal::Type::BaseModel
1295
+ attr_accessor id: String
1296
+
1297
+ def initialize: (id: String) -> void
1298
+
1299
+ def to_hash: -> { id: String }
1300
+ end
1301
+
1302
+ type invoice_amount =
1303
+ { credit_type_id: String, quantity: Float, unit_price: Float }
1304
+
1305
+ class InvoiceAmount < MetronomeSDK::Internal::Type::BaseModel
1306
+ attr_accessor credit_type_id: String
1307
+
1308
+ attr_accessor quantity: Float
1309
+
1310
+ attr_accessor unit_price: Float
1311
+
1312
+ def initialize: (
1313
+ credit_type_id: String,
1314
+ quantity: Float,
1315
+ unit_price: Float
1316
+ ) -> void
1317
+
1318
+ def to_hash: -> {
1319
+ credit_type_id: String,
1320
+ quantity: Float,
1321
+ unit_price: Float
1322
+ }
1323
+ end
1324
+
1325
+ type proration = :NONE | :FIRST | :LAST | :FIRST_AND_LAST
1326
+
1327
+ module Proration
1328
+ extend MetronomeSDK::Internal::Type::Enum
1329
+
1330
+ NONE: :NONE
1331
+ FIRST: :FIRST
1332
+ LAST: :LAST
1333
+ FIRST_AND_LAST: :FIRST_AND_LAST
1334
+
1335
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::proration]
1336
+ end
1337
+
1338
+ type recurrence_frequency =
1339
+ :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
1340
+
1341
+ module RecurrenceFrequency
1342
+ extend MetronomeSDK::Internal::Type::Enum
1343
+
1344
+ MONTHLY: :MONTHLY
1345
+ QUARTERLY: :QUARTERLY
1346
+ ANNUAL: :ANNUAL
1347
+ WEEKLY: :WEEKLY
1348
+
1349
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::recurrence_frequency]
1350
+ end
1351
+ end
1352
+
1353
+ type add_recurring_credit =
1354
+ {
1355
+ id: String,
1356
+ access_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::AccessAmount,
1357
+ commit_duration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::CommitDuration,
1358
+ priority: Float,
1359
+ product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::Product,
1360
+ rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::rate_type,
1361
+ starting_at: Time,
1362
+ applicable_product_ids: ::Array[String],
1363
+ applicable_product_tags: ::Array[String],
1364
+ contract: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::Contract,
1365
+ description: String,
1366
+ ending_before: Time,
1367
+ hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
1368
+ name: String,
1369
+ netsuite_sales_order_id: String,
1370
+ proration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::proration,
1371
+ recurrence_frequency: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::recurrence_frequency,
1372
+ rollover_fraction: Float,
1373
+ specifiers: ::Array[MetronomeSDK::CommitSpecifier],
1374
+ subscription_config: MetronomeSDK::RecurringCommitSubscriptionConfig
1375
+ }
1376
+
1377
+ class AddRecurringCredit < MetronomeSDK::Internal::Type::BaseModel
1378
+ attr_accessor id: String
1379
+
1380
+ attr_accessor access_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::AccessAmount
1381
+
1382
+ attr_accessor commit_duration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::CommitDuration
1383
+
1384
+ attr_accessor priority: Float
1385
+
1386
+ attr_accessor product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::Product
1387
+
1388
+ attr_accessor rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::rate_type
1389
+
1390
+ attr_accessor starting_at: Time
1391
+
1392
+ attr_reader applicable_product_ids: ::Array[String]?
1393
+
1394
+ def applicable_product_ids=: (::Array[String]) -> ::Array[String]
1395
+
1396
+ attr_reader applicable_product_tags: ::Array[String]?
1397
+
1398
+ def applicable_product_tags=: (::Array[String]) -> ::Array[String]
1399
+
1400
+ attr_reader contract: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::Contract?
1401
+
1402
+ def contract=: (
1403
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::Contract
1404
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::Contract
1405
+
1406
+ attr_reader description: String?
1407
+
1408
+ def description=: (String) -> String
1409
+
1410
+ attr_reader ending_before: Time?
1411
+
1412
+ def ending_before=: (Time) -> Time
1413
+
1414
+ attr_reader hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration?
1415
+
1416
+ def hierarchy_configuration=: (
1417
+ MetronomeSDK::CommitHierarchyConfiguration
1418
+ ) -> MetronomeSDK::CommitHierarchyConfiguration
1419
+
1420
+ attr_reader name: String?
1421
+
1422
+ def name=: (String) -> String
1423
+
1424
+ attr_reader netsuite_sales_order_id: String?
1425
+
1426
+ def netsuite_sales_order_id=: (String) -> String
1427
+
1428
+ attr_reader proration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::proration?
1429
+
1430
+ def proration=: (
1431
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::proration
1432
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::proration
1433
+
1434
+ attr_reader recurrence_frequency: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::recurrence_frequency?
1435
+
1436
+ def recurrence_frequency=: (
1437
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::recurrence_frequency
1438
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::recurrence_frequency
1439
+
1440
+ attr_reader rollover_fraction: Float?
1441
+
1442
+ def rollover_fraction=: (Float) -> Float
1443
+
1444
+ attr_reader specifiers: ::Array[MetronomeSDK::CommitSpecifier]?
1445
+
1446
+ def specifiers=: (
1447
+ ::Array[MetronomeSDK::CommitSpecifier]
1448
+ ) -> ::Array[MetronomeSDK::CommitSpecifier]
1449
+
1450
+ attr_reader subscription_config: MetronomeSDK::RecurringCommitSubscriptionConfig?
1451
+
1452
+ def subscription_config=: (
1453
+ MetronomeSDK::RecurringCommitSubscriptionConfig
1454
+ ) -> MetronomeSDK::RecurringCommitSubscriptionConfig
1455
+
1456
+ def initialize: (
1457
+ id: String,
1458
+ access_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::AccessAmount,
1459
+ commit_duration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::CommitDuration,
1460
+ priority: Float,
1461
+ product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::Product,
1462
+ rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::rate_type,
1463
+ starting_at: Time,
1464
+ ?applicable_product_ids: ::Array[String],
1465
+ ?applicable_product_tags: ::Array[String],
1466
+ ?contract: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::Contract,
1467
+ ?description: String,
1468
+ ?ending_before: Time,
1469
+ ?hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
1470
+ ?name: String,
1471
+ ?netsuite_sales_order_id: String,
1472
+ ?proration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::proration,
1473
+ ?recurrence_frequency: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::recurrence_frequency,
1474
+ ?rollover_fraction: Float,
1475
+ ?specifiers: ::Array[MetronomeSDK::CommitSpecifier],
1476
+ ?subscription_config: MetronomeSDK::RecurringCommitSubscriptionConfig
1477
+ ) -> void
1478
+
1479
+ def to_hash: -> {
1480
+ id: String,
1481
+ access_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::AccessAmount,
1482
+ commit_duration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::CommitDuration,
1483
+ priority: Float,
1484
+ product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::Product,
1485
+ rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::rate_type,
1486
+ starting_at: Time,
1487
+ applicable_product_ids: ::Array[String],
1488
+ applicable_product_tags: ::Array[String],
1489
+ contract: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::Contract,
1490
+ description: String,
1491
+ ending_before: Time,
1492
+ hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
1493
+ name: String,
1494
+ netsuite_sales_order_id: String,
1495
+ proration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::proration,
1496
+ recurrence_frequency: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::recurrence_frequency,
1497
+ rollover_fraction: Float,
1498
+ specifiers: ::Array[MetronomeSDK::CommitSpecifier],
1499
+ subscription_config: MetronomeSDK::RecurringCommitSubscriptionConfig
1500
+ }
1501
+
1502
+ type access_amount =
1503
+ { credit_type_id: String, unit_price: Float, quantity: Float }
1504
+
1505
+ class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
1506
+ attr_accessor credit_type_id: String
1507
+
1508
+ attr_accessor unit_price: Float
1509
+
1510
+ attr_reader quantity: Float?
1511
+
1512
+ def quantity=: (Float) -> Float
1513
+
1514
+ def initialize: (
1515
+ credit_type_id: String,
1516
+ unit_price: Float,
1517
+ ?quantity: Float
1518
+ ) -> void
1519
+
1520
+ def to_hash: -> {
1521
+ credit_type_id: String,
1522
+ unit_price: Float,
1523
+ quantity: Float
1524
+ }
1525
+ end
1526
+
1527
+ type commit_duration =
1528
+ {
1529
+ value: Float,
1530
+ unit: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::CommitDuration::unit
1531
+ }
1532
+
1533
+ class CommitDuration < MetronomeSDK::Internal::Type::BaseModel
1534
+ attr_accessor value: Float
1535
+
1536
+ attr_reader unit: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::CommitDuration::unit?
1537
+
1538
+ def unit=: (
1539
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::CommitDuration::unit
1540
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::CommitDuration::unit
1541
+
1542
+ def initialize: (
1543
+ value: Float,
1544
+ ?unit: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::CommitDuration::unit
1545
+ ) -> void
1546
+
1547
+ def to_hash: -> {
1548
+ value: Float,
1549
+ unit: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::CommitDuration::unit
1550
+ }
1551
+
1552
+ type unit = :PERIODS
1553
+
1554
+ module Unit
1555
+ extend MetronomeSDK::Internal::Type::Enum
1556
+
1557
+ PERIODS: :PERIODS
1558
+
1559
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::CommitDuration::unit]
1560
+ end
1561
+ end
1562
+
1563
+ type product = { id: String, name: String }
1564
+
1565
+ class Product < MetronomeSDK::Internal::Type::BaseModel
1566
+ attr_accessor id: String
1567
+
1568
+ attr_accessor name: String
1569
+
1570
+ def initialize: (id: String, name: String) -> void
1571
+
1572
+ def to_hash: -> { id: String, name: String }
1573
+ end
1574
+
1575
+ type rate_type = :COMMIT_RATE | :LIST_RATE
1576
+
1577
+ module RateType
1578
+ extend MetronomeSDK::Internal::Type::Enum
1579
+
1580
+ COMMIT_RATE: :COMMIT_RATE
1581
+ LIST_RATE: :LIST_RATE
1582
+
1583
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::rate_type]
1584
+ end
1585
+
1586
+ type contract = { id: String }
1587
+
1588
+ class Contract < MetronomeSDK::Internal::Type::BaseModel
1589
+ attr_accessor id: String
1590
+
1591
+ def initialize: (id: String) -> void
1592
+
1593
+ def to_hash: -> { id: String }
1594
+ end
1595
+
1596
+ type proration = :NONE | :FIRST | :LAST | :FIRST_AND_LAST
1597
+
1598
+ module Proration
1599
+ extend MetronomeSDK::Internal::Type::Enum
1600
+
1601
+ NONE: :NONE
1602
+ FIRST: :FIRST
1603
+ LAST: :LAST
1604
+ FIRST_AND_LAST: :FIRST_AND_LAST
1605
+
1606
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::proration]
1607
+ end
1608
+
1609
+ type recurrence_frequency =
1610
+ :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
1611
+
1612
+ module RecurrenceFrequency
1613
+ extend MetronomeSDK::Internal::Type::Enum
1614
+
1615
+ MONTHLY: :MONTHLY
1616
+ QUARTERLY: :QUARTERLY
1617
+ ANNUAL: :ANNUAL
1618
+ WEEKLY: :WEEKLY
1619
+
1620
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::recurrence_frequency]
1621
+ end
1622
+ end
1623
+
1624
+ type add_reseller_royalty =
1625
+ {
1626
+ reseller_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddResellerRoyalty::reseller_type,
1627
+ applicable_product_ids: ::Array[String],
1628
+ applicable_product_tags: ::Array[String],
1629
+ aws_account_number: String,
1630
+ aws_offer_id: String,
1631
+ aws_payer_reference_id: String,
1632
+ ending_before: Time?,
1633
+ fraction: Float,
1634
+ gcp_account_id: String,
1635
+ gcp_offer_id: String,
1636
+ netsuite_reseller_id: String,
1637
+ reseller_contract_value: Float,
1638
+ starting_at: Time
1639
+ }
1640
+
1641
+ class AddResellerRoyalty < MetronomeSDK::Internal::Type::BaseModel
1642
+ attr_accessor reseller_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddResellerRoyalty::reseller_type
1643
+
1644
+ attr_reader applicable_product_ids: ::Array[String]?
1645
+
1646
+ def applicable_product_ids=: (::Array[String]) -> ::Array[String]
1647
+
1648
+ attr_reader applicable_product_tags: ::Array[String]?
1649
+
1650
+ def applicable_product_tags=: (::Array[String]) -> ::Array[String]
1651
+
1652
+ attr_reader aws_account_number: String?
1653
+
1654
+ def aws_account_number=: (String) -> String
1655
+
1656
+ attr_reader aws_offer_id: String?
1657
+
1658
+ def aws_offer_id=: (String) -> String
1659
+
1660
+ attr_reader aws_payer_reference_id: String?
1661
+
1662
+ def aws_payer_reference_id=: (String) -> String
1663
+
1664
+ attr_accessor ending_before: Time?
1665
+
1666
+ attr_reader fraction: Float?
1667
+
1668
+ def fraction=: (Float) -> Float
1669
+
1670
+ attr_reader gcp_account_id: String?
1671
+
1672
+ def gcp_account_id=: (String) -> String
1673
+
1674
+ attr_reader gcp_offer_id: String?
1675
+
1676
+ def gcp_offer_id=: (String) -> String
1677
+
1678
+ attr_reader netsuite_reseller_id: String?
1679
+
1680
+ def netsuite_reseller_id=: (String) -> String
1681
+
1682
+ attr_reader reseller_contract_value: Float?
1683
+
1684
+ def reseller_contract_value=: (Float) -> Float
1685
+
1686
+ attr_reader starting_at: Time?
1687
+
1688
+ def starting_at=: (Time) -> Time
1689
+
1690
+ def initialize: (
1691
+ reseller_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddResellerRoyalty::reseller_type,
1692
+ ?applicable_product_ids: ::Array[String],
1693
+ ?applicable_product_tags: ::Array[String],
1694
+ ?aws_account_number: String,
1695
+ ?aws_offer_id: String,
1696
+ ?aws_payer_reference_id: String,
1697
+ ?ending_before: Time?,
1698
+ ?fraction: Float,
1699
+ ?gcp_account_id: String,
1700
+ ?gcp_offer_id: String,
1701
+ ?netsuite_reseller_id: String,
1702
+ ?reseller_contract_value: Float,
1703
+ ?starting_at: Time
1704
+ ) -> void
1705
+
1706
+ def to_hash: -> {
1707
+ reseller_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddResellerRoyalty::reseller_type,
1708
+ applicable_product_ids: ::Array[String],
1709
+ applicable_product_tags: ::Array[String],
1710
+ aws_account_number: String,
1711
+ aws_offer_id: String,
1712
+ aws_payer_reference_id: String,
1713
+ ending_before: Time?,
1714
+ fraction: Float,
1715
+ gcp_account_id: String,
1716
+ gcp_offer_id: String,
1717
+ netsuite_reseller_id: String,
1718
+ reseller_contract_value: Float,
1719
+ starting_at: Time
1720
+ }
1721
+
1722
+ type reseller_type =
1723
+ :AWS | :AWS_PRO_SERVICE | :GCP | :GCP_PRO_SERVICE
1724
+
1725
+ module ResellerType
1726
+ extend MetronomeSDK::Internal::Type::Enum
1727
+
1728
+ AWS: :AWS
1729
+ AWS_PRO_SERVICE: :AWS_PRO_SERVICE
1730
+ GCP: :GCP
1731
+ GCP_PRO_SERVICE: :GCP_PRO_SERVICE
1732
+
1733
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddResellerRoyalty::reseller_type]
1734
+ end
1735
+ end
1736
+
1737
+ type add_scheduled_charge =
1738
+ {
1739
+ id: String,
1740
+ product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddScheduledCharge::Product,
1741
+ schedule: MetronomeSDK::SchedulePointInTime,
1742
+ name: String,
1743
+ netsuite_sales_order_id: String
1744
+ }
1745
+
1746
+ class AddScheduledCharge < MetronomeSDK::Internal::Type::BaseModel
1747
+ attr_accessor id: String
1748
+
1749
+ attr_accessor product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddScheduledCharge::Product
1750
+
1751
+ attr_accessor schedule: MetronomeSDK::SchedulePointInTime
1752
+
1753
+ attr_reader name: String?
1754
+
1755
+ def name=: (String) -> String
1756
+
1757
+ attr_reader netsuite_sales_order_id: String?
1758
+
1759
+ def netsuite_sales_order_id=: (String) -> String
1760
+
1761
+ def initialize: (
1762
+ id: String,
1763
+ product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddScheduledCharge::Product,
1764
+ schedule: MetronomeSDK::SchedulePointInTime,
1765
+ ?name: String,
1766
+ ?netsuite_sales_order_id: String
1767
+ ) -> void
1768
+
1769
+ def to_hash: -> {
1770
+ id: String,
1771
+ product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddScheduledCharge::Product,
1772
+ schedule: MetronomeSDK::SchedulePointInTime,
1773
+ name: String,
1774
+ netsuite_sales_order_id: String
1775
+ }
1776
+
1777
+ type product = { id: String, name: String }
1778
+
1779
+ class Product < MetronomeSDK::Internal::Type::BaseModel
1780
+ attr_accessor id: String
1781
+
1782
+ attr_accessor name: String
1783
+
1784
+ def initialize: (id: String, name: String) -> void
1785
+
1786
+ def to_hash: -> { id: String, name: String }
1787
+ end
1788
+ end
1789
+
1790
+ type add_subscription =
1791
+ {
1792
+ billing_periods: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods,
1793
+ collection_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::collection_schedule,
1794
+ proration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration,
1795
+ quantity_management_mode: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::quantity_management_mode,
1796
+ quantity_schedule: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::QuantitySchedule],
1797
+ starting_at: Time,
1798
+ subscription_rate: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::SubscriptionRate,
1799
+ id: String,
1800
+ custom_fields: ::Hash[Symbol, String],
1801
+ description: String,
1802
+ ending_before: Time,
1803
+ fiat_credit_type_id: String,
1804
+ name: String,
1805
+ seat_config: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::SeatConfig
1806
+ }
1807
+
1808
+ class AddSubscription < MetronomeSDK::Internal::Type::BaseModel
1809
+ attr_accessor billing_periods: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods
1810
+
1811
+ attr_accessor collection_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::collection_schedule
1812
+
1813
+ attr_accessor proration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration
1814
+
1815
+ attr_accessor quantity_management_mode: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::quantity_management_mode
1816
+
1817
+ attr_accessor quantity_schedule: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::QuantitySchedule]
1818
+
1819
+ attr_accessor starting_at: Time
1820
+
1821
+ attr_accessor subscription_rate: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::SubscriptionRate
1822
+
1823
+ attr_reader id: String?
1824
+
1825
+ def id=: (String) -> String
1826
+
1827
+ attr_reader custom_fields: ::Hash[Symbol, String]?
1828
+
1829
+ def custom_fields=: (
1830
+ ::Hash[Symbol, String]
1831
+ ) -> ::Hash[Symbol, String]
1832
+
1833
+ attr_reader description: String?
1834
+
1835
+ def description=: (String) -> String
1836
+
1837
+ attr_reader ending_before: Time?
1838
+
1839
+ def ending_before=: (Time) -> Time
1840
+
1841
+ attr_reader fiat_credit_type_id: String?
1842
+
1843
+ def fiat_credit_type_id=: (String) -> String
1844
+
1845
+ attr_reader name: String?
1846
+
1847
+ def name=: (String) -> String
1848
+
1849
+ attr_reader seat_config: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::SeatConfig?
1850
+
1851
+ def seat_config=: (
1852
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::SeatConfig
1853
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::SeatConfig
1854
+
1855
+ def initialize: (
1856
+ billing_periods: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods,
1857
+ collection_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::collection_schedule,
1858
+ proration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration,
1859
+ quantity_management_mode: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::quantity_management_mode,
1860
+ quantity_schedule: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::QuantitySchedule],
1861
+ starting_at: Time,
1862
+ subscription_rate: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::SubscriptionRate,
1863
+ ?id: String,
1864
+ ?custom_fields: ::Hash[Symbol, String],
1865
+ ?description: String,
1866
+ ?ending_before: Time,
1867
+ ?fiat_credit_type_id: String,
1868
+ ?name: String,
1869
+ ?seat_config: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::SeatConfig
1870
+ ) -> void
1871
+
1872
+ def to_hash: -> {
1873
+ billing_periods: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods,
1874
+ collection_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::collection_schedule,
1875
+ proration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration,
1876
+ quantity_management_mode: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::quantity_management_mode,
1877
+ quantity_schedule: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::QuantitySchedule],
1878
+ starting_at: Time,
1879
+ subscription_rate: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::SubscriptionRate,
1880
+ id: String,
1881
+ custom_fields: ::Hash[Symbol, String],
1882
+ description: String,
1883
+ ending_before: Time,
1884
+ fiat_credit_type_id: String,
1885
+ name: String,
1886
+ seat_config: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::SeatConfig
1887
+ }
1888
+
1889
+ type billing_periods =
1890
+ {
1891
+ current: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods::Current,
1892
+ next_: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods::Next,
1893
+ previous: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods::Previous
1894
+ }
1895
+
1896
+ class BillingPeriods < MetronomeSDK::Internal::Type::BaseModel
1897
+ attr_reader current: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods::Current?
1898
+
1899
+ def current=: (
1900
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods::Current
1901
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods::Current
1902
+
1903
+ attr_reader next_: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods::Next?
1904
+
1905
+ def next_=: (
1906
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods::Next
1907
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods::Next
1908
+
1909
+ attr_reader previous: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods::Previous?
1910
+
1911
+ def previous=: (
1912
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods::Previous
1913
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods::Previous
1914
+
1915
+ def initialize: (
1916
+ ?current: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods::Current,
1917
+ ?next_: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods::Next,
1918
+ ?previous: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods::Previous
1919
+ ) -> void
1920
+
1921
+ def to_hash: -> {
1922
+ current: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods::Current,
1923
+ next_: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods::Next,
1924
+ previous: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods::Previous
1925
+ }
1926
+
1927
+ type current = { ending_before: Time, starting_at: Time }
1928
+
1929
+ class Current < MetronomeSDK::Internal::Type::BaseModel
1930
+ attr_accessor ending_before: Time
1931
+
1932
+ attr_accessor starting_at: Time
1933
+
1934
+ def initialize: (
1935
+ ending_before: Time,
1936
+ starting_at: Time
1937
+ ) -> void
1938
+
1939
+ def to_hash: -> { ending_before: Time, starting_at: Time }
1940
+ end
1941
+
1942
+ type next_ = { ending_before: Time, starting_at: Time }
1943
+
1944
+ class Next < MetronomeSDK::Internal::Type::BaseModel
1945
+ attr_accessor ending_before: Time
1946
+
1947
+ attr_accessor starting_at: Time
1948
+
1949
+ def initialize: (
1950
+ ending_before: Time,
1951
+ starting_at: Time
1952
+ ) -> void
1953
+
1954
+ def to_hash: -> { ending_before: Time, starting_at: Time }
1955
+ end
1956
+
1957
+ type previous = { ending_before: Time, starting_at: Time }
1958
+
1959
+ class Previous < MetronomeSDK::Internal::Type::BaseModel
1960
+ attr_accessor ending_before: Time
1961
+
1962
+ attr_accessor starting_at: Time
1963
+
1964
+ def initialize: (
1965
+ ending_before: Time,
1966
+ starting_at: Time
1967
+ ) -> void
1968
+
1969
+ def to_hash: -> { ending_before: Time, starting_at: Time }
1970
+ end
1971
+ end
1972
+
1973
+ type collection_schedule = :ADVANCE | :ARREARS
1974
+
1975
+ module CollectionSchedule
1976
+ extend MetronomeSDK::Internal::Type::Enum
1977
+
1978
+ ADVANCE: :ADVANCE
1979
+ ARREARS: :ARREARS
1980
+
1981
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::collection_schedule]
1982
+ end
1983
+
1984
+ type proration =
1985
+ {
1986
+ invoice_behavior: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration::invoice_behavior,
1987
+ is_prorated: bool
1988
+ }
1989
+
1990
+ class Proration < MetronomeSDK::Internal::Type::BaseModel
1991
+ attr_accessor invoice_behavior: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration::invoice_behavior
1992
+
1993
+ attr_accessor is_prorated: bool
1994
+
1995
+ def initialize: (
1996
+ invoice_behavior: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration::invoice_behavior,
1997
+ is_prorated: bool
1998
+ ) -> void
1999
+
2000
+ def to_hash: -> {
2001
+ invoice_behavior: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration::invoice_behavior,
2002
+ is_prorated: bool
2003
+ }
2004
+
2005
+ type invoice_behavior =
2006
+ :BILL_IMMEDIATELY | :BILL_ON_NEXT_COLLECTION_DATE
2007
+
2008
+ module InvoiceBehavior
2009
+ extend MetronomeSDK::Internal::Type::Enum
2010
+
2011
+ BILL_IMMEDIATELY: :BILL_IMMEDIATELY
2012
+ BILL_ON_NEXT_COLLECTION_DATE: :BILL_ON_NEXT_COLLECTION_DATE
2013
+
2014
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration::invoice_behavior]
2015
+ end
2016
+ end
2017
+
2018
+ type quantity_management_mode = :SEAT_BASED | :QUANTITY_ONLY
2019
+
2020
+ module QuantityManagementMode
2021
+ extend MetronomeSDK::Internal::Type::Enum
2022
+
2023
+ SEAT_BASED: :SEAT_BASED
2024
+ QUANTITY_ONLY: :QUANTITY_ONLY
2025
+
2026
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::quantity_management_mode]
2027
+ end
2028
+
2029
+ type quantity_schedule =
2030
+ { quantity: Float, starting_at: Time, ending_before: Time }
2031
+
2032
+ class QuantitySchedule < MetronomeSDK::Internal::Type::BaseModel
2033
+ attr_accessor quantity: Float
2034
+
2035
+ attr_accessor starting_at: Time
2036
+
2037
+ attr_reader ending_before: Time?
2038
+
2039
+ def ending_before=: (Time) -> Time
2040
+
2041
+ def initialize: (
2042
+ quantity: Float,
2043
+ starting_at: Time,
2044
+ ?ending_before: Time
2045
+ ) -> void
2046
+
2047
+ def to_hash: -> {
2048
+ quantity: Float,
2049
+ starting_at: Time,
2050
+ ending_before: Time
2051
+ }
2052
+ end
2053
+
2054
+ type subscription_rate =
2055
+ {
2056
+ billing_frequency: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::SubscriptionRate::billing_frequency,
2057
+ product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::SubscriptionRate::Product
2058
+ }
2059
+
2060
+ class SubscriptionRate < MetronomeSDK::Internal::Type::BaseModel
2061
+ attr_accessor billing_frequency: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::SubscriptionRate::billing_frequency
2062
+
2063
+ attr_accessor product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::SubscriptionRate::Product
2064
+
2065
+ def initialize: (
2066
+ billing_frequency: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::SubscriptionRate::billing_frequency,
2067
+ product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::SubscriptionRate::Product
2068
+ ) -> void
2069
+
2070
+ def to_hash: -> {
2071
+ billing_frequency: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::SubscriptionRate::billing_frequency,
2072
+ product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::SubscriptionRate::Product
2073
+ }
2074
+
2075
+ type billing_frequency =
2076
+ :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
2077
+
2078
+ module BillingFrequency
2079
+ extend MetronomeSDK::Internal::Type::Enum
2080
+
2081
+ MONTHLY: :MONTHLY
2082
+ QUARTERLY: :QUARTERLY
2083
+ ANNUAL: :ANNUAL
2084
+ WEEKLY: :WEEKLY
2085
+
2086
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::SubscriptionRate::billing_frequency]
2087
+ end
2088
+
2089
+ type product = { id: String, name: String }
2090
+
2091
+ class Product < MetronomeSDK::Internal::Type::BaseModel
2092
+ attr_accessor id: String
2093
+
2094
+ attr_accessor name: String
2095
+
2096
+ def initialize: (id: String, name: String) -> void
2097
+
2098
+ def to_hash: -> { id: String, name: String }
2099
+ end
2100
+ end
2101
+
2102
+ type seat_config = { seat_group_key: String }
2103
+
2104
+ class SeatConfig < MetronomeSDK::Internal::Type::BaseModel
2105
+ attr_accessor seat_group_key: String
2106
+
2107
+ def initialize: (seat_group_key: String) -> void
2108
+
2109
+ def to_hash: -> { seat_group_key: String }
2110
+ end
2111
+ end
2112
+
2113
+ type add_usage_filter =
2114
+ {
2115
+ group_key: String,
2116
+ group_values: ::Array[String],
2117
+ starting_at: Time,
2118
+ ending_before: Time
2119
+ }
2120
+
2121
+ class AddUsageFilter < MetronomeSDK::Internal::Type::BaseModel
2122
+ attr_accessor group_key: String
2123
+
2124
+ attr_accessor group_values: ::Array[String]
2125
+
2126
+ attr_accessor starting_at: Time
2127
+
2128
+ attr_reader ending_before: Time?
2129
+
2130
+ def ending_before=: (Time) -> Time
2131
+
2132
+ def initialize: (
2133
+ group_key: String,
2134
+ group_values: ::Array[String],
2135
+ starting_at: Time,
2136
+ ?ending_before: Time
2137
+ ) -> void
2138
+
2139
+ def to_hash: -> {
2140
+ group_key: String,
2141
+ group_values: ::Array[String],
2142
+ starting_at: Time,
2143
+ ending_before: Time
2144
+ }
2145
+ end
2146
+
2147
+ type archive_commit = { id: String }
2148
+
2149
+ class ArchiveCommit < MetronomeSDK::Internal::Type::BaseModel
2150
+ attr_accessor id: String
2151
+
2152
+ def initialize: (id: String) -> void
2153
+
2154
+ def to_hash: -> { id: String }
2155
+ end
2156
+
2157
+ type archive_credit = { id: String }
2158
+
2159
+ class ArchiveCredit < MetronomeSDK::Internal::Type::BaseModel
2160
+ attr_accessor id: String
2161
+
2162
+ def initialize: (id: String) -> void
2163
+
2164
+ def to_hash: -> { id: String }
2165
+ end
2166
+
2167
+ type archive_scheduled_charge = { id: String }
2168
+
2169
+ class ArchiveScheduledCharge < MetronomeSDK::Internal::Type::BaseModel
2170
+ attr_accessor id: String
2171
+
2172
+ def initialize: (id: String) -> void
2173
+
2174
+ def to_hash: -> { id: String }
2175
+ end
2176
+
2177
+ type remove_override = { id: String }
2178
+
2179
+ class RemoveOverride < MetronomeSDK::Internal::Type::BaseModel
2180
+ attr_accessor id: String
2181
+
2182
+ def initialize: (id: String) -> void
2183
+
2184
+ def to_hash: -> { id: String }
2185
+ end
2186
+
2187
+ type update_commit =
2188
+ {
2189
+ id: String,
2190
+ access_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule,
2191
+ applicable_product_ids: ::Array[String]?,
2192
+ applicable_product_tags: ::Array[String]?,
2193
+ description: String,
2194
+ hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
2195
+ invoice_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule,
2196
+ name: String,
2197
+ netsuite_sales_order_id: String?,
2198
+ priority: Float?,
2199
+ product_id: String,
2200
+ rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::rate_type,
2201
+ rollover_fraction: Float?,
2202
+ specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]?
2203
+ }
2204
+
2205
+ class UpdateCommit < MetronomeSDK::Internal::Type::BaseModel
2206
+ attr_accessor id: String
2207
+
2208
+ attr_reader access_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule?
2209
+
2210
+ def access_schedule=: (
2211
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule
2212
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule
2213
+
2214
+ attr_accessor applicable_product_ids: ::Array[String]?
2215
+
2216
+ attr_accessor applicable_product_tags: ::Array[String]?
2217
+
2218
+ attr_reader description: String?
2219
+
2220
+ def description=: (String) -> String
2221
+
2222
+ attr_reader hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration?
2223
+
2224
+ def hierarchy_configuration=: (
2225
+ MetronomeSDK::CommitHierarchyConfiguration
2226
+ ) -> MetronomeSDK::CommitHierarchyConfiguration
2227
+
2228
+ attr_reader invoice_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule?
2229
+
2230
+ def invoice_schedule=: (
2231
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule
2232
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule
2233
+
2234
+ attr_reader name: String?
2235
+
2236
+ def name=: (String) -> String
2237
+
2238
+ attr_accessor netsuite_sales_order_id: String?
2239
+
2240
+ attr_accessor priority: Float?
2241
+
2242
+ attr_reader product_id: String?
2243
+
2244
+ def product_id=: (String) -> String
2245
+
2246
+ attr_reader rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::rate_type?
2247
+
2248
+ def rate_type=: (
2249
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::rate_type
2250
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::rate_type
2251
+
2252
+ attr_accessor rollover_fraction: Float?
2253
+
2254
+ attr_accessor specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]?
2255
+
2256
+ def initialize: (
2257
+ id: String,
2258
+ ?access_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule,
2259
+ ?applicable_product_ids: ::Array[String]?,
2260
+ ?applicable_product_tags: ::Array[String]?,
2261
+ ?description: String,
2262
+ ?hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
2263
+ ?invoice_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule,
2264
+ ?name: String,
2265
+ ?netsuite_sales_order_id: String?,
2266
+ ?priority: Float?,
2267
+ ?product_id: String,
2268
+ ?rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::rate_type,
2269
+ ?rollover_fraction: Float?,
2270
+ ?specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]?
2271
+ ) -> void
2272
+
2273
+ def to_hash: -> {
2274
+ id: String,
2275
+ access_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule,
2276
+ applicable_product_ids: ::Array[String]?,
2277
+ applicable_product_tags: ::Array[String]?,
2278
+ description: String,
2279
+ hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
2280
+ invoice_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule,
2281
+ name: String,
2282
+ netsuite_sales_order_id: String?,
2283
+ priority: Float?,
2284
+ product_id: String,
2285
+ rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::rate_type,
2286
+ rollover_fraction: Float?,
2287
+ specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]?
2288
+ }
2289
+
2290
+ type access_schedule =
2291
+ {
2292
+ add_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule::AddScheduleItem],
2293
+ remove_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule::RemoveScheduleItem],
2294
+ update_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule::UpdateScheduleItem]
2295
+ }
2296
+
2297
+ class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
2298
+ attr_reader add_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule::AddScheduleItem]?
2299
+
2300
+ def add_schedule_items=: (
2301
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule::AddScheduleItem]
2302
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule::AddScheduleItem]
2303
+
2304
+ attr_reader remove_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule::RemoveScheduleItem]?
2305
+
2306
+ def remove_schedule_items=: (
2307
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule::RemoveScheduleItem]
2308
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule::RemoveScheduleItem]
2309
+
2310
+ attr_reader update_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule::UpdateScheduleItem]?
2311
+
2312
+ def update_schedule_items=: (
2313
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule::UpdateScheduleItem]
2314
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule::UpdateScheduleItem]
2315
+
2316
+ def initialize: (
2317
+ ?add_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule::AddScheduleItem],
2318
+ ?remove_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule::RemoveScheduleItem],
2319
+ ?update_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule::UpdateScheduleItem]
2320
+ ) -> void
2321
+
2322
+ def to_hash: -> {
2323
+ add_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule::AddScheduleItem],
2324
+ remove_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule::RemoveScheduleItem],
2325
+ update_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule::UpdateScheduleItem]
2326
+ }
2327
+
2328
+ type add_schedule_item =
2329
+ { amount: Float, ending_before: Time, starting_at: Time }
2330
+
2331
+ class AddScheduleItem < MetronomeSDK::Internal::Type::BaseModel
2332
+ attr_accessor amount: Float
2333
+
2334
+ attr_accessor ending_before: Time
2335
+
2336
+ attr_accessor starting_at: Time
2337
+
2338
+ def initialize: (
2339
+ amount: Float,
2340
+ ending_before: Time,
2341
+ starting_at: Time
2342
+ ) -> void
2343
+
2344
+ def to_hash: -> {
2345
+ amount: Float,
2346
+ ending_before: Time,
2347
+ starting_at: Time
2348
+ }
2349
+ end
2350
+
2351
+ type remove_schedule_item = { id: String }
2352
+
2353
+ class RemoveScheduleItem < MetronomeSDK::Internal::Type::BaseModel
2354
+ attr_accessor id: String
2355
+
2356
+ def initialize: (id: String) -> void
2357
+
2358
+ def to_hash: -> { id: String }
2359
+ end
2360
+
2361
+ type update_schedule_item =
2362
+ {
2363
+ id: String,
2364
+ amount: Float,
2365
+ ending_before: Time,
2366
+ starting_at: Time
2367
+ }
2368
+
2369
+ class UpdateScheduleItem < MetronomeSDK::Internal::Type::BaseModel
2370
+ attr_accessor id: String
2371
+
2372
+ attr_reader amount: Float?
2373
+
2374
+ def amount=: (Float) -> Float
2375
+
2376
+ attr_reader ending_before: Time?
2377
+
2378
+ def ending_before=: (Time) -> Time
2379
+
2380
+ attr_reader starting_at: Time?
2381
+
2382
+ def starting_at=: (Time) -> Time
2383
+
2384
+ def initialize: (
2385
+ id: String,
2386
+ ?amount: Float,
2387
+ ?ending_before: Time,
2388
+ ?starting_at: Time
2389
+ ) -> void
2390
+
2391
+ def to_hash: -> {
2392
+ id: String,
2393
+ amount: Float,
2394
+ ending_before: Time,
2395
+ starting_at: Time
2396
+ }
2397
+ end
2398
+ end
2399
+
2400
+ type invoice_schedule =
2401
+ {
2402
+ add_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule::AddScheduleItem],
2403
+ remove_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule::RemoveScheduleItem],
2404
+ update_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule::UpdateScheduleItem]
2405
+ }
2406
+
2407
+ class InvoiceSchedule < MetronomeSDK::Internal::Type::BaseModel
2408
+ attr_reader add_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule::AddScheduleItem]?
2409
+
2410
+ def add_schedule_items=: (
2411
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule::AddScheduleItem]
2412
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule::AddScheduleItem]
2413
+
2414
+ attr_reader remove_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule::RemoveScheduleItem]?
2415
+
2416
+ def remove_schedule_items=: (
2417
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule::RemoveScheduleItem]
2418
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule::RemoveScheduleItem]
2419
+
2420
+ attr_reader update_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule::UpdateScheduleItem]?
2421
+
2422
+ def update_schedule_items=: (
2423
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule::UpdateScheduleItem]
2424
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule::UpdateScheduleItem]
2425
+
2426
+ def initialize: (
2427
+ ?add_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule::AddScheduleItem],
2428
+ ?remove_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule::RemoveScheduleItem],
2429
+ ?update_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule::UpdateScheduleItem]
2430
+ ) -> void
2431
+
2432
+ def to_hash: -> {
2433
+ add_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule::AddScheduleItem],
2434
+ remove_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule::RemoveScheduleItem],
2435
+ update_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule::UpdateScheduleItem]
2436
+ }
2437
+
2438
+ type add_schedule_item =
2439
+ {
2440
+ timestamp: Time,
2441
+ amount: Float,
2442
+ quantity: Float,
2443
+ unit_price: Float
2444
+ }
2445
+
2446
+ class AddScheduleItem < MetronomeSDK::Internal::Type::BaseModel
2447
+ attr_accessor timestamp: Time
2448
+
2449
+ attr_reader amount: Float?
2450
+
2451
+ def amount=: (Float) -> Float
2452
+
2453
+ attr_reader quantity: Float?
2454
+
2455
+ def quantity=: (Float) -> Float
2456
+
2457
+ attr_reader unit_price: Float?
2458
+
2459
+ def unit_price=: (Float) -> Float
2460
+
2461
+ def initialize: (
2462
+ timestamp: Time,
2463
+ ?amount: Float,
2464
+ ?quantity: Float,
2465
+ ?unit_price: Float
2466
+ ) -> void
2467
+
2468
+ def to_hash: -> {
2469
+ timestamp: Time,
2470
+ amount: Float,
2471
+ quantity: Float,
2472
+ unit_price: Float
2473
+ }
2474
+ end
2475
+
2476
+ type remove_schedule_item = { id: String }
2477
+
2478
+ class RemoveScheduleItem < MetronomeSDK::Internal::Type::BaseModel
2479
+ attr_accessor id: String
2480
+
2481
+ def initialize: (id: String) -> void
2482
+
2483
+ def to_hash: -> { id: String }
2484
+ end
2485
+
2486
+ type update_schedule_item =
2487
+ {
2488
+ id: String,
2489
+ amount: Float,
2490
+ quantity: Float,
2491
+ timestamp: Time,
2492
+ unit_price: Float
2493
+ }
2494
+
2495
+ class UpdateScheduleItem < MetronomeSDK::Internal::Type::BaseModel
2496
+ attr_accessor id: String
2497
+
2498
+ attr_reader amount: Float?
2499
+
2500
+ def amount=: (Float) -> Float
2501
+
2502
+ attr_reader quantity: Float?
2503
+
2504
+ def quantity=: (Float) -> Float
2505
+
2506
+ attr_reader timestamp: Time?
2507
+
2508
+ def timestamp=: (Time) -> Time
2509
+
2510
+ attr_reader unit_price: Float?
2511
+
2512
+ def unit_price=: (Float) -> Float
2513
+
2514
+ def initialize: (
2515
+ id: String,
2516
+ ?amount: Float,
2517
+ ?quantity: Float,
2518
+ ?timestamp: Time,
2519
+ ?unit_price: Float
2520
+ ) -> void
2521
+
2522
+ def to_hash: -> {
2523
+ id: String,
2524
+ amount: Float,
2525
+ quantity: Float,
2526
+ timestamp: Time,
2527
+ unit_price: Float
2528
+ }
2529
+ end
2530
+ end
2531
+
2532
+ type rate_type = :COMMIT_RATE | :LIST_RATE
2533
+
2534
+ module RateType
2535
+ extend MetronomeSDK::Internal::Type::Enum
2536
+
2537
+ COMMIT_RATE: :COMMIT_RATE
2538
+ LIST_RATE: :LIST_RATE
2539
+
2540
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::rate_type]
2541
+ end
2542
+ end
2543
+
2544
+ type update_credit =
2545
+ {
2546
+ id: String,
2547
+ access_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule,
2548
+ applicable_product_ids: ::Array[String]?,
2549
+ applicable_product_tags: ::Array[String]?,
2550
+ description: String,
2551
+ hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
2552
+ name: String,
2553
+ netsuite_sales_order_id: String?,
2554
+ priority: Float?,
2555
+ product_id: String,
2556
+ rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::rate_type,
2557
+ rollover_fraction: Float?,
2558
+ specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]?
2559
+ }
2560
+
2561
+ class UpdateCredit < MetronomeSDK::Internal::Type::BaseModel
2562
+ attr_accessor id: String
2563
+
2564
+ attr_reader access_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule?
2565
+
2566
+ def access_schedule=: (
2567
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule
2568
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule
2569
+
2570
+ attr_accessor applicable_product_ids: ::Array[String]?
2571
+
2572
+ attr_accessor applicable_product_tags: ::Array[String]?
2573
+
2574
+ attr_reader description: String?
2575
+
2576
+ def description=: (String) -> String
2577
+
2578
+ attr_reader hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration?
2579
+
2580
+ def hierarchy_configuration=: (
2581
+ MetronomeSDK::CommitHierarchyConfiguration
2582
+ ) -> MetronomeSDK::CommitHierarchyConfiguration
2583
+
2584
+ attr_reader name: String?
2585
+
2586
+ def name=: (String) -> String
2587
+
2588
+ attr_accessor netsuite_sales_order_id: String?
2589
+
2590
+ attr_accessor priority: Float?
2591
+
2592
+ attr_reader product_id: String?
2593
+
2594
+ def product_id=: (String) -> String
2595
+
2596
+ attr_reader rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::rate_type?
2597
+
2598
+ def rate_type=: (
2599
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::rate_type
2600
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::rate_type
2601
+
2602
+ attr_accessor rollover_fraction: Float?
2603
+
2604
+ attr_accessor specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]?
2605
+
2606
+ def initialize: (
2607
+ id: String,
2608
+ ?access_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule,
2609
+ ?applicable_product_ids: ::Array[String]?,
2610
+ ?applicable_product_tags: ::Array[String]?,
2611
+ ?description: String,
2612
+ ?hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
2613
+ ?name: String,
2614
+ ?netsuite_sales_order_id: String?,
2615
+ ?priority: Float?,
2616
+ ?product_id: String,
2617
+ ?rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::rate_type,
2618
+ ?rollover_fraction: Float?,
2619
+ ?specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]?
2620
+ ) -> void
2621
+
2622
+ def to_hash: -> {
2623
+ id: String,
2624
+ access_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule,
2625
+ applicable_product_ids: ::Array[String]?,
2626
+ applicable_product_tags: ::Array[String]?,
2627
+ description: String,
2628
+ hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
2629
+ name: String,
2630
+ netsuite_sales_order_id: String?,
2631
+ priority: Float?,
2632
+ product_id: String,
2633
+ rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::rate_type,
2634
+ rollover_fraction: Float?,
2635
+ specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]?
2636
+ }
2637
+
2638
+ type access_schedule =
2639
+ {
2640
+ add_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule::AddScheduleItem],
2641
+ remove_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule::RemoveScheduleItem],
2642
+ update_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule::UpdateScheduleItem]
2643
+ }
2644
+
2645
+ class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
2646
+ attr_reader add_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule::AddScheduleItem]?
2647
+
2648
+ def add_schedule_items=: (
2649
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule::AddScheduleItem]
2650
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule::AddScheduleItem]
2651
+
2652
+ attr_reader remove_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule::RemoveScheduleItem]?
2653
+
2654
+ def remove_schedule_items=: (
2655
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule::RemoveScheduleItem]
2656
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule::RemoveScheduleItem]
2657
+
2658
+ attr_reader update_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule::UpdateScheduleItem]?
2659
+
2660
+ def update_schedule_items=: (
2661
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule::UpdateScheduleItem]
2662
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule::UpdateScheduleItem]
2663
+
2664
+ def initialize: (
2665
+ ?add_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule::AddScheduleItem],
2666
+ ?remove_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule::RemoveScheduleItem],
2667
+ ?update_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule::UpdateScheduleItem]
2668
+ ) -> void
2669
+
2670
+ def to_hash: -> {
2671
+ add_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule::AddScheduleItem],
2672
+ remove_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule::RemoveScheduleItem],
2673
+ update_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule::UpdateScheduleItem]
2674
+ }
2675
+
2676
+ type add_schedule_item =
2677
+ { amount: Float, ending_before: Time, starting_at: Time }
2678
+
2679
+ class AddScheduleItem < MetronomeSDK::Internal::Type::BaseModel
2680
+ attr_accessor amount: Float
2681
+
2682
+ attr_accessor ending_before: Time
2683
+
2684
+ attr_accessor starting_at: Time
2685
+
2686
+ def initialize: (
2687
+ amount: Float,
2688
+ ending_before: Time,
2689
+ starting_at: Time
2690
+ ) -> void
2691
+
2692
+ def to_hash: -> {
2693
+ amount: Float,
2694
+ ending_before: Time,
2695
+ starting_at: Time
2696
+ }
2697
+ end
2698
+
2699
+ type remove_schedule_item = { id: String }
2700
+
2701
+ class RemoveScheduleItem < MetronomeSDK::Internal::Type::BaseModel
2702
+ attr_accessor id: String
2703
+
2704
+ def initialize: (id: String) -> void
2705
+
2706
+ def to_hash: -> { id: String }
2707
+ end
2708
+
2709
+ type update_schedule_item =
2710
+ {
2711
+ id: String,
2712
+ amount: Float,
2713
+ ending_before: Time,
2714
+ starting_at: Time
2715
+ }
2716
+
2717
+ class UpdateScheduleItem < MetronomeSDK::Internal::Type::BaseModel
2718
+ attr_accessor id: String
2719
+
2720
+ attr_reader amount: Float?
2721
+
2722
+ def amount=: (Float) -> Float
2723
+
2724
+ attr_reader ending_before: Time?
2725
+
2726
+ def ending_before=: (Time) -> Time
2727
+
2728
+ attr_reader starting_at: Time?
2729
+
2730
+ def starting_at=: (Time) -> Time
2731
+
2732
+ def initialize: (
2733
+ id: String,
2734
+ ?amount: Float,
2735
+ ?ending_before: Time,
2736
+ ?starting_at: Time
2737
+ ) -> void
2738
+
2739
+ def to_hash: -> {
2740
+ id: String,
2741
+ amount: Float,
2742
+ ending_before: Time,
2743
+ starting_at: Time
2744
+ }
2745
+ end
2746
+ end
2747
+
2748
+ type rate_type = :LIST_RATE | :COMMIT_RATE
2749
+
2750
+ module RateType
2751
+ extend MetronomeSDK::Internal::Type::Enum
2752
+
2753
+ LIST_RATE: :LIST_RATE
2754
+ COMMIT_RATE: :COMMIT_RATE
2755
+
2756
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::rate_type]
2757
+ end
2758
+ end
2759
+
2760
+ type update_discount =
2761
+ {
2762
+ id: String,
2763
+ custom_fields: ::Hash[Symbol, String],
2764
+ name: String,
2765
+ netsuite_sales_order_id: String,
2766
+ schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule
2767
+ }
2768
+
2769
+ class UpdateDiscount < MetronomeSDK::Internal::Type::BaseModel
2770
+ attr_accessor id: String
2771
+
2772
+ attr_reader custom_fields: ::Hash[Symbol, String]?
2773
+
2774
+ def custom_fields=: (
2775
+ ::Hash[Symbol, String]
2776
+ ) -> ::Hash[Symbol, String]
2777
+
2778
+ attr_reader name: String?
2779
+
2780
+ def name=: (String) -> String
2781
+
2782
+ attr_reader netsuite_sales_order_id: String?
2783
+
2784
+ def netsuite_sales_order_id=: (String) -> String
2785
+
2786
+ attr_reader schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule?
2787
+
2788
+ def schedule=: (
2789
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule
2790
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule
2791
+
2792
+ def initialize: (
2793
+ id: String,
2794
+ ?custom_fields: ::Hash[Symbol, String],
2795
+ ?name: String,
2796
+ ?netsuite_sales_order_id: String,
2797
+ ?schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule
2798
+ ) -> void
2799
+
2800
+ def to_hash: -> {
2801
+ id: String,
2802
+ custom_fields: ::Hash[Symbol, String],
2803
+ name: String,
2804
+ netsuite_sales_order_id: String,
2805
+ schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule
2806
+ }
2807
+
2808
+ type schedule =
2809
+ {
2810
+ credit_type_id: String,
2811
+ do_not_invoice: bool,
2812
+ recurring_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::RecurringSchedule,
2813
+ schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::ScheduleItem]
2814
+ }
2815
+
2816
+ class Schedule < MetronomeSDK::Internal::Type::BaseModel
2817
+ attr_reader credit_type_id: String?
2818
+
2819
+ def credit_type_id=: (String) -> String
2820
+
2821
+ attr_reader do_not_invoice: bool?
2822
+
2823
+ def do_not_invoice=: (bool) -> bool
2824
+
2825
+ attr_reader recurring_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::RecurringSchedule?
2826
+
2827
+ def recurring_schedule=: (
2828
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::RecurringSchedule
2829
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::RecurringSchedule
2830
+
2831
+ attr_reader schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::ScheduleItem]?
2832
+
2833
+ def schedule_items=: (
2834
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::ScheduleItem]
2835
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::ScheduleItem]
2836
+
2837
+ def initialize: (
2838
+ ?credit_type_id: String,
2839
+ ?do_not_invoice: bool,
2840
+ ?recurring_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::RecurringSchedule,
2841
+ ?schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::ScheduleItem]
2842
+ ) -> void
2843
+
2844
+ def to_hash: -> {
2845
+ credit_type_id: String,
2846
+ do_not_invoice: bool,
2847
+ recurring_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::RecurringSchedule,
2848
+ schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::ScheduleItem]
2849
+ }
2850
+
2851
+ type recurring_schedule =
2852
+ {
2853
+ amount_distribution: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::RecurringSchedule::amount_distribution,
2854
+ ending_before: Time,
2855
+ frequency: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::RecurringSchedule::frequency,
2856
+ starting_at: Time,
2857
+ amount: Float,
2858
+ quantity: Float,
2859
+ unit_price: Float
2860
+ }
2861
+
2862
+ class RecurringSchedule < MetronomeSDK::Internal::Type::BaseModel
2863
+ attr_accessor amount_distribution: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::RecurringSchedule::amount_distribution
2864
+
2865
+ attr_accessor ending_before: Time
2866
+
2867
+ attr_accessor frequency: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::RecurringSchedule::frequency
2868
+
2869
+ attr_accessor starting_at: Time
2870
+
2871
+ attr_reader amount: Float?
2872
+
2873
+ def amount=: (Float) -> Float
2874
+
2875
+ attr_reader quantity: Float?
2876
+
2877
+ def quantity=: (Float) -> Float
2878
+
2879
+ attr_reader unit_price: Float?
2880
+
2881
+ def unit_price=: (Float) -> Float
2882
+
2883
+ def initialize: (
2884
+ amount_distribution: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::RecurringSchedule::amount_distribution,
2885
+ ending_before: Time,
2886
+ frequency: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::RecurringSchedule::frequency,
2887
+ starting_at: Time,
2888
+ ?amount: Float,
2889
+ ?quantity: Float,
2890
+ ?unit_price: Float
2891
+ ) -> void
2892
+
2893
+ def to_hash: -> {
2894
+ amount_distribution: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::RecurringSchedule::amount_distribution,
2895
+ ending_before: Time,
2896
+ frequency: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::RecurringSchedule::frequency,
2897
+ starting_at: Time,
2898
+ amount: Float,
2899
+ quantity: Float,
2900
+ unit_price: Float
2901
+ }
2902
+
2903
+ type amount_distribution = :DIVIDED | :DIVIDED_ROUNDED | :EACH
2904
+
2905
+ module AmountDistribution
2906
+ extend MetronomeSDK::Internal::Type::Enum
2907
+
2908
+ DIVIDED: :DIVIDED
2909
+ DIVIDED_ROUNDED: :DIVIDED_ROUNDED
2910
+ EACH: :EACH
2911
+
2912
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::RecurringSchedule::amount_distribution]
2913
+ end
2914
+
2915
+ type frequency =
2916
+ :MONTHLY | :QUARTERLY | :SEMI_ANNUAL | :ANNUAL | :WEEKLY
2917
+
2918
+ module Frequency
2919
+ extend MetronomeSDK::Internal::Type::Enum
2920
+
2921
+ MONTHLY: :MONTHLY
2922
+ QUARTERLY: :QUARTERLY
2923
+ SEMI_ANNUAL: :SEMI_ANNUAL
2924
+ ANNUAL: :ANNUAL
2925
+ WEEKLY: :WEEKLY
2926
+
2927
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::RecurringSchedule::frequency]
2928
+ end
2929
+ end
2930
+
2931
+ type schedule_item =
2932
+ {
2933
+ timestamp: Time,
2934
+ amount: Float,
2935
+ quantity: Float,
2936
+ unit_price: Float
2937
+ }
2938
+
2939
+ class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
2940
+ attr_accessor timestamp: Time
2941
+
2942
+ attr_reader amount: Float?
2943
+
2944
+ def amount=: (Float) -> Float
2945
+
2946
+ attr_reader quantity: Float?
2947
+
2948
+ def quantity=: (Float) -> Float
2949
+
2950
+ attr_reader unit_price: Float?
2951
+
2952
+ def unit_price=: (Float) -> Float
2953
+
2954
+ def initialize: (
2955
+ timestamp: Time,
2956
+ ?amount: Float,
2957
+ ?quantity: Float,
2958
+ ?unit_price: Float
2959
+ ) -> void
2960
+
2961
+ def to_hash: -> {
2962
+ timestamp: Time,
2963
+ amount: Float,
2964
+ quantity: Float,
2965
+ unit_price: Float
2966
+ }
2967
+ end
2968
+ end
2969
+ end
2970
+
2971
+ type update_prepaid_balance_threshold_configuration =
2972
+ {
2973
+ commit: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::Commit,
2974
+ custom_credit_type_id: String?,
2975
+ discount_configuration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::DiscountConfiguration?,
2976
+ is_enabled: bool,
2977
+ payment_gate_config: MetronomeSDK::PaymentGateConfigV2,
2978
+ recharge_to_amount: Float,
2979
+ threshold_amount: Float,
2980
+ threshold_balance_specifiers: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier]?
2981
+ }
2982
+
2983
+ class UpdatePrepaidBalanceThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
2984
+ attr_reader commit: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::Commit?
2985
+
2986
+ def commit=: (
2987
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::Commit
2988
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::Commit
2989
+
2990
+ attr_accessor custom_credit_type_id: String?
2991
+
2992
+ attr_accessor discount_configuration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::DiscountConfiguration?
2993
+
2994
+ attr_reader is_enabled: bool?
2995
+
2996
+ def is_enabled=: (bool) -> bool
2997
+
2998
+ attr_reader payment_gate_config: MetronomeSDK::PaymentGateConfigV2?
2999
+
3000
+ def payment_gate_config=: (
3001
+ MetronomeSDK::PaymentGateConfigV2
3002
+ ) -> MetronomeSDK::PaymentGateConfigV2
3003
+
3004
+ attr_reader recharge_to_amount: Float?
3005
+
3006
+ def recharge_to_amount=: (Float) -> Float
3007
+
3008
+ attr_reader threshold_amount: Float?
3009
+
3010
+ def threshold_amount=: (Float) -> Float
3011
+
3012
+ attr_accessor threshold_balance_specifiers: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier]?
3013
+
3014
+ def initialize: (
3015
+ ?commit: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::Commit,
3016
+ ?custom_credit_type_id: String?,
3017
+ ?discount_configuration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::DiscountConfiguration?,
3018
+ ?is_enabled: bool,
3019
+ ?payment_gate_config: MetronomeSDK::PaymentGateConfigV2,
3020
+ ?recharge_to_amount: Float,
3021
+ ?threshold_amount: Float,
3022
+ ?threshold_balance_specifiers: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier]?
3023
+ ) -> void
3024
+
3025
+ def to_hash: -> {
3026
+ commit: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::Commit,
3027
+ custom_credit_type_id: String?,
3028
+ discount_configuration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::DiscountConfiguration?,
3029
+ is_enabled: bool,
3030
+ payment_gate_config: MetronomeSDK::PaymentGateConfigV2,
3031
+ recharge_to_amount: Float,
3032
+ threshold_amount: Float,
3033
+ threshold_balance_specifiers: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier]?
3034
+ }
3035
+
3036
+ type commit =
3037
+ {
3038
+ applicable_product_ids: ::Array[String]?,
3039
+ applicable_product_tags: ::Array[String]?,
3040
+ specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]?
3041
+ }
3042
+
3043
+ class Commit < MetronomeSDK::Models::UpdateBaseThresholdCommit
3044
+ def applicable_product_ids: -> ::Array[String]?
3045
+
3046
+ def applicable_product_ids=: (
3047
+ ::Array[String]? _
3048
+ ) -> ::Array[String]?
3049
+
3050
+ def applicable_product_tags: -> ::Array[String]?
3051
+
3052
+ def applicable_product_tags=: (
3053
+ ::Array[String]? _
3054
+ ) -> ::Array[String]?
3055
+
3056
+ def specifiers: -> ::Array[MetronomeSDK::CommitSpecifierInput]?
3057
+
3058
+ def specifiers=: (
3059
+ ::Array[MetronomeSDK::CommitSpecifierInput]? _
3060
+ ) -> ::Array[MetronomeSDK::CommitSpecifierInput]?
3061
+
3062
+ def initialize: (
3063
+ ?applicable_product_ids: ::Array[String]?,
3064
+ ?applicable_product_tags: ::Array[String]?,
3065
+ ?specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]?
3066
+ ) -> void
3067
+
3068
+ def to_hash: -> {
3069
+ applicable_product_ids: ::Array[String]?,
3070
+ applicable_product_tags: ::Array[String]?,
3071
+ specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]?
3072
+ }
3073
+ end
3074
+
3075
+ type discount_configuration =
3076
+ {
3077
+ cap: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::DiscountConfiguration::Cap?,
3078
+ payment_fraction: Float?
3079
+ }
3080
+
3081
+ class DiscountConfiguration < MetronomeSDK::Internal::Type::BaseModel
3082
+ attr_accessor cap: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::DiscountConfiguration::Cap?
3083
+
3084
+ attr_accessor payment_fraction: Float?
3085
+
3086
+ def initialize: (
3087
+ ?cap: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::DiscountConfiguration::Cap?,
3088
+ ?payment_fraction: Float?
3089
+ ) -> void
3090
+
3091
+ def to_hash: -> {
3092
+ cap: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::DiscountConfiguration::Cap?,
3093
+ payment_fraction: Float?
3094
+ }
3095
+
3096
+ type cap = { amount: Float, spend_tracker_alias: String }
3097
+
3098
+ class Cap < MetronomeSDK::Internal::Type::BaseModel
3099
+ attr_accessor amount: Float
3100
+
3101
+ attr_accessor spend_tracker_alias: String
3102
+
3103
+ def initialize: (
3104
+ amount: Float,
3105
+ spend_tracker_alias: String
3106
+ ) -> void
3107
+
3108
+ def to_hash: -> { amount: Float, spend_tracker_alias: String }
3109
+ end
3110
+ end
3111
+
3112
+ type threshold_balance_specifier =
3113
+ {
3114
+ exclude: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude]
3115
+ }
3116
+
3117
+ class ThresholdBalanceSpecifier < MetronomeSDK::Internal::Type::BaseModel
3118
+ attr_accessor exclude: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude]
3119
+
3120
+ def initialize: (
3121
+ exclude: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude]
3122
+ ) -> void
3123
+
3124
+ def to_hash: -> {
3125
+ exclude: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude]
3126
+ }
3127
+
3128
+ type exclude =
3129
+ {
3130
+ custom_field_filters: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter]
3131
+ }
3132
+
3133
+ class Exclude < MetronomeSDK::Internal::Type::BaseModel
3134
+ attr_accessor custom_field_filters: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter]
3135
+
3136
+ def initialize: (
3137
+ custom_field_filters: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter]
3138
+ ) -> void
3139
+
3140
+ def to_hash: -> {
3141
+ custom_field_filters: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter]
3142
+ }
3143
+
3144
+ type custom_field_filter =
3145
+ {
3146
+ entity: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::entity,
3147
+ key: String,
3148
+ value: String
3149
+ }
3150
+
3151
+ class CustomFieldFilter < MetronomeSDK::Internal::Type::BaseModel
3152
+ attr_accessor entity: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::entity
3153
+
3154
+ attr_accessor key: String
3155
+
3156
+ attr_accessor value: String
3157
+
3158
+ def initialize: (
3159
+ entity: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::entity,
3160
+ key: String,
3161
+ value: String
3162
+ ) -> void
3163
+
3164
+ def to_hash: -> {
3165
+ entity: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::entity,
3166
+ key: String,
3167
+ value: String
3168
+ }
3169
+
3170
+ type entity =
3171
+ :Commit | :ContractCredit | :ContractCreditOrCommit
3172
+
3173
+ module Entity
3174
+ extend MetronomeSDK::Internal::Type::Enum
3175
+
3176
+ COMMIT: :Commit
3177
+ CONTRACT_CREDIT: :ContractCredit
3178
+ CONTRACT_CREDIT_OR_COMMIT: :ContractCreditOrCommit
3179
+
3180
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::entity]
3181
+ end
3182
+ end
3183
+ end
3184
+ end
3185
+ end
3186
+
3187
+ type update_recurring_commit =
3188
+ {
3189
+ id: String,
3190
+ access_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::AccessAmount,
3191
+ ending_before: Time,
3192
+ invoice_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::InvoiceAmount,
3193
+ rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::rate_type
3194
+ }
3195
+
3196
+ class UpdateRecurringCommit < MetronomeSDK::Internal::Type::BaseModel
3197
+ attr_accessor id: String
3198
+
3199
+ attr_reader access_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::AccessAmount?
3200
+
3201
+ def access_amount=: (
3202
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::AccessAmount
3203
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::AccessAmount
3204
+
3205
+ attr_reader ending_before: Time?
3206
+
3207
+ def ending_before=: (Time) -> Time
3208
+
3209
+ attr_reader invoice_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::InvoiceAmount?
3210
+
3211
+ def invoice_amount=: (
3212
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::InvoiceAmount
3213
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::InvoiceAmount
3214
+
3215
+ attr_reader rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::rate_type?
3216
+
3217
+ def rate_type=: (
3218
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::rate_type
3219
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::rate_type
3220
+
3221
+ def initialize: (
3222
+ id: String,
3223
+ ?access_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::AccessAmount,
3224
+ ?ending_before: Time,
3225
+ ?invoice_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::InvoiceAmount,
3226
+ ?rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::rate_type
3227
+ ) -> void
3228
+
3229
+ def to_hash: -> {
3230
+ id: String,
3231
+ access_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::AccessAmount,
3232
+ ending_before: Time,
3233
+ invoice_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::InvoiceAmount,
3234
+ rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::rate_type
3235
+ }
3236
+
3237
+ type access_amount = { quantity: Float, unit_price: Float }
3238
+
3239
+ class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
3240
+ attr_reader quantity: Float?
3241
+
3242
+ def quantity=: (Float) -> Float
3243
+
3244
+ attr_reader unit_price: Float?
3245
+
3246
+ def unit_price=: (Float) -> Float
3247
+
3248
+ def initialize: (?quantity: Float, ?unit_price: Float) -> void
3249
+
3250
+ def to_hash: -> { quantity: Float, unit_price: Float }
3251
+ end
3252
+
3253
+ type invoice_amount = { quantity: Float, unit_price: Float }
3254
+
3255
+ class InvoiceAmount < MetronomeSDK::Internal::Type::BaseModel
3256
+ attr_reader quantity: Float?
3257
+
3258
+ def quantity=: (Float) -> Float
3259
+
3260
+ attr_reader unit_price: Float?
3261
+
3262
+ def unit_price=: (Float) -> Float
3263
+
3264
+ def initialize: (?quantity: Float, ?unit_price: Float) -> void
3265
+
3266
+ def to_hash: -> { quantity: Float, unit_price: Float }
3267
+ end
3268
+
3269
+ type rate_type = :LIST_RATE | :COMMIT_RATE
3270
+
3271
+ module RateType
3272
+ extend MetronomeSDK::Internal::Type::Enum
3273
+
3274
+ LIST_RATE: :LIST_RATE
3275
+ COMMIT_RATE: :COMMIT_RATE
3276
+
3277
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::rate_type]
3278
+ end
3279
+ end
3280
+
3281
+ type update_recurring_credit =
3282
+ {
3283
+ id: String,
3284
+ access_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::AccessAmount,
3285
+ ending_before: Time,
3286
+ rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::rate_type
3287
+ }
3288
+
3289
+ class UpdateRecurringCredit < MetronomeSDK::Internal::Type::BaseModel
3290
+ attr_accessor id: String
3291
+
3292
+ attr_reader access_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::AccessAmount?
3293
+
3294
+ def access_amount=: (
3295
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::AccessAmount
3296
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::AccessAmount
3297
+
3298
+ attr_reader ending_before: Time?
3299
+
3300
+ def ending_before=: (Time) -> Time
3301
+
3302
+ attr_reader rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::rate_type?
3303
+
3304
+ def rate_type=: (
3305
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::rate_type
3306
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::rate_type
3307
+
3308
+ def initialize: (
3309
+ id: String,
3310
+ ?access_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::AccessAmount,
3311
+ ?ending_before: Time,
3312
+ ?rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::rate_type
3313
+ ) -> void
3314
+
3315
+ def to_hash: -> {
3316
+ id: String,
3317
+ access_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::AccessAmount,
3318
+ ending_before: Time,
3319
+ rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::rate_type
3320
+ }
3321
+
3322
+ type access_amount = { quantity: Float, unit_price: Float }
3323
+
3324
+ class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
3325
+ attr_reader quantity: Float?
3326
+
3327
+ def quantity=: (Float) -> Float
3328
+
3329
+ attr_reader unit_price: Float?
3330
+
3331
+ def unit_price=: (Float) -> Float
3332
+
3333
+ def initialize: (?quantity: Float, ?unit_price: Float) -> void
3334
+
3335
+ def to_hash: -> { quantity: Float, unit_price: Float }
3336
+ end
3337
+
3338
+ type rate_type = :LIST_RATE | :COMMIT_RATE
3339
+
3340
+ module RateType
3341
+ extend MetronomeSDK::Internal::Type::Enum
3342
+
3343
+ LIST_RATE: :LIST_RATE
3344
+ COMMIT_RATE: :COMMIT_RATE
3345
+
3346
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::rate_type]
3347
+ end
3348
+ end
3349
+
3350
+ type update_refund_invoice = { date: Time, invoice_id: String }
3351
+
3352
+ class UpdateRefundInvoice < MetronomeSDK::Internal::Type::BaseModel
3353
+ attr_accessor date: Time
3354
+
3355
+ attr_accessor invoice_id: String
3356
+
3357
+ def initialize: (date: Time, invoice_id: String) -> void
3358
+
3359
+ def to_hash: -> { date: Time, invoice_id: String }
3360
+ end
3361
+
3362
+ type update_scheduled_charge =
3363
+ {
3364
+ id: String,
3365
+ invoice_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule,
3366
+ name: String,
3367
+ netsuite_sales_order_id: String?
3368
+ }
3369
+
3370
+ class UpdateScheduledCharge < MetronomeSDK::Internal::Type::BaseModel
3371
+ attr_accessor id: String
3372
+
3373
+ attr_reader invoice_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule?
3374
+
3375
+ def invoice_schedule=: (
3376
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule
3377
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule
3378
+
3379
+ attr_reader name: String?
3380
+
3381
+ def name=: (String) -> String
3382
+
3383
+ attr_accessor netsuite_sales_order_id: String?
3384
+
3385
+ def initialize: (
3386
+ id: String,
3387
+ ?invoice_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule,
3388
+ ?name: String,
3389
+ ?netsuite_sales_order_id: String?
3390
+ ) -> void
3391
+
3392
+ def to_hash: -> {
3393
+ id: String,
3394
+ invoice_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule,
3395
+ name: String,
3396
+ netsuite_sales_order_id: String?
3397
+ }
3398
+
3399
+ type invoice_schedule =
3400
+ {
3401
+ add_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule::AddScheduleItem],
3402
+ remove_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule::RemoveScheduleItem],
3403
+ update_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule::UpdateScheduleItem]
3404
+ }
3405
+
3406
+ class InvoiceSchedule < MetronomeSDK::Internal::Type::BaseModel
3407
+ attr_reader add_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule::AddScheduleItem]?
3408
+
3409
+ def add_schedule_items=: (
3410
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule::AddScheduleItem]
3411
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule::AddScheduleItem]
3412
+
3413
+ attr_reader remove_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule::RemoveScheduleItem]?
3414
+
3415
+ def remove_schedule_items=: (
3416
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule::RemoveScheduleItem]
3417
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule::RemoveScheduleItem]
3418
+
3419
+ attr_reader update_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule::UpdateScheduleItem]?
3420
+
3421
+ def update_schedule_items=: (
3422
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule::UpdateScheduleItem]
3423
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule::UpdateScheduleItem]
3424
+
3425
+ def initialize: (
3426
+ ?add_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule::AddScheduleItem],
3427
+ ?remove_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule::RemoveScheduleItem],
3428
+ ?update_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule::UpdateScheduleItem]
3429
+ ) -> void
3430
+
3431
+ def to_hash: -> {
3432
+ add_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule::AddScheduleItem],
3433
+ remove_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule::RemoveScheduleItem],
3434
+ update_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule::UpdateScheduleItem]
3435
+ }
3436
+
3437
+ type add_schedule_item =
3438
+ {
3439
+ timestamp: Time,
3440
+ amount: Float,
3441
+ quantity: Float,
3442
+ unit_price: Float
3443
+ }
3444
+
3445
+ class AddScheduleItem < MetronomeSDK::Internal::Type::BaseModel
3446
+ attr_accessor timestamp: Time
3447
+
3448
+ attr_reader amount: Float?
3449
+
3450
+ def amount=: (Float) -> Float
3451
+
3452
+ attr_reader quantity: Float?
3453
+
3454
+ def quantity=: (Float) -> Float
3455
+
3456
+ attr_reader unit_price: Float?
3457
+
3458
+ def unit_price=: (Float) -> Float
3459
+
3460
+ def initialize: (
3461
+ timestamp: Time,
3462
+ ?amount: Float,
3463
+ ?quantity: Float,
3464
+ ?unit_price: Float
3465
+ ) -> void
3466
+
3467
+ def to_hash: -> {
3468
+ timestamp: Time,
3469
+ amount: Float,
3470
+ quantity: Float,
3471
+ unit_price: Float
3472
+ }
3473
+ end
3474
+
3475
+ type remove_schedule_item = { id: String }
3476
+
3477
+ class RemoveScheduleItem < MetronomeSDK::Internal::Type::BaseModel
3478
+ attr_accessor id: String
3479
+
3480
+ def initialize: (id: String) -> void
3481
+
3482
+ def to_hash: -> { id: String }
3483
+ end
3484
+
3485
+ type update_schedule_item =
3486
+ {
3487
+ id: String,
3488
+ amount: Float,
3489
+ quantity: Float,
3490
+ timestamp: Time,
3491
+ unit_price: Float
3492
+ }
3493
+
3494
+ class UpdateScheduleItem < MetronomeSDK::Internal::Type::BaseModel
3495
+ attr_accessor id: String
3496
+
3497
+ attr_reader amount: Float?
3498
+
3499
+ def amount=: (Float) -> Float
3500
+
3501
+ attr_reader quantity: Float?
3502
+
3503
+ def quantity=: (Float) -> Float
3504
+
3505
+ attr_reader timestamp: Time?
3506
+
3507
+ def timestamp=: (Time) -> Time
3508
+
3509
+ attr_reader unit_price: Float?
3510
+
3511
+ def unit_price=: (Float) -> Float
3512
+
3513
+ def initialize: (
3514
+ id: String,
3515
+ ?amount: Float,
3516
+ ?quantity: Float,
3517
+ ?timestamp: Time,
3518
+ ?unit_price: Float
3519
+ ) -> void
3520
+
3521
+ def to_hash: -> {
3522
+ id: String,
3523
+ amount: Float,
3524
+ quantity: Float,
3525
+ timestamp: Time,
3526
+ unit_price: Float
3527
+ }
3528
+ end
3529
+ end
3530
+ end
3531
+
3532
+ type update_spend_threshold_configuration =
3533
+ {
3534
+ commit: MetronomeSDK::UpdateBaseThresholdCommit,
3535
+ discount_configuration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSpendThresholdConfiguration::DiscountConfiguration?,
3536
+ is_enabled: bool,
3537
+ payment_gate_config: MetronomeSDK::PaymentGateConfigV2,
3538
+ threshold_amount: Float
3539
+ }
3540
+
3541
+ class UpdateSpendThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
3542
+ attr_reader commit: MetronomeSDK::UpdateBaseThresholdCommit?
3543
+
3544
+ def commit=: (
3545
+ MetronomeSDK::UpdateBaseThresholdCommit
3546
+ ) -> MetronomeSDK::UpdateBaseThresholdCommit
3547
+
3548
+ attr_accessor discount_configuration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSpendThresholdConfiguration::DiscountConfiguration?
3549
+
3550
+ attr_reader is_enabled: bool?
3551
+
3552
+ def is_enabled=: (bool) -> bool
3553
+
3554
+ attr_reader payment_gate_config: MetronomeSDK::PaymentGateConfigV2?
3555
+
3556
+ def payment_gate_config=: (
3557
+ MetronomeSDK::PaymentGateConfigV2
3558
+ ) -> MetronomeSDK::PaymentGateConfigV2
3559
+
3560
+ attr_reader threshold_amount: Float?
3561
+
3562
+ def threshold_amount=: (Float) -> Float
3563
+
3564
+ def initialize: (
3565
+ ?commit: MetronomeSDK::UpdateBaseThresholdCommit,
3566
+ ?discount_configuration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSpendThresholdConfiguration::DiscountConfiguration?,
3567
+ ?is_enabled: bool,
3568
+ ?payment_gate_config: MetronomeSDK::PaymentGateConfigV2,
3569
+ ?threshold_amount: Float
3570
+ ) -> void
3571
+
3572
+ def to_hash: -> {
3573
+ commit: MetronomeSDK::UpdateBaseThresholdCommit,
3574
+ discount_configuration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSpendThresholdConfiguration::DiscountConfiguration?,
3575
+ is_enabled: bool,
3576
+ payment_gate_config: MetronomeSDK::PaymentGateConfigV2,
3577
+ threshold_amount: Float
3578
+ }
3579
+
3580
+ type discount_configuration =
3581
+ {
3582
+ cap: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSpendThresholdConfiguration::DiscountConfiguration::Cap?,
3583
+ payment_fraction: Float?
3584
+ }
3585
+
3586
+ class DiscountConfiguration < MetronomeSDK::Internal::Type::BaseModel
3587
+ attr_accessor cap: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSpendThresholdConfiguration::DiscountConfiguration::Cap?
3588
+
3589
+ attr_accessor payment_fraction: Float?
3590
+
3591
+ def initialize: (
3592
+ ?cap: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSpendThresholdConfiguration::DiscountConfiguration::Cap?,
3593
+ ?payment_fraction: Float?
3594
+ ) -> void
3595
+
3596
+ def to_hash: -> {
3597
+ cap: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSpendThresholdConfiguration::DiscountConfiguration::Cap?,
3598
+ payment_fraction: Float?
3599
+ }
3600
+
3601
+ type cap = { amount: Float, spend_tracker_alias: String }
3602
+
3603
+ class Cap < MetronomeSDK::Internal::Type::BaseModel
3604
+ attr_accessor amount: Float
3605
+
3606
+ attr_accessor spend_tracker_alias: String
3607
+
3608
+ def initialize: (
3609
+ amount: Float,
3610
+ spend_tracker_alias: String
3611
+ ) -> void
3612
+
3613
+ def to_hash: -> { amount: Float, spend_tracker_alias: String }
3614
+ end
3615
+ end
3616
+ end
3617
+
3618
+ type update_subscription =
3619
+ {
3620
+ id: String,
3621
+ ending_before: Time,
3622
+ quantity_updates: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::QuantityUpdate],
3623
+ seat_updates: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates
3624
+ }
3625
+
3626
+ class UpdateSubscription < MetronomeSDK::Internal::Type::BaseModel
3627
+ attr_accessor id: String
3628
+
3629
+ attr_reader ending_before: Time?
3630
+
3631
+ def ending_before=: (Time) -> Time
3632
+
3633
+ attr_reader quantity_updates: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::QuantityUpdate]?
3634
+
3635
+ def quantity_updates=: (
3636
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::QuantityUpdate]
3637
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::QuantityUpdate]
3638
+
3639
+ attr_reader seat_updates: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates?
3640
+
3641
+ def seat_updates=: (
3642
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates
3643
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates
3644
+
3645
+ def initialize: (
3646
+ id: String,
3647
+ ?ending_before: Time,
3648
+ ?quantity_updates: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::QuantityUpdate],
3649
+ ?seat_updates: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates
3650
+ ) -> void
3651
+
3652
+ def to_hash: -> {
3653
+ id: String,
3654
+ ending_before: Time,
3655
+ quantity_updates: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::QuantityUpdate],
3656
+ seat_updates: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates
3657
+ }
3658
+
3659
+ type quantity_update =
3660
+ { starting_at: Time, quantity: Float, quantity_delta: Float }
3661
+
3662
+ class QuantityUpdate < MetronomeSDK::Internal::Type::BaseModel
3663
+ attr_accessor starting_at: Time
3664
+
3665
+ attr_reader quantity: Float?
3666
+
3667
+ def quantity=: (Float) -> Float
3668
+
3669
+ attr_reader quantity_delta: Float?
3670
+
3671
+ def quantity_delta=: (Float) -> Float
3672
+
3673
+ def initialize: (
3674
+ starting_at: Time,
3675
+ ?quantity: Float,
3676
+ ?quantity_delta: Float
3677
+ ) -> void
3678
+
3679
+ def to_hash: -> {
3680
+ starting_at: Time,
3681
+ quantity: Float,
3682
+ quantity_delta: Float
3683
+ }
3684
+ end
3685
+
3686
+ type seat_updates =
3687
+ {
3688
+ add_seat_ids: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::AddSeatID],
3689
+ add_unassigned_seats: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::AddUnassignedSeat],
3690
+ remove_seat_ids: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::RemoveSeatID],
3691
+ remove_unassigned_seats: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::RemoveUnassignedSeat]
3692
+ }
3693
+
3694
+ class SeatUpdates < MetronomeSDK::Internal::Type::BaseModel
3695
+ attr_reader add_seat_ids: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::AddSeatID]?
3696
+
3697
+ def add_seat_ids=: (
3698
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::AddSeatID]
3699
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::AddSeatID]
3700
+
3701
+ attr_reader add_unassigned_seats: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::AddUnassignedSeat]?
3702
+
3703
+ def add_unassigned_seats=: (
3704
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::AddUnassignedSeat]
3705
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::AddUnassignedSeat]
3706
+
3707
+ attr_reader remove_seat_ids: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::RemoveSeatID]?
3708
+
3709
+ def remove_seat_ids=: (
3710
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::RemoveSeatID]
3711
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::RemoveSeatID]
3712
+
3713
+ attr_reader remove_unassigned_seats: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::RemoveUnassignedSeat]?
3714
+
3715
+ def remove_unassigned_seats=: (
3716
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::RemoveUnassignedSeat]
3717
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::RemoveUnassignedSeat]
3718
+
3719
+ def initialize: (
3720
+ ?add_seat_ids: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::AddSeatID],
3721
+ ?add_unassigned_seats: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::AddUnassignedSeat],
3722
+ ?remove_seat_ids: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::RemoveSeatID],
3723
+ ?remove_unassigned_seats: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::RemoveUnassignedSeat]
3724
+ ) -> void
3725
+
3726
+ def to_hash: -> {
3727
+ add_seat_ids: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::AddSeatID],
3728
+ add_unassigned_seats: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::AddUnassignedSeat],
3729
+ remove_seat_ids: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::RemoveSeatID],
3730
+ remove_unassigned_seats: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::RemoveUnassignedSeat]
3731
+ }
3732
+
3733
+ type add_seat_id =
3734
+ { seat_ids: ::Array[String], starting_at: Time }
3735
+
3736
+ class AddSeatID < MetronomeSDK::Internal::Type::BaseModel
3737
+ attr_accessor seat_ids: ::Array[String]
3738
+
3739
+ attr_accessor starting_at: Time
3740
+
3741
+ def initialize: (
3742
+ seat_ids: ::Array[String],
3743
+ starting_at: Time
3744
+ ) -> void
3745
+
3746
+ def to_hash: -> {
3747
+ seat_ids: ::Array[String],
3748
+ starting_at: Time
3749
+ }
3750
+ end
3751
+
3752
+ type add_unassigned_seat =
3753
+ { quantity: Float, starting_at: Time }
3754
+
3755
+ class AddUnassignedSeat < MetronomeSDK::Internal::Type::BaseModel
3756
+ attr_accessor quantity: Float
3757
+
3758
+ attr_accessor starting_at: Time
3759
+
3760
+ def initialize: (quantity: Float, starting_at: Time) -> void
3761
+
3762
+ def to_hash: -> { quantity: Float, starting_at: Time }
3763
+ end
3764
+
3765
+ type remove_seat_id =
3766
+ { seat_ids: ::Array[String], starting_at: Time }
3767
+
3768
+ class RemoveSeatID < MetronomeSDK::Internal::Type::BaseModel
3769
+ attr_accessor seat_ids: ::Array[String]
3770
+
3771
+ attr_accessor starting_at: Time
3772
+
3773
+ def initialize: (
3774
+ seat_ids: ::Array[String],
3775
+ starting_at: Time
3776
+ ) -> void
3777
+
3778
+ def to_hash: -> {
3779
+ seat_ids: ::Array[String],
3780
+ starting_at: Time
3781
+ }
3782
+ end
3783
+
3784
+ type remove_unassigned_seat =
3785
+ { quantity: Float, starting_at: Time }
3786
+
3787
+ class RemoveUnassignedSeat < MetronomeSDK::Internal::Type::BaseModel
3788
+ attr_accessor quantity: Float
3789
+
3790
+ attr_accessor starting_at: Time
3791
+
3792
+ def initialize: (quantity: Float, starting_at: Time) -> void
3793
+
3794
+ def to_hash: -> { quantity: Float, starting_at: Time }
3795
+ end
3796
+ end
3797
+ end
3798
+ end
3799
+ end
12
3800
  end
13
3801
  end
14
3802
  end