metronome-sdk 3.6.0 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +54 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/internal/transport/base_client.rb +4 -1
  5. data/lib/metronome_sdk/internal/type/enum.rb +0 -25
  6. data/lib/metronome_sdk/models/commit.rb +36 -1
  7. data/lib/metronome_sdk/models/contract.rb +140 -1
  8. data/lib/metronome_sdk/models/contract_v2.rb +457 -8
  9. data/lib/metronome_sdk/models/contract_without_amendments.rb +320 -5
  10. data/lib/metronome_sdk/models/credit.rb +10 -1
  11. data/lib/metronome_sdk/models/override.rb +7 -1
  12. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +113 -2
  13. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +105 -2
  14. data/lib/metronome_sdk/models/spend_threshold_configuration.rb +33 -1
  15. data/lib/metronome_sdk/models/spend_threshold_configuration_v2.rb +33 -1
  16. data/lib/metronome_sdk/models/subscription.rb +90 -2
  17. data/lib/metronome_sdk/models/v1/alert_create_params.rb +127 -1
  18. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +46 -5
  19. data/lib/metronome_sdk/models/v1/contract_create_params.rb +436 -12
  20. data/lib/metronome_sdk/models/v1/contract_create_response.rb +1308 -3
  21. data/lib/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rb +88 -0
  22. data/lib/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rb +62 -0
  23. data/lib/metronome_sdk/models/v1/contract_list_seat_balances_params.rb +10 -1
  24. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +127 -1
  25. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +130 -3
  26. data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +10 -1
  27. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +2 -0
  28. data/lib/metronome_sdk/models/v1/package_create_params.rb +394 -11
  29. data/lib/metronome_sdk/models/v1/package_list_response.rb +374 -8
  30. data/lib/metronome_sdk/models/v1/package_retrieve_response.rb +378 -8
  31. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +817 -13
  32. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +4310 -3
  33. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +600 -10
  34. data/lib/metronome_sdk/resources/v1/alerts.rb +3 -1
  35. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +4 -0
  36. data/lib/metronome_sdk/resources/v1/contracts.rb +71 -2
  37. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +4 -2
  38. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +3 -1
  39. data/lib/metronome_sdk/resources/v1/dashboards.rb +7 -2
  40. data/lib/metronome_sdk/resources/v1/packages.rb +6 -5
  41. data/lib/metronome_sdk/resources/v1.rb +0 -4
  42. data/lib/metronome_sdk/resources/v2/contracts.rb +5 -1
  43. data/lib/metronome_sdk/version.rb +1 -1
  44. data/lib/metronome_sdk.rb +2 -8
  45. data/rbi/metronome_sdk/models/commit.rbi +61 -0
  46. data/rbi/metronome_sdk/models/contract.rbi +354 -0
  47. data/rbi/metronome_sdk/models/contract_v2.rbi +1132 -11
  48. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +831 -0
  49. data/rbi/metronome_sdk/models/credit.rbi +13 -0
  50. data/rbi/metronome_sdk/models/override.rbi +9 -0
  51. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +299 -6
  52. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +287 -6
  53. data/rbi/metronome_sdk/models/spend_threshold_configuration.rbi +78 -3
  54. data/rbi/metronome_sdk/models/spend_threshold_configuration_v2.rbi +78 -3
  55. data/rbi/metronome_sdk/models/subscription.rbi +212 -3
  56. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +373 -0
  57. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +81 -6
  58. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1095 -17
  59. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +2911 -4
  60. data/rbi/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rbi +112 -0
  61. data/rbi/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rbi +119 -0
  62. data/rbi/metronome_sdk/models/v1/contract_list_seat_balances_params.rbi +13 -0
  63. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +360 -0
  64. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +379 -2
  65. data/rbi/metronome_sdk/models/v1/customers/invoice_list_params.rbi +13 -0
  66. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +10 -0
  67. data/rbi/metronome_sdk/models/v1/package_create_params.rbi +1049 -42
  68. data/rbi/metronome_sdk/models/v1/package_list_response.rbi +1051 -54
  69. data/rbi/metronome_sdk/models/v1/package_retrieve_response.rbi +1051 -54
  70. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +2130 -114
  71. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +9749 -4
  72. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1567 -82
  73. data/rbi/metronome_sdk/resources/v1/alerts.rbi +8 -0
  74. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +4 -0
  75. data/rbi/metronome_sdk/resources/v1/contracts.rbi +77 -0
  76. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +8 -1
  77. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +4 -0
  78. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +7 -2
  79. data/rbi/metronome_sdk/resources/v1/packages.rbi +8 -4
  80. data/rbi/metronome_sdk/resources/v1.rbi +0 -3
  81. data/rbi/metronome_sdk/resources/v2/contracts.rbi +10 -0
  82. data/sig/metronome_sdk/models/commit.rbs +26 -0
  83. data/sig/metronome_sdk/models/contract.rbs +151 -0
  84. data/sig/metronome_sdk/models/contract_v2.rbs +448 -5
  85. data/sig/metronome_sdk/models/contract_without_amendments.rbs +320 -2
  86. data/sig/metronome_sdk/models/credit.rbs +7 -0
  87. data/sig/metronome_sdk/models/override.rbs +7 -0
  88. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration.rbs +116 -6
  89. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbs +116 -6
  90. data/sig/metronome_sdk/models/spend_threshold_configuration.rbs +31 -3
  91. data/sig/metronome_sdk/models/spend_threshold_configuration_v2.rbs +31 -3
  92. data/sig/metronome_sdk/models/subscription.rbs +88 -3
  93. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +144 -0
  94. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +26 -0
  95. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +412 -5
  96. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +1210 -4
  97. data/sig/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rbs +63 -0
  98. data/sig/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rbs +59 -0
  99. data/sig/metronome_sdk/models/v1/contract_list_seat_balances_params.rbs +7 -0
  100. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +141 -0
  101. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +150 -0
  102. data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +8 -1
  103. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +4 -0
  104. data/sig/metronome_sdk/models/v1/package_create_params.rbs +386 -5
  105. data/sig/metronome_sdk/models/v1/package_list_response.rbs +380 -5
  106. data/sig/metronome_sdk/models/v1/package_retrieve_response.rbs +378 -5
  107. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +751 -14
  108. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +4215 -4
  109. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +569 -14
  110. data/sig/metronome_sdk/resources/v1/alerts.rbs +1 -0
  111. data/sig/metronome_sdk/resources/v1/contracts.rbs +14 -0
  112. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +1 -0
  113. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -0
  114. data/sig/metronome_sdk/resources/v1/packages.rbs +1 -0
  115. data/sig/metronome_sdk/resources/v1.rbs +0 -2
  116. data/sig/metronome_sdk/resources/v2/contracts.rbs +2 -0
  117. metadata +8 -26
  118. data/lib/metronome_sdk/models/v1/payment.rb +0 -196
  119. data/lib/metronome_sdk/models/v1/payment_attempt_params.rb +0 -28
  120. data/lib/metronome_sdk/models/v1/payment_attempt_response.rb +0 -18
  121. data/lib/metronome_sdk/models/v1/payment_cancel_params.rb +0 -28
  122. data/lib/metronome_sdk/models/v1/payment_cancel_response.rb +0 -18
  123. data/lib/metronome_sdk/models/v1/payment_list_params.rb +0 -53
  124. data/lib/metronome_sdk/models/v1/payment_status.rb +0 -19
  125. data/lib/metronome_sdk/resources/v1/payments.rb +0 -102
  126. data/rbi/metronome_sdk/models/v1/payment.rbi +0 -403
  127. data/rbi/metronome_sdk/models/v1/payment_attempt_params.rbi +0 -48
  128. data/rbi/metronome_sdk/models/v1/payment_attempt_response.rbi +0 -35
  129. data/rbi/metronome_sdk/models/v1/payment_cancel_params.rbi +0 -48
  130. data/rbi/metronome_sdk/models/v1/payment_cancel_response.rbi +0 -35
  131. data/rbi/metronome_sdk/models/v1/payment_list_params.rbi +0 -91
  132. data/rbi/metronome_sdk/models/v1/payment_status.rbi +0 -33
  133. data/rbi/metronome_sdk/resources/v1/payments.rbi +0 -72
  134. data/sig/metronome_sdk/models/v1/payment.rbs +0 -243
  135. data/sig/metronome_sdk/models/v1/payment_attempt_params.rbs +0 -30
  136. data/sig/metronome_sdk/models/v1/payment_attempt_response.rbs +0 -15
  137. data/sig/metronome_sdk/models/v1/payment_cancel_params.rbs +0 -30
  138. data/sig/metronome_sdk/models/v1/payment_cancel_response.rbs +0 -15
  139. data/sig/metronome_sdk/models/v1/payment_list_params.rbs +0 -56
  140. data/sig/metronome_sdk/models/v1/payment_status.rbs +0 -19
  141. data/sig/metronome_sdk/resources/v1/payments.rbs +0 -30
@@ -1,14 +1,4225 @@
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
+ any_commit_or_credit_ids: ::Array[String],
852
+ billing_frequency: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::OverrideSpecifier::billing_frequency,
853
+ commit_ids: ::Array[String],
854
+ presentation_group_values: ::Hash[Symbol, String?],
855
+ pricing_group_values: ::Hash[Symbol, String],
856
+ product_id: String,
857
+ product_tags: ::Array[String],
858
+ recurring_commit_ids: ::Array[String]
859
+ }
860
+
861
+ class OverrideSpecifier < MetronomeSDK::Internal::Type::BaseModel
862
+ attr_reader any_commit_or_credit_ids: ::Array[String]?
863
+
864
+ def any_commit_or_credit_ids=: (
865
+ ::Array[String]
866
+ ) -> ::Array[String]
867
+
868
+ attr_reader billing_frequency: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::OverrideSpecifier::billing_frequency?
869
+
870
+ def billing_frequency=: (
871
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::OverrideSpecifier::billing_frequency
872
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::OverrideSpecifier::billing_frequency
873
+
874
+ attr_reader commit_ids: ::Array[String]?
875
+
876
+ def commit_ids=: (::Array[String]) -> ::Array[String]
877
+
878
+ attr_reader presentation_group_values: ::Hash[Symbol, String?]?
879
+
880
+ def presentation_group_values=: (
881
+ ::Hash[Symbol, String?]
882
+ ) -> ::Hash[Symbol, String?]
883
+
884
+ attr_reader pricing_group_values: ::Hash[Symbol, String]?
885
+
886
+ def pricing_group_values=: (
887
+ ::Hash[Symbol, String]
888
+ ) -> ::Hash[Symbol, String]
889
+
890
+ attr_reader product_id: String?
891
+
892
+ def product_id=: (String) -> String
893
+
894
+ attr_reader product_tags: ::Array[String]?
895
+
896
+ def product_tags=: (::Array[String]) -> ::Array[String]
897
+
898
+ attr_reader recurring_commit_ids: ::Array[String]?
899
+
900
+ def recurring_commit_ids=: (::Array[String]) -> ::Array[String]
901
+
902
+ def initialize: (
903
+ ?any_commit_or_credit_ids: ::Array[String],
904
+ ?billing_frequency: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::OverrideSpecifier::billing_frequency,
905
+ ?commit_ids: ::Array[String],
906
+ ?presentation_group_values: ::Hash[Symbol, String?],
907
+ ?pricing_group_values: ::Hash[Symbol, String],
908
+ ?product_id: String,
909
+ ?product_tags: ::Array[String],
910
+ ?recurring_commit_ids: ::Array[String]
911
+ ) -> void
912
+
913
+ def to_hash: -> {
914
+ any_commit_or_credit_ids: ::Array[String],
915
+ billing_frequency: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::OverrideSpecifier::billing_frequency,
916
+ commit_ids: ::Array[String],
917
+ presentation_group_values: ::Hash[Symbol, String?],
918
+ pricing_group_values: ::Hash[Symbol, String],
919
+ product_id: String,
920
+ product_tags: ::Array[String],
921
+ recurring_commit_ids: ::Array[String]
922
+ }
923
+
924
+ type billing_frequency =
925
+ :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
926
+
927
+ module BillingFrequency
928
+ extend MetronomeSDK::Internal::Type::Enum
929
+
930
+ MONTHLY: :MONTHLY
931
+ QUARTERLY: :QUARTERLY
932
+ ANNUAL: :ANNUAL
933
+ WEEKLY: :WEEKLY
934
+
935
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::OverrideSpecifier::billing_frequency]
936
+ end
937
+ end
938
+
939
+ type overwrite_rate =
940
+ {
941
+ rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::OverwriteRate::rate_type,
942
+ credit_type: MetronomeSDK::CreditTypeData,
943
+ custom_rate: ::Hash[Symbol, top],
944
+ is_prorated: bool,
945
+ price: Float,
946
+ quantity: Float,
947
+ tiers: ::Array[MetronomeSDK::Tier]
948
+ }
949
+
950
+ class OverwriteRate < MetronomeSDK::Internal::Type::BaseModel
951
+ attr_accessor rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::OverwriteRate::rate_type
952
+
953
+ attr_reader credit_type: MetronomeSDK::CreditTypeData?
954
+
955
+ def credit_type=: (
956
+ MetronomeSDK::CreditTypeData
957
+ ) -> MetronomeSDK::CreditTypeData
958
+
959
+ attr_reader custom_rate: ::Hash[Symbol, top]?
960
+
961
+ def custom_rate=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top]
962
+
963
+ attr_reader is_prorated: bool?
964
+
965
+ def is_prorated=: (bool) -> bool
966
+
967
+ attr_reader price: Float?
968
+
969
+ def price=: (Float) -> Float
970
+
971
+ attr_reader quantity: Float?
972
+
973
+ def quantity=: (Float) -> Float
974
+
975
+ attr_reader tiers: ::Array[MetronomeSDK::Tier]?
976
+
977
+ def tiers=: (
978
+ ::Array[MetronomeSDK::Tier]
979
+ ) -> ::Array[MetronomeSDK::Tier]
980
+
981
+ def initialize: (
982
+ rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::OverwriteRate::rate_type,
983
+ ?credit_type: MetronomeSDK::CreditTypeData,
984
+ ?custom_rate: ::Hash[Symbol, top],
985
+ ?is_prorated: bool,
986
+ ?price: Float,
987
+ ?quantity: Float,
988
+ ?tiers: ::Array[MetronomeSDK::Tier]
989
+ ) -> void
990
+
991
+ def to_hash: -> {
992
+ rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::OverwriteRate::rate_type,
993
+ credit_type: MetronomeSDK::CreditTypeData,
994
+ custom_rate: ::Hash[Symbol, top],
995
+ is_prorated: bool,
996
+ price: Float,
997
+ quantity: Float,
998
+ tiers: ::Array[MetronomeSDK::Tier]
999
+ }
1000
+
1001
+ type rate_type =
1002
+ :FLAT
1003
+ | :PERCENTAGE
1004
+ | :SUBSCRIPTION
1005
+ | :TIERED
1006
+ | :TIERED_PERCENTAGE
1007
+ | :CUSTOM
1008
+
1009
+ module RateType
1010
+ extend MetronomeSDK::Internal::Type::Enum
1011
+
1012
+ FLAT: :FLAT
1013
+ PERCENTAGE: :PERCENTAGE
1014
+ SUBSCRIPTION: :SUBSCRIPTION
1015
+ TIERED: :TIERED
1016
+ TIERED_PERCENTAGE: :TIERED_PERCENTAGE
1017
+ CUSTOM: :CUSTOM
1018
+
1019
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::OverwriteRate::rate_type]
1020
+ end
1021
+ end
1022
+
1023
+ type product = { id: String, name: String }
1024
+
1025
+ class Product < MetronomeSDK::Internal::Type::BaseModel
1026
+ attr_accessor id: String
1027
+
1028
+ attr_accessor name: String
1029
+
1030
+ def initialize: (id: String, name: String) -> void
1031
+
1032
+ def to_hash: -> { id: String, name: String }
1033
+ end
1034
+
1035
+ type target = :COMMIT_RATE | :LIST_RATE
1036
+
1037
+ module Target
1038
+ extend MetronomeSDK::Internal::Type::Enum
1039
+
1040
+ COMMIT_RATE: :COMMIT_RATE
1041
+ LIST_RATE: :LIST_RATE
1042
+
1043
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::target]
1044
+ end
1045
+
1046
+ type type_ = :OVERWRITE | :MULTIPLIER | :TIERED
1047
+
1048
+ module Type
1049
+ extend MetronomeSDK::Internal::Type::Enum
1050
+
1051
+ OVERWRITE: :OVERWRITE
1052
+ MULTIPLIER: :MULTIPLIER
1053
+ TIERED: :TIERED
1054
+
1055
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::type_]
1056
+ end
1057
+ end
1058
+
1059
+ type add_recurring_commit =
1060
+ {
1061
+ id: String,
1062
+ access_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::AccessAmount,
1063
+ commit_duration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::CommitDuration,
1064
+ priority: Float,
1065
+ product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::Product,
1066
+ rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::rate_type,
1067
+ starting_at: Time,
1068
+ applicable_product_ids: ::Array[String],
1069
+ applicable_product_tags: ::Array[String],
1070
+ contract: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::Contract,
1071
+ description: String,
1072
+ ending_before: Time,
1073
+ hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
1074
+ invoice_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::InvoiceAmount,
1075
+ name: String,
1076
+ netsuite_sales_order_id: String,
1077
+ proration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::proration,
1078
+ proration_rounding: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding?,
1079
+ recurrence_frequency: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::recurrence_frequency,
1080
+ rollover_fraction: Float,
1081
+ specifiers: ::Array[MetronomeSDK::CommitSpecifier],
1082
+ subscription_config: MetronomeSDK::RecurringCommitSubscriptionConfig
1083
+ }
1084
+
1085
+ class AddRecurringCommit < MetronomeSDK::Internal::Type::BaseModel
1086
+ attr_accessor id: String
1087
+
1088
+ attr_accessor access_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::AccessAmount
1089
+
1090
+ attr_accessor commit_duration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::CommitDuration
1091
+
1092
+ attr_accessor priority: Float
1093
+
1094
+ attr_accessor product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::Product
1095
+
1096
+ attr_accessor rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::rate_type
1097
+
1098
+ attr_accessor starting_at: Time
1099
+
1100
+ attr_reader applicable_product_ids: ::Array[String]?
1101
+
1102
+ def applicable_product_ids=: (::Array[String]) -> ::Array[String]
1103
+
1104
+ attr_reader applicable_product_tags: ::Array[String]?
1105
+
1106
+ def applicable_product_tags=: (::Array[String]) -> ::Array[String]
1107
+
1108
+ attr_reader contract: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::Contract?
1109
+
1110
+ def contract=: (
1111
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::Contract
1112
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::Contract
1113
+
1114
+ attr_reader description: String?
1115
+
1116
+ def description=: (String) -> String
1117
+
1118
+ attr_reader ending_before: Time?
1119
+
1120
+ def ending_before=: (Time) -> Time
1121
+
1122
+ attr_reader hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration?
1123
+
1124
+ def hierarchy_configuration=: (
1125
+ MetronomeSDK::CommitHierarchyConfiguration
1126
+ ) -> MetronomeSDK::CommitHierarchyConfiguration
1127
+
1128
+ attr_reader invoice_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::InvoiceAmount?
1129
+
1130
+ def invoice_amount=: (
1131
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::InvoiceAmount
1132
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::InvoiceAmount
1133
+
1134
+ attr_reader name: String?
1135
+
1136
+ def name=: (String) -> String
1137
+
1138
+ attr_reader netsuite_sales_order_id: String?
1139
+
1140
+ def netsuite_sales_order_id=: (String) -> String
1141
+
1142
+ attr_reader proration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::proration?
1143
+
1144
+ def proration=: (
1145
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::proration
1146
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::proration
1147
+
1148
+ attr_accessor proration_rounding: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding?
1149
+
1150
+ attr_reader recurrence_frequency: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::recurrence_frequency?
1151
+
1152
+ def recurrence_frequency=: (
1153
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::recurrence_frequency
1154
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::recurrence_frequency
1155
+
1156
+ attr_reader rollover_fraction: Float?
1157
+
1158
+ def rollover_fraction=: (Float) -> Float
1159
+
1160
+ attr_reader specifiers: ::Array[MetronomeSDK::CommitSpecifier]?
1161
+
1162
+ def specifiers=: (
1163
+ ::Array[MetronomeSDK::CommitSpecifier]
1164
+ ) -> ::Array[MetronomeSDK::CommitSpecifier]
1165
+
1166
+ attr_reader subscription_config: MetronomeSDK::RecurringCommitSubscriptionConfig?
1167
+
1168
+ def subscription_config=: (
1169
+ MetronomeSDK::RecurringCommitSubscriptionConfig
1170
+ ) -> MetronomeSDK::RecurringCommitSubscriptionConfig
1171
+
1172
+ def initialize: (
1173
+ id: String,
1174
+ access_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::AccessAmount,
1175
+ commit_duration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::CommitDuration,
1176
+ priority: Float,
1177
+ product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::Product,
1178
+ rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::rate_type,
1179
+ starting_at: Time,
1180
+ ?applicable_product_ids: ::Array[String],
1181
+ ?applicable_product_tags: ::Array[String],
1182
+ ?contract: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::Contract,
1183
+ ?description: String,
1184
+ ?ending_before: Time,
1185
+ ?hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
1186
+ ?invoice_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::InvoiceAmount,
1187
+ ?name: String,
1188
+ ?netsuite_sales_order_id: String,
1189
+ ?proration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::proration,
1190
+ ?proration_rounding: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding?,
1191
+ ?recurrence_frequency: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::recurrence_frequency,
1192
+ ?rollover_fraction: Float,
1193
+ ?specifiers: ::Array[MetronomeSDK::CommitSpecifier],
1194
+ ?subscription_config: MetronomeSDK::RecurringCommitSubscriptionConfig
1195
+ ) -> void
1196
+
1197
+ def to_hash: -> {
1198
+ id: String,
1199
+ access_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::AccessAmount,
1200
+ commit_duration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::CommitDuration,
1201
+ priority: Float,
1202
+ product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::Product,
1203
+ rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::rate_type,
1204
+ starting_at: Time,
1205
+ applicable_product_ids: ::Array[String],
1206
+ applicable_product_tags: ::Array[String],
1207
+ contract: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::Contract,
1208
+ description: String,
1209
+ ending_before: Time,
1210
+ hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
1211
+ invoice_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::InvoiceAmount,
1212
+ name: String,
1213
+ netsuite_sales_order_id: String,
1214
+ proration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::proration,
1215
+ proration_rounding: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding?,
1216
+ recurrence_frequency: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::recurrence_frequency,
1217
+ rollover_fraction: Float,
1218
+ specifiers: ::Array[MetronomeSDK::CommitSpecifier],
1219
+ subscription_config: MetronomeSDK::RecurringCommitSubscriptionConfig
1220
+ }
1221
+
1222
+ type access_amount =
1223
+ { credit_type_id: String, unit_price: Float, quantity: Float }
1224
+
1225
+ class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
1226
+ attr_accessor credit_type_id: String
1227
+
1228
+ attr_accessor unit_price: Float
1229
+
1230
+ attr_reader quantity: Float?
1231
+
1232
+ def quantity=: (Float) -> Float
1233
+
1234
+ def initialize: (
1235
+ credit_type_id: String,
1236
+ unit_price: Float,
1237
+ ?quantity: Float
1238
+ ) -> void
1239
+
1240
+ def to_hash: -> {
1241
+ credit_type_id: String,
1242
+ unit_price: Float,
1243
+ quantity: Float
1244
+ }
1245
+ end
1246
+
1247
+ type commit_duration =
1248
+ {
1249
+ value: Float,
1250
+ unit: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::CommitDuration::unit
1251
+ }
1252
+
1253
+ class CommitDuration < MetronomeSDK::Internal::Type::BaseModel
1254
+ attr_accessor value: Float
1255
+
1256
+ attr_reader unit: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::CommitDuration::unit?
1257
+
1258
+ def unit=: (
1259
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::CommitDuration::unit
1260
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::CommitDuration::unit
1261
+
1262
+ def initialize: (
1263
+ value: Float,
1264
+ ?unit: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::CommitDuration::unit
1265
+ ) -> void
1266
+
1267
+ def to_hash: -> {
1268
+ value: Float,
1269
+ unit: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::CommitDuration::unit
1270
+ }
1271
+
1272
+ type unit = :PERIODS
1273
+
1274
+ module Unit
1275
+ extend MetronomeSDK::Internal::Type::Enum
1276
+
1277
+ PERIODS: :PERIODS
1278
+
1279
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::CommitDuration::unit]
1280
+ end
1281
+ end
1282
+
1283
+ type product = { id: String, name: String }
1284
+
1285
+ class Product < MetronomeSDK::Internal::Type::BaseModel
1286
+ attr_accessor id: String
1287
+
1288
+ attr_accessor name: String
1289
+
1290
+ def initialize: (id: String, name: String) -> void
1291
+
1292
+ def to_hash: -> { id: String, name: String }
1293
+ end
1294
+
1295
+ type rate_type = :COMMIT_RATE | :LIST_RATE
1296
+
1297
+ module RateType
1298
+ extend MetronomeSDK::Internal::Type::Enum
1299
+
1300
+ COMMIT_RATE: :COMMIT_RATE
1301
+ LIST_RATE: :LIST_RATE
1302
+
1303
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::rate_type]
1304
+ end
1305
+
1306
+ type contract = { id: String }
1307
+
1308
+ class Contract < MetronomeSDK::Internal::Type::BaseModel
1309
+ attr_accessor id: String
1310
+
1311
+ def initialize: (id: String) -> void
1312
+
1313
+ def to_hash: -> { id: String }
1314
+ end
1315
+
1316
+ type invoice_amount =
1317
+ { credit_type_id: String, quantity: Float, unit_price: Float }
1318
+
1319
+ class InvoiceAmount < MetronomeSDK::Internal::Type::BaseModel
1320
+ attr_accessor credit_type_id: String
1321
+
1322
+ attr_accessor quantity: Float
1323
+
1324
+ attr_accessor unit_price: Float
1325
+
1326
+ def initialize: (
1327
+ credit_type_id: String,
1328
+ quantity: Float,
1329
+ unit_price: Float
1330
+ ) -> void
1331
+
1332
+ def to_hash: -> {
1333
+ credit_type_id: String,
1334
+ quantity: Float,
1335
+ unit_price: Float
1336
+ }
1337
+ end
1338
+
1339
+ type proration = :NONE | :FIRST | :LAST | :FIRST_AND_LAST
1340
+
1341
+ module Proration
1342
+ extend MetronomeSDK::Internal::Type::Enum
1343
+
1344
+ NONE: :NONE
1345
+ FIRST: :FIRST
1346
+ LAST: :LAST
1347
+ FIRST_AND_LAST: :FIRST_AND_LAST
1348
+
1349
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::proration]
1350
+ end
1351
+
1352
+ type proration_rounding =
1353
+ {
1354
+ access: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Access,
1355
+ invoice: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Invoice
1356
+ }
1357
+
1358
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
1359
+ attr_reader access: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Access?
1360
+
1361
+ def access=: (
1362
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Access
1363
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Access
1364
+
1365
+ attr_reader invoice: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Invoice?
1366
+
1367
+ def invoice=: (
1368
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Invoice
1369
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Invoice
1370
+
1371
+ def initialize: (
1372
+ ?access: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Access,
1373
+ ?invoice: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Invoice
1374
+ ) -> void
1375
+
1376
+ def to_hash: -> {
1377
+ access: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Access,
1378
+ invoice: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Invoice
1379
+ }
1380
+
1381
+ type access =
1382
+ {
1383
+ decimal_places: Float,
1384
+ rounding_method: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Access::rounding_method
1385
+ }
1386
+
1387
+ class Access < MetronomeSDK::Internal::Type::BaseModel
1388
+ attr_accessor decimal_places: Float
1389
+
1390
+ attr_accessor rounding_method: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Access::rounding_method
1391
+
1392
+ def initialize: (
1393
+ decimal_places: Float,
1394
+ rounding_method: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Access::rounding_method
1395
+ ) -> void
1396
+
1397
+ def to_hash: -> {
1398
+ decimal_places: Float,
1399
+ rounding_method: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Access::rounding_method
1400
+ }
1401
+
1402
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
1403
+
1404
+ module RoundingMethod
1405
+ extend MetronomeSDK::Internal::Type::Enum
1406
+
1407
+ HALF_UP: :HALF_UP
1408
+ FLOOR: :FLOOR
1409
+ CEILING: :CEILING
1410
+
1411
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Access::rounding_method]
1412
+ end
1413
+ end
1414
+
1415
+ type invoice =
1416
+ {
1417
+ decimal_places: Float,
1418
+ rounding_method: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Invoice::rounding_method
1419
+ }
1420
+
1421
+ class Invoice < MetronomeSDK::Internal::Type::BaseModel
1422
+ attr_accessor decimal_places: Float
1423
+
1424
+ attr_accessor rounding_method: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Invoice::rounding_method
1425
+
1426
+ def initialize: (
1427
+ decimal_places: Float,
1428
+ rounding_method: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Invoice::rounding_method
1429
+ ) -> void
1430
+
1431
+ def to_hash: -> {
1432
+ decimal_places: Float,
1433
+ rounding_method: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Invoice::rounding_method
1434
+ }
1435
+
1436
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
1437
+
1438
+ module RoundingMethod
1439
+ extend MetronomeSDK::Internal::Type::Enum
1440
+
1441
+ HALF_UP: :HALF_UP
1442
+ FLOOR: :FLOOR
1443
+ CEILING: :CEILING
1444
+
1445
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Invoice::rounding_method]
1446
+ end
1447
+ end
1448
+ end
1449
+
1450
+ type recurrence_frequency =
1451
+ :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY | :DAILY
1452
+
1453
+ module RecurrenceFrequency
1454
+ extend MetronomeSDK::Internal::Type::Enum
1455
+
1456
+ MONTHLY: :MONTHLY
1457
+ QUARTERLY: :QUARTERLY
1458
+ ANNUAL: :ANNUAL
1459
+ WEEKLY: :WEEKLY
1460
+ DAILY: :DAILY
1461
+
1462
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::recurrence_frequency]
1463
+ end
1464
+ end
1465
+
1466
+ type add_recurring_credit =
1467
+ {
1468
+ id: String,
1469
+ access_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::AccessAmount,
1470
+ commit_duration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::CommitDuration,
1471
+ priority: Float,
1472
+ product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::Product,
1473
+ rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::rate_type,
1474
+ starting_at: Time,
1475
+ applicable_product_ids: ::Array[String],
1476
+ applicable_product_tags: ::Array[String],
1477
+ contract: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::Contract,
1478
+ description: String,
1479
+ ending_before: Time,
1480
+ hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
1481
+ name: String,
1482
+ netsuite_sales_order_id: String,
1483
+ proration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::proration,
1484
+ proration_rounding: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::ProrationRounding?,
1485
+ recurrence_frequency: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::recurrence_frequency,
1486
+ rollover_fraction: Float,
1487
+ specifiers: ::Array[MetronomeSDK::CommitSpecifier],
1488
+ subscription_config: MetronomeSDK::RecurringCommitSubscriptionConfig
1489
+ }
1490
+
1491
+ class AddRecurringCredit < MetronomeSDK::Internal::Type::BaseModel
1492
+ attr_accessor id: String
1493
+
1494
+ attr_accessor access_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::AccessAmount
1495
+
1496
+ attr_accessor commit_duration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::CommitDuration
1497
+
1498
+ attr_accessor priority: Float
1499
+
1500
+ attr_accessor product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::Product
1501
+
1502
+ attr_accessor rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::rate_type
1503
+
1504
+ attr_accessor starting_at: Time
1505
+
1506
+ attr_reader applicable_product_ids: ::Array[String]?
1507
+
1508
+ def applicable_product_ids=: (::Array[String]) -> ::Array[String]
1509
+
1510
+ attr_reader applicable_product_tags: ::Array[String]?
1511
+
1512
+ def applicable_product_tags=: (::Array[String]) -> ::Array[String]
1513
+
1514
+ attr_reader contract: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::Contract?
1515
+
1516
+ def contract=: (
1517
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::Contract
1518
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::Contract
1519
+
1520
+ attr_reader description: String?
1521
+
1522
+ def description=: (String) -> String
1523
+
1524
+ attr_reader ending_before: Time?
1525
+
1526
+ def ending_before=: (Time) -> Time
1527
+
1528
+ attr_reader hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration?
1529
+
1530
+ def hierarchy_configuration=: (
1531
+ MetronomeSDK::CommitHierarchyConfiguration
1532
+ ) -> MetronomeSDK::CommitHierarchyConfiguration
1533
+
1534
+ attr_reader name: String?
1535
+
1536
+ def name=: (String) -> String
1537
+
1538
+ attr_reader netsuite_sales_order_id: String?
1539
+
1540
+ def netsuite_sales_order_id=: (String) -> String
1541
+
1542
+ attr_reader proration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::proration?
1543
+
1544
+ def proration=: (
1545
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::proration
1546
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::proration
1547
+
1548
+ attr_accessor proration_rounding: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::ProrationRounding?
1549
+
1550
+ attr_reader recurrence_frequency: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::recurrence_frequency?
1551
+
1552
+ def recurrence_frequency=: (
1553
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::recurrence_frequency
1554
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::recurrence_frequency
1555
+
1556
+ attr_reader rollover_fraction: Float?
1557
+
1558
+ def rollover_fraction=: (Float) -> Float
1559
+
1560
+ attr_reader specifiers: ::Array[MetronomeSDK::CommitSpecifier]?
1561
+
1562
+ def specifiers=: (
1563
+ ::Array[MetronomeSDK::CommitSpecifier]
1564
+ ) -> ::Array[MetronomeSDK::CommitSpecifier]
1565
+
1566
+ attr_reader subscription_config: MetronomeSDK::RecurringCommitSubscriptionConfig?
1567
+
1568
+ def subscription_config=: (
1569
+ MetronomeSDK::RecurringCommitSubscriptionConfig
1570
+ ) -> MetronomeSDK::RecurringCommitSubscriptionConfig
1571
+
1572
+ def initialize: (
1573
+ id: String,
1574
+ access_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::AccessAmount,
1575
+ commit_duration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::CommitDuration,
1576
+ priority: Float,
1577
+ product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::Product,
1578
+ rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::rate_type,
1579
+ starting_at: Time,
1580
+ ?applicable_product_ids: ::Array[String],
1581
+ ?applicable_product_tags: ::Array[String],
1582
+ ?contract: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::Contract,
1583
+ ?description: String,
1584
+ ?ending_before: Time,
1585
+ ?hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
1586
+ ?name: String,
1587
+ ?netsuite_sales_order_id: String,
1588
+ ?proration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::proration,
1589
+ ?proration_rounding: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::ProrationRounding?,
1590
+ ?recurrence_frequency: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::recurrence_frequency,
1591
+ ?rollover_fraction: Float,
1592
+ ?specifiers: ::Array[MetronomeSDK::CommitSpecifier],
1593
+ ?subscription_config: MetronomeSDK::RecurringCommitSubscriptionConfig
1594
+ ) -> void
1595
+
1596
+ def to_hash: -> {
1597
+ id: String,
1598
+ access_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::AccessAmount,
1599
+ commit_duration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::CommitDuration,
1600
+ priority: Float,
1601
+ product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::Product,
1602
+ rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::rate_type,
1603
+ starting_at: Time,
1604
+ applicable_product_ids: ::Array[String],
1605
+ applicable_product_tags: ::Array[String],
1606
+ contract: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::Contract,
1607
+ description: String,
1608
+ ending_before: Time,
1609
+ hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
1610
+ name: String,
1611
+ netsuite_sales_order_id: String,
1612
+ proration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::proration,
1613
+ proration_rounding: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::ProrationRounding?,
1614
+ recurrence_frequency: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::recurrence_frequency,
1615
+ rollover_fraction: Float,
1616
+ specifiers: ::Array[MetronomeSDK::CommitSpecifier],
1617
+ subscription_config: MetronomeSDK::RecurringCommitSubscriptionConfig
1618
+ }
1619
+
1620
+ type access_amount =
1621
+ { credit_type_id: String, unit_price: Float, quantity: Float }
1622
+
1623
+ class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
1624
+ attr_accessor credit_type_id: String
1625
+
1626
+ attr_accessor unit_price: Float
1627
+
1628
+ attr_reader quantity: Float?
1629
+
1630
+ def quantity=: (Float) -> Float
1631
+
1632
+ def initialize: (
1633
+ credit_type_id: String,
1634
+ unit_price: Float,
1635
+ ?quantity: Float
1636
+ ) -> void
1637
+
1638
+ def to_hash: -> {
1639
+ credit_type_id: String,
1640
+ unit_price: Float,
1641
+ quantity: Float
1642
+ }
1643
+ end
1644
+
1645
+ type commit_duration =
1646
+ {
1647
+ value: Float,
1648
+ unit: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::CommitDuration::unit
1649
+ }
1650
+
1651
+ class CommitDuration < MetronomeSDK::Internal::Type::BaseModel
1652
+ attr_accessor value: Float
1653
+
1654
+ attr_reader unit: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::CommitDuration::unit?
1655
+
1656
+ def unit=: (
1657
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::CommitDuration::unit
1658
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::CommitDuration::unit
1659
+
1660
+ def initialize: (
1661
+ value: Float,
1662
+ ?unit: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::CommitDuration::unit
1663
+ ) -> void
1664
+
1665
+ def to_hash: -> {
1666
+ value: Float,
1667
+ unit: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::CommitDuration::unit
1668
+ }
1669
+
1670
+ type unit = :PERIODS
1671
+
1672
+ module Unit
1673
+ extend MetronomeSDK::Internal::Type::Enum
1674
+
1675
+ PERIODS: :PERIODS
1676
+
1677
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::CommitDuration::unit]
1678
+ end
1679
+ end
1680
+
1681
+ type product = { id: String, name: String }
1682
+
1683
+ class Product < MetronomeSDK::Internal::Type::BaseModel
1684
+ attr_accessor id: String
1685
+
1686
+ attr_accessor name: String
1687
+
1688
+ def initialize: (id: String, name: String) -> void
1689
+
1690
+ def to_hash: -> { id: String, name: String }
1691
+ end
1692
+
1693
+ type rate_type = :COMMIT_RATE | :LIST_RATE
1694
+
1695
+ module RateType
1696
+ extend MetronomeSDK::Internal::Type::Enum
1697
+
1698
+ COMMIT_RATE: :COMMIT_RATE
1699
+ LIST_RATE: :LIST_RATE
1700
+
1701
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::rate_type]
1702
+ end
1703
+
1704
+ type contract = { id: String }
1705
+
1706
+ class Contract < MetronomeSDK::Internal::Type::BaseModel
1707
+ attr_accessor id: String
1708
+
1709
+ def initialize: (id: String) -> void
1710
+
1711
+ def to_hash: -> { id: String }
1712
+ end
1713
+
1714
+ type proration = :NONE | :FIRST | :LAST | :FIRST_AND_LAST
1715
+
1716
+ module Proration
1717
+ extend MetronomeSDK::Internal::Type::Enum
1718
+
1719
+ NONE: :NONE
1720
+ FIRST: :FIRST
1721
+ LAST: :LAST
1722
+ FIRST_AND_LAST: :FIRST_AND_LAST
1723
+
1724
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::proration]
1725
+ end
1726
+
1727
+ type proration_rounding =
1728
+ {
1729
+ access: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::ProrationRounding::Access
1730
+ }
1731
+
1732
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
1733
+ attr_reader access: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::ProrationRounding::Access?
1734
+
1735
+ def access=: (
1736
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::ProrationRounding::Access
1737
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::ProrationRounding::Access
1738
+
1739
+ def initialize: (
1740
+ ?access: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::ProrationRounding::Access
1741
+ ) -> void
1742
+
1743
+ def to_hash: -> {
1744
+ access: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::ProrationRounding::Access
1745
+ }
1746
+
1747
+ type access =
1748
+ {
1749
+ decimal_places: Float,
1750
+ rounding_method: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::ProrationRounding::Access::rounding_method
1751
+ }
1752
+
1753
+ class Access < MetronomeSDK::Internal::Type::BaseModel
1754
+ attr_accessor decimal_places: Float
1755
+
1756
+ attr_accessor rounding_method: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::ProrationRounding::Access::rounding_method
1757
+
1758
+ def initialize: (
1759
+ decimal_places: Float,
1760
+ rounding_method: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::ProrationRounding::Access::rounding_method
1761
+ ) -> void
1762
+
1763
+ def to_hash: -> {
1764
+ decimal_places: Float,
1765
+ rounding_method: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::ProrationRounding::Access::rounding_method
1766
+ }
1767
+
1768
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
1769
+
1770
+ module RoundingMethod
1771
+ extend MetronomeSDK::Internal::Type::Enum
1772
+
1773
+ HALF_UP: :HALF_UP
1774
+ FLOOR: :FLOOR
1775
+ CEILING: :CEILING
1776
+
1777
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::ProrationRounding::Access::rounding_method]
1778
+ end
1779
+ end
1780
+ end
1781
+
1782
+ type recurrence_frequency =
1783
+ :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY | :DAILY
1784
+
1785
+ module RecurrenceFrequency
1786
+ extend MetronomeSDK::Internal::Type::Enum
1787
+
1788
+ MONTHLY: :MONTHLY
1789
+ QUARTERLY: :QUARTERLY
1790
+ ANNUAL: :ANNUAL
1791
+ WEEKLY: :WEEKLY
1792
+ DAILY: :DAILY
1793
+
1794
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::recurrence_frequency]
1795
+ end
1796
+ end
1797
+
1798
+ type add_reseller_royalty =
1799
+ {
1800
+ reseller_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddResellerRoyalty::reseller_type,
1801
+ applicable_product_ids: ::Array[String],
1802
+ applicable_product_tags: ::Array[String],
1803
+ aws_account_number: String,
1804
+ aws_offer_id: String,
1805
+ aws_payer_reference_id: String,
1806
+ ending_before: Time?,
1807
+ fraction: Float,
1808
+ gcp_account_id: String,
1809
+ gcp_offer_id: String,
1810
+ netsuite_reseller_id: String,
1811
+ reseller_contract_value: Float,
1812
+ starting_at: Time
1813
+ }
1814
+
1815
+ class AddResellerRoyalty < MetronomeSDK::Internal::Type::BaseModel
1816
+ attr_accessor reseller_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddResellerRoyalty::reseller_type
1817
+
1818
+ attr_reader applicable_product_ids: ::Array[String]?
1819
+
1820
+ def applicable_product_ids=: (::Array[String]) -> ::Array[String]
1821
+
1822
+ attr_reader applicable_product_tags: ::Array[String]?
1823
+
1824
+ def applicable_product_tags=: (::Array[String]) -> ::Array[String]
1825
+
1826
+ attr_reader aws_account_number: String?
1827
+
1828
+ def aws_account_number=: (String) -> String
1829
+
1830
+ attr_reader aws_offer_id: String?
1831
+
1832
+ def aws_offer_id=: (String) -> String
1833
+
1834
+ attr_reader aws_payer_reference_id: String?
1835
+
1836
+ def aws_payer_reference_id=: (String) -> String
1837
+
1838
+ attr_accessor ending_before: Time?
1839
+
1840
+ attr_reader fraction: Float?
1841
+
1842
+ def fraction=: (Float) -> Float
1843
+
1844
+ attr_reader gcp_account_id: String?
1845
+
1846
+ def gcp_account_id=: (String) -> String
1847
+
1848
+ attr_reader gcp_offer_id: String?
1849
+
1850
+ def gcp_offer_id=: (String) -> String
1851
+
1852
+ attr_reader netsuite_reseller_id: String?
1853
+
1854
+ def netsuite_reseller_id=: (String) -> String
1855
+
1856
+ attr_reader reseller_contract_value: Float?
1857
+
1858
+ def reseller_contract_value=: (Float) -> Float
1859
+
1860
+ attr_reader starting_at: Time?
1861
+
1862
+ def starting_at=: (Time) -> Time
1863
+
1864
+ def initialize: (
1865
+ reseller_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddResellerRoyalty::reseller_type,
1866
+ ?applicable_product_ids: ::Array[String],
1867
+ ?applicable_product_tags: ::Array[String],
1868
+ ?aws_account_number: String,
1869
+ ?aws_offer_id: String,
1870
+ ?aws_payer_reference_id: String,
1871
+ ?ending_before: Time?,
1872
+ ?fraction: Float,
1873
+ ?gcp_account_id: String,
1874
+ ?gcp_offer_id: String,
1875
+ ?netsuite_reseller_id: String,
1876
+ ?reseller_contract_value: Float,
1877
+ ?starting_at: Time
1878
+ ) -> void
1879
+
1880
+ def to_hash: -> {
1881
+ reseller_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddResellerRoyalty::reseller_type,
1882
+ applicable_product_ids: ::Array[String],
1883
+ applicable_product_tags: ::Array[String],
1884
+ aws_account_number: String,
1885
+ aws_offer_id: String,
1886
+ aws_payer_reference_id: String,
1887
+ ending_before: Time?,
1888
+ fraction: Float,
1889
+ gcp_account_id: String,
1890
+ gcp_offer_id: String,
1891
+ netsuite_reseller_id: String,
1892
+ reseller_contract_value: Float,
1893
+ starting_at: Time
1894
+ }
1895
+
1896
+ type reseller_type =
1897
+ :AWS | :AWS_PRO_SERVICE | :GCP | :GCP_PRO_SERVICE
1898
+
1899
+ module ResellerType
1900
+ extend MetronomeSDK::Internal::Type::Enum
1901
+
1902
+ AWS: :AWS
1903
+ AWS_PRO_SERVICE: :AWS_PRO_SERVICE
1904
+ GCP: :GCP
1905
+ GCP_PRO_SERVICE: :GCP_PRO_SERVICE
1906
+
1907
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddResellerRoyalty::reseller_type]
1908
+ end
1909
+ end
1910
+
1911
+ type add_scheduled_charge =
1912
+ {
1913
+ id: String,
1914
+ product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddScheduledCharge::Product,
1915
+ schedule: MetronomeSDK::SchedulePointInTime,
1916
+ name: String,
1917
+ netsuite_sales_order_id: String
1918
+ }
1919
+
1920
+ class AddScheduledCharge < MetronomeSDK::Internal::Type::BaseModel
1921
+ attr_accessor id: String
1922
+
1923
+ attr_accessor product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddScheduledCharge::Product
1924
+
1925
+ attr_accessor schedule: MetronomeSDK::SchedulePointInTime
1926
+
1927
+ attr_reader name: String?
1928
+
1929
+ def name=: (String) -> String
1930
+
1931
+ attr_reader netsuite_sales_order_id: String?
1932
+
1933
+ def netsuite_sales_order_id=: (String) -> String
1934
+
1935
+ def initialize: (
1936
+ id: String,
1937
+ product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddScheduledCharge::Product,
1938
+ schedule: MetronomeSDK::SchedulePointInTime,
1939
+ ?name: String,
1940
+ ?netsuite_sales_order_id: String
1941
+ ) -> void
1942
+
1943
+ def to_hash: -> {
1944
+ id: String,
1945
+ product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddScheduledCharge::Product,
1946
+ schedule: MetronomeSDK::SchedulePointInTime,
1947
+ name: String,
1948
+ netsuite_sales_order_id: String
1949
+ }
1950
+
1951
+ type product = { id: String, name: String }
1952
+
1953
+ class Product < MetronomeSDK::Internal::Type::BaseModel
1954
+ attr_accessor id: String
1955
+
1956
+ attr_accessor name: String
1957
+
1958
+ def initialize: (id: String, name: String) -> void
1959
+
1960
+ def to_hash: -> { id: String, name: String }
1961
+ end
1962
+ end
1963
+
1964
+ type add_subscription =
1965
+ {
1966
+ billing_periods: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods,
1967
+ collection_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::collection_schedule,
1968
+ proration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration,
1969
+ quantity_management_mode: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::quantity_management_mode,
1970
+ quantity_schedule: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::QuantitySchedule],
1971
+ starting_at: Time,
1972
+ subscription_rate: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::SubscriptionRate,
1973
+ id: String,
1974
+ billing_cycle_config: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingCycleConfig,
1975
+ custom_fields: ::Hash[Symbol, String],
1976
+ description: String,
1977
+ ending_before: Time,
1978
+ fiat_credit_type_id: String,
1979
+ name: String,
1980
+ seat_config: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::SeatConfig
1981
+ }
1982
+
1983
+ class AddSubscription < MetronomeSDK::Internal::Type::BaseModel
1984
+ attr_accessor billing_periods: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods
1985
+
1986
+ attr_accessor collection_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::collection_schedule
1987
+
1988
+ attr_accessor proration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration
1989
+
1990
+ attr_accessor quantity_management_mode: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::quantity_management_mode
1991
+
1992
+ attr_accessor quantity_schedule: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::QuantitySchedule]
1993
+
1994
+ attr_accessor starting_at: Time
1995
+
1996
+ attr_accessor subscription_rate: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::SubscriptionRate
1997
+
1998
+ attr_reader id: String?
1999
+
2000
+ def id=: (String) -> String
2001
+
2002
+ attr_reader billing_cycle_config: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingCycleConfig?
2003
+
2004
+ def billing_cycle_config=: (
2005
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingCycleConfig
2006
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingCycleConfig
2007
+
2008
+ attr_reader custom_fields: ::Hash[Symbol, String]?
2009
+
2010
+ def custom_fields=: (
2011
+ ::Hash[Symbol, String]
2012
+ ) -> ::Hash[Symbol, String]
2013
+
2014
+ attr_reader description: String?
2015
+
2016
+ def description=: (String) -> String
2017
+
2018
+ attr_reader ending_before: Time?
2019
+
2020
+ def ending_before=: (Time) -> Time
2021
+
2022
+ attr_reader fiat_credit_type_id: String?
2023
+
2024
+ def fiat_credit_type_id=: (String) -> String
2025
+
2026
+ attr_reader name: String?
2027
+
2028
+ def name=: (String) -> String
2029
+
2030
+ attr_reader seat_config: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::SeatConfig?
2031
+
2032
+ def seat_config=: (
2033
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::SeatConfig
2034
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::SeatConfig
2035
+
2036
+ def initialize: (
2037
+ billing_periods: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods,
2038
+ collection_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::collection_schedule,
2039
+ proration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration,
2040
+ quantity_management_mode: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::quantity_management_mode,
2041
+ quantity_schedule: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::QuantitySchedule],
2042
+ starting_at: Time,
2043
+ subscription_rate: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::SubscriptionRate,
2044
+ ?id: String,
2045
+ ?billing_cycle_config: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingCycleConfig,
2046
+ ?custom_fields: ::Hash[Symbol, String],
2047
+ ?description: String,
2048
+ ?ending_before: Time,
2049
+ ?fiat_credit_type_id: String,
2050
+ ?name: String,
2051
+ ?seat_config: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::SeatConfig
2052
+ ) -> void
2053
+
2054
+ def to_hash: -> {
2055
+ billing_periods: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods,
2056
+ collection_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::collection_schedule,
2057
+ proration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration,
2058
+ quantity_management_mode: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::quantity_management_mode,
2059
+ quantity_schedule: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::QuantitySchedule],
2060
+ starting_at: Time,
2061
+ subscription_rate: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::SubscriptionRate,
2062
+ id: String,
2063
+ billing_cycle_config: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingCycleConfig,
2064
+ custom_fields: ::Hash[Symbol, String],
2065
+ description: String,
2066
+ ending_before: Time,
2067
+ fiat_credit_type_id: String,
2068
+ name: String,
2069
+ seat_config: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::SeatConfig
2070
+ }
2071
+
2072
+ type billing_periods =
2073
+ {
2074
+ current: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods::Current,
2075
+ next_: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods::Next,
2076
+ previous: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods::Previous
2077
+ }
2078
+
2079
+ class BillingPeriods < MetronomeSDK::Internal::Type::BaseModel
2080
+ attr_reader current: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods::Current?
2081
+
2082
+ def current=: (
2083
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods::Current
2084
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods::Current
2085
+
2086
+ attr_reader next_: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods::Next?
2087
+
2088
+ def next_=: (
2089
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods::Next
2090
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods::Next
2091
+
2092
+ attr_reader previous: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods::Previous?
2093
+
2094
+ def previous=: (
2095
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods::Previous
2096
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods::Previous
2097
+
2098
+ def initialize: (
2099
+ ?current: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods::Current,
2100
+ ?next_: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods::Next,
2101
+ ?previous: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods::Previous
2102
+ ) -> void
2103
+
2104
+ def to_hash: -> {
2105
+ current: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods::Current,
2106
+ next_: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods::Next,
2107
+ previous: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingPeriods::Previous
2108
+ }
2109
+
2110
+ type current = { ending_before: Time, starting_at: Time }
2111
+
2112
+ class Current < MetronomeSDK::Internal::Type::BaseModel
2113
+ attr_accessor ending_before: Time
2114
+
2115
+ attr_accessor starting_at: Time
2116
+
2117
+ def initialize: (
2118
+ ending_before: Time,
2119
+ starting_at: Time
2120
+ ) -> void
2121
+
2122
+ def to_hash: -> { ending_before: Time, starting_at: Time }
2123
+ end
2124
+
2125
+ type next_ = { ending_before: Time, starting_at: Time }
2126
+
2127
+ class Next < MetronomeSDK::Internal::Type::BaseModel
2128
+ attr_accessor ending_before: Time
2129
+
2130
+ attr_accessor starting_at: Time
2131
+
2132
+ def initialize: (
2133
+ ending_before: Time,
2134
+ starting_at: Time
2135
+ ) -> void
2136
+
2137
+ def to_hash: -> { ending_before: Time, starting_at: Time }
2138
+ end
2139
+
2140
+ type previous = { ending_before: Time, starting_at: Time }
2141
+
2142
+ class Previous < MetronomeSDK::Internal::Type::BaseModel
2143
+ attr_accessor ending_before: Time
2144
+
2145
+ attr_accessor starting_at: Time
2146
+
2147
+ def initialize: (
2148
+ ending_before: Time,
2149
+ starting_at: Time
2150
+ ) -> void
2151
+
2152
+ def to_hash: -> { ending_before: Time, starting_at: Time }
2153
+ end
2154
+ end
2155
+
2156
+ type collection_schedule = :ADVANCE | :ARREARS
2157
+
2158
+ module CollectionSchedule
2159
+ extend MetronomeSDK::Internal::Type::Enum
2160
+
2161
+ ADVANCE: :ADVANCE
2162
+ ARREARS: :ARREARS
2163
+
2164
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::collection_schedule]
2165
+ end
2166
+
2167
+ type proration =
2168
+ {
2169
+ invoice_behavior: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration::invoice_behavior,
2170
+ is_prorated: bool,
2171
+ rounding: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration::Rounding
2172
+ }
2173
+
2174
+ class Proration < MetronomeSDK::Internal::Type::BaseModel
2175
+ attr_accessor invoice_behavior: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration::invoice_behavior
2176
+
2177
+ attr_accessor is_prorated: bool
2178
+
2179
+ attr_reader rounding: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration::Rounding?
2180
+
2181
+ def rounding=: (
2182
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration::Rounding
2183
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration::Rounding
2184
+
2185
+ def initialize: (
2186
+ invoice_behavior: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration::invoice_behavior,
2187
+ is_prorated: bool,
2188
+ ?rounding: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration::Rounding
2189
+ ) -> void
2190
+
2191
+ def to_hash: -> {
2192
+ invoice_behavior: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration::invoice_behavior,
2193
+ is_prorated: bool,
2194
+ rounding: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration::Rounding
2195
+ }
2196
+
2197
+ type invoice_behavior =
2198
+ :BILL_IMMEDIATELY | :BILL_ON_NEXT_COLLECTION_DATE
2199
+
2200
+ module InvoiceBehavior
2201
+ extend MetronomeSDK::Internal::Type::Enum
2202
+
2203
+ BILL_IMMEDIATELY: :BILL_IMMEDIATELY
2204
+ BILL_ON_NEXT_COLLECTION_DATE: :BILL_ON_NEXT_COLLECTION_DATE
2205
+
2206
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration::invoice_behavior]
2207
+ end
2208
+
2209
+ type rounding =
2210
+ {
2211
+ decimal_places: Float,
2212
+ rounding_method: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration::Rounding::rounding_method
2213
+ }
2214
+
2215
+ class Rounding < MetronomeSDK::Internal::Type::BaseModel
2216
+ attr_accessor decimal_places: Float
2217
+
2218
+ attr_accessor rounding_method: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration::Rounding::rounding_method
2219
+
2220
+ def initialize: (
2221
+ decimal_places: Float,
2222
+ rounding_method: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration::Rounding::rounding_method
2223
+ ) -> void
2224
+
2225
+ def to_hash: -> {
2226
+ decimal_places: Float,
2227
+ rounding_method: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration::Rounding::rounding_method
2228
+ }
2229
+
2230
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
2231
+
2232
+ module RoundingMethod
2233
+ extend MetronomeSDK::Internal::Type::Enum
2234
+
2235
+ HALF_UP: :HALF_UP
2236
+ FLOOR: :FLOOR
2237
+ CEILING: :CEILING
2238
+
2239
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration::Rounding::rounding_method]
2240
+ end
2241
+ end
2242
+ end
2243
+
2244
+ type quantity_management_mode = :SEAT_BASED | :QUANTITY_ONLY
2245
+
2246
+ module QuantityManagementMode
2247
+ extend MetronomeSDK::Internal::Type::Enum
2248
+
2249
+ SEAT_BASED: :SEAT_BASED
2250
+ QUANTITY_ONLY: :QUANTITY_ONLY
2251
+
2252
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::quantity_management_mode]
2253
+ end
2254
+
2255
+ type quantity_schedule =
2256
+ { quantity: Float, starting_at: Time, ending_before: Time }
2257
+
2258
+ class QuantitySchedule < MetronomeSDK::Internal::Type::BaseModel
2259
+ attr_accessor quantity: Float
2260
+
2261
+ attr_accessor starting_at: Time
2262
+
2263
+ attr_reader ending_before: Time?
2264
+
2265
+ def ending_before=: (Time) -> Time
2266
+
2267
+ def initialize: (
2268
+ quantity: Float,
2269
+ starting_at: Time,
2270
+ ?ending_before: Time
2271
+ ) -> void
2272
+
2273
+ def to_hash: -> {
2274
+ quantity: Float,
2275
+ starting_at: Time,
2276
+ ending_before: Time
2277
+ }
2278
+ end
2279
+
2280
+ type subscription_rate =
2281
+ {
2282
+ billing_frequency: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::SubscriptionRate::billing_frequency,
2283
+ product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::SubscriptionRate::Product
2284
+ }
2285
+
2286
+ class SubscriptionRate < MetronomeSDK::Internal::Type::BaseModel
2287
+ attr_accessor billing_frequency: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::SubscriptionRate::billing_frequency
2288
+
2289
+ attr_accessor product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::SubscriptionRate::Product
2290
+
2291
+ def initialize: (
2292
+ billing_frequency: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::SubscriptionRate::billing_frequency,
2293
+ product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::SubscriptionRate::Product
2294
+ ) -> void
2295
+
2296
+ def to_hash: -> {
2297
+ billing_frequency: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::SubscriptionRate::billing_frequency,
2298
+ product: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::SubscriptionRate::Product
2299
+ }
2300
+
2301
+ type billing_frequency =
2302
+ :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
2303
+
2304
+ module BillingFrequency
2305
+ extend MetronomeSDK::Internal::Type::Enum
2306
+
2307
+ MONTHLY: :MONTHLY
2308
+ QUARTERLY: :QUARTERLY
2309
+ ANNUAL: :ANNUAL
2310
+ WEEKLY: :WEEKLY
2311
+
2312
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::SubscriptionRate::billing_frequency]
2313
+ end
2314
+
2315
+ type product = { id: String, name: String }
2316
+
2317
+ class Product < MetronomeSDK::Internal::Type::BaseModel
2318
+ attr_accessor id: String
2319
+
2320
+ attr_accessor name: String
2321
+
2322
+ def initialize: (id: String, name: String) -> void
2323
+
2324
+ def to_hash: -> { id: String, name: String }
2325
+ end
2326
+ end
2327
+
2328
+ type billing_cycle_config =
2329
+ {
2330
+ anchor_date: Time,
2331
+ invoice_placement: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingCycleConfig::invoice_placement
2332
+ }
2333
+
2334
+ class BillingCycleConfig < MetronomeSDK::Internal::Type::BaseModel
2335
+ attr_accessor anchor_date: Time
2336
+
2337
+ attr_accessor invoice_placement: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingCycleConfig::invoice_placement
2338
+
2339
+ def initialize: (
2340
+ anchor_date: Time,
2341
+ invoice_placement: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingCycleConfig::invoice_placement
2342
+ ) -> void
2343
+
2344
+ def to_hash: -> {
2345
+ anchor_date: Time,
2346
+ invoice_placement: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingCycleConfig::invoice_placement
2347
+ }
2348
+
2349
+ type invoice_placement =
2350
+ :ON_SCHEDULED_INVOICE | :ON_USAGE_INVOICE
2351
+
2352
+ module InvoicePlacement
2353
+ extend MetronomeSDK::Internal::Type::Enum
2354
+
2355
+ ON_SCHEDULED_INVOICE: :ON_SCHEDULED_INVOICE
2356
+ ON_USAGE_INVOICE: :ON_USAGE_INVOICE
2357
+
2358
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingCycleConfig::invoice_placement]
2359
+ end
2360
+ end
2361
+
2362
+ type seat_config = { seat_group_key: String }
2363
+
2364
+ class SeatConfig < MetronomeSDK::Internal::Type::BaseModel
2365
+ attr_accessor seat_group_key: String
2366
+
2367
+ def initialize: (seat_group_key: String) -> void
2368
+
2369
+ def to_hash: -> { seat_group_key: String }
2370
+ end
2371
+ end
2372
+
2373
+ type add_usage_filter =
2374
+ {
2375
+ group_key: String,
2376
+ group_values: ::Array[String],
2377
+ starting_at: Time,
2378
+ ending_before: Time
2379
+ }
2380
+
2381
+ class AddUsageFilter < MetronomeSDK::Internal::Type::BaseModel
2382
+ attr_accessor group_key: String
2383
+
2384
+ attr_accessor group_values: ::Array[String]
2385
+
2386
+ attr_accessor starting_at: Time
2387
+
2388
+ attr_reader ending_before: Time?
2389
+
2390
+ def ending_before=: (Time) -> Time
2391
+
2392
+ def initialize: (
2393
+ group_key: String,
2394
+ group_values: ::Array[String],
2395
+ starting_at: Time,
2396
+ ?ending_before: Time
2397
+ ) -> void
2398
+
2399
+ def to_hash: -> {
2400
+ group_key: String,
2401
+ group_values: ::Array[String],
2402
+ starting_at: Time,
2403
+ ending_before: Time
2404
+ }
2405
+ end
2406
+
2407
+ type archive_commit = { id: String }
2408
+
2409
+ class ArchiveCommit < MetronomeSDK::Internal::Type::BaseModel
2410
+ attr_accessor id: String
2411
+
2412
+ def initialize: (id: String) -> void
2413
+
2414
+ def to_hash: -> { id: String }
2415
+ end
2416
+
2417
+ type archive_credit = { id: String }
2418
+
2419
+ class ArchiveCredit < MetronomeSDK::Internal::Type::BaseModel
2420
+ attr_accessor id: String
2421
+
2422
+ def initialize: (id: String) -> void
2423
+
2424
+ def to_hash: -> { id: String }
2425
+ end
2426
+
2427
+ type archive_scheduled_charge = { id: String }
2428
+
2429
+ class ArchiveScheduledCharge < MetronomeSDK::Internal::Type::BaseModel
2430
+ attr_accessor id: String
2431
+
2432
+ def initialize: (id: String) -> void
2433
+
2434
+ def to_hash: -> { id: String }
2435
+ end
2436
+
2437
+ type remove_override = { id: String }
2438
+
2439
+ class RemoveOverride < MetronomeSDK::Internal::Type::BaseModel
2440
+ attr_accessor id: String
2441
+
2442
+ def initialize: (id: String) -> void
2443
+
2444
+ def to_hash: -> { id: String }
2445
+ end
2446
+
2447
+ type update_commit =
2448
+ {
2449
+ id: String,
2450
+ access_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule,
2451
+ applicable_product_ids: ::Array[String]?,
2452
+ applicable_product_tags: ::Array[String]?,
2453
+ description: String,
2454
+ hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
2455
+ invoice_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule,
2456
+ name: String,
2457
+ netsuite_sales_order_id: String?,
2458
+ priority: Float?,
2459
+ product_id: String,
2460
+ rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::rate_type,
2461
+ rollover_fraction: Float?,
2462
+ specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]?
2463
+ }
2464
+
2465
+ class UpdateCommit < MetronomeSDK::Internal::Type::BaseModel
2466
+ attr_accessor id: String
2467
+
2468
+ attr_reader access_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule?
2469
+
2470
+ def access_schedule=: (
2471
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule
2472
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule
2473
+
2474
+ attr_accessor applicable_product_ids: ::Array[String]?
2475
+
2476
+ attr_accessor applicable_product_tags: ::Array[String]?
2477
+
2478
+ attr_reader description: String?
2479
+
2480
+ def description=: (String) -> String
2481
+
2482
+ attr_reader hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration?
2483
+
2484
+ def hierarchy_configuration=: (
2485
+ MetronomeSDK::CommitHierarchyConfiguration
2486
+ ) -> MetronomeSDK::CommitHierarchyConfiguration
2487
+
2488
+ attr_reader invoice_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule?
2489
+
2490
+ def invoice_schedule=: (
2491
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule
2492
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule
2493
+
2494
+ attr_reader name: String?
2495
+
2496
+ def name=: (String) -> String
2497
+
2498
+ attr_accessor netsuite_sales_order_id: String?
2499
+
2500
+ attr_accessor priority: Float?
2501
+
2502
+ attr_reader product_id: String?
2503
+
2504
+ def product_id=: (String) -> String
2505
+
2506
+ attr_reader rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::rate_type?
2507
+
2508
+ def rate_type=: (
2509
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::rate_type
2510
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::rate_type
2511
+
2512
+ attr_accessor rollover_fraction: Float?
2513
+
2514
+ attr_accessor specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]?
2515
+
2516
+ def initialize: (
2517
+ id: String,
2518
+ ?access_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule,
2519
+ ?applicable_product_ids: ::Array[String]?,
2520
+ ?applicable_product_tags: ::Array[String]?,
2521
+ ?description: String,
2522
+ ?hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
2523
+ ?invoice_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule,
2524
+ ?name: String,
2525
+ ?netsuite_sales_order_id: String?,
2526
+ ?priority: Float?,
2527
+ ?product_id: String,
2528
+ ?rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::rate_type,
2529
+ ?rollover_fraction: Float?,
2530
+ ?specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]?
2531
+ ) -> void
2532
+
2533
+ def to_hash: -> {
2534
+ id: String,
2535
+ access_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule,
2536
+ applicable_product_ids: ::Array[String]?,
2537
+ applicable_product_tags: ::Array[String]?,
2538
+ description: String,
2539
+ hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
2540
+ invoice_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule,
2541
+ name: String,
2542
+ netsuite_sales_order_id: String?,
2543
+ priority: Float?,
2544
+ product_id: String,
2545
+ rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::rate_type,
2546
+ rollover_fraction: Float?,
2547
+ specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]?
2548
+ }
2549
+
2550
+ type access_schedule =
2551
+ {
2552
+ add_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule::AddScheduleItem],
2553
+ remove_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule::RemoveScheduleItem],
2554
+ update_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule::UpdateScheduleItem]
2555
+ }
2556
+
2557
+ class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
2558
+ attr_reader add_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule::AddScheduleItem]?
2559
+
2560
+ def add_schedule_items=: (
2561
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule::AddScheduleItem]
2562
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule::AddScheduleItem]
2563
+
2564
+ attr_reader remove_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule::RemoveScheduleItem]?
2565
+
2566
+ def remove_schedule_items=: (
2567
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule::RemoveScheduleItem]
2568
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule::RemoveScheduleItem]
2569
+
2570
+ attr_reader update_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule::UpdateScheduleItem]?
2571
+
2572
+ def update_schedule_items=: (
2573
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule::UpdateScheduleItem]
2574
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule::UpdateScheduleItem]
2575
+
2576
+ def initialize: (
2577
+ ?add_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule::AddScheduleItem],
2578
+ ?remove_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule::RemoveScheduleItem],
2579
+ ?update_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule::UpdateScheduleItem]
2580
+ ) -> void
2581
+
2582
+ def to_hash: -> {
2583
+ add_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule::AddScheduleItem],
2584
+ remove_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule::RemoveScheduleItem],
2585
+ update_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::AccessSchedule::UpdateScheduleItem]
2586
+ }
2587
+
2588
+ type add_schedule_item =
2589
+ { amount: Float, ending_before: Time, starting_at: Time }
2590
+
2591
+ class AddScheduleItem < MetronomeSDK::Internal::Type::BaseModel
2592
+ attr_accessor amount: Float
2593
+
2594
+ attr_accessor ending_before: Time
2595
+
2596
+ attr_accessor starting_at: Time
2597
+
2598
+ def initialize: (
2599
+ amount: Float,
2600
+ ending_before: Time,
2601
+ starting_at: Time
2602
+ ) -> void
2603
+
2604
+ def to_hash: -> {
2605
+ amount: Float,
2606
+ ending_before: Time,
2607
+ starting_at: Time
2608
+ }
2609
+ end
2610
+
2611
+ type remove_schedule_item = { id: String }
2612
+
2613
+ class RemoveScheduleItem < MetronomeSDK::Internal::Type::BaseModel
2614
+ attr_accessor id: String
2615
+
2616
+ def initialize: (id: String) -> void
2617
+
2618
+ def to_hash: -> { id: String }
2619
+ end
2620
+
2621
+ type update_schedule_item =
2622
+ {
2623
+ id: String,
2624
+ amount: Float,
2625
+ ending_before: Time,
2626
+ starting_at: Time
2627
+ }
2628
+
2629
+ class UpdateScheduleItem < MetronomeSDK::Internal::Type::BaseModel
2630
+ attr_accessor id: String
2631
+
2632
+ attr_reader amount: Float?
2633
+
2634
+ def amount=: (Float) -> Float
2635
+
2636
+ attr_reader ending_before: Time?
2637
+
2638
+ def ending_before=: (Time) -> Time
2639
+
2640
+ attr_reader starting_at: Time?
2641
+
2642
+ def starting_at=: (Time) -> Time
2643
+
2644
+ def initialize: (
2645
+ id: String,
2646
+ ?amount: Float,
2647
+ ?ending_before: Time,
2648
+ ?starting_at: Time
2649
+ ) -> void
2650
+
2651
+ def to_hash: -> {
2652
+ id: String,
2653
+ amount: Float,
2654
+ ending_before: Time,
2655
+ starting_at: Time
2656
+ }
2657
+ end
2658
+ end
2659
+
2660
+ type invoice_schedule =
2661
+ {
2662
+ add_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule::AddScheduleItem],
2663
+ remove_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule::RemoveScheduleItem],
2664
+ update_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule::UpdateScheduleItem]
2665
+ }
2666
+
2667
+ class InvoiceSchedule < MetronomeSDK::Internal::Type::BaseModel
2668
+ attr_reader add_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule::AddScheduleItem]?
2669
+
2670
+ def add_schedule_items=: (
2671
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule::AddScheduleItem]
2672
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule::AddScheduleItem]
2673
+
2674
+ attr_reader remove_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule::RemoveScheduleItem]?
2675
+
2676
+ def remove_schedule_items=: (
2677
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule::RemoveScheduleItem]
2678
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule::RemoveScheduleItem]
2679
+
2680
+ attr_reader update_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule::UpdateScheduleItem]?
2681
+
2682
+ def update_schedule_items=: (
2683
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule::UpdateScheduleItem]
2684
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule::UpdateScheduleItem]
2685
+
2686
+ def initialize: (
2687
+ ?add_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule::AddScheduleItem],
2688
+ ?remove_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule::RemoveScheduleItem],
2689
+ ?update_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule::UpdateScheduleItem]
2690
+ ) -> void
2691
+
2692
+ def to_hash: -> {
2693
+ add_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule::AddScheduleItem],
2694
+ remove_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule::RemoveScheduleItem],
2695
+ update_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::InvoiceSchedule::UpdateScheduleItem]
2696
+ }
2697
+
2698
+ type add_schedule_item =
2699
+ {
2700
+ timestamp: Time,
2701
+ amount: Float,
2702
+ quantity: Float,
2703
+ unit_price: Float
2704
+ }
2705
+
2706
+ class AddScheduleItem < MetronomeSDK::Internal::Type::BaseModel
2707
+ attr_accessor timestamp: Time
2708
+
2709
+ attr_reader amount: Float?
2710
+
2711
+ def amount=: (Float) -> Float
2712
+
2713
+ attr_reader quantity: Float?
2714
+
2715
+ def quantity=: (Float) -> Float
2716
+
2717
+ attr_reader unit_price: Float?
2718
+
2719
+ def unit_price=: (Float) -> Float
2720
+
2721
+ def initialize: (
2722
+ timestamp: Time,
2723
+ ?amount: Float,
2724
+ ?quantity: Float,
2725
+ ?unit_price: Float
2726
+ ) -> void
2727
+
2728
+ def to_hash: -> {
2729
+ timestamp: Time,
2730
+ amount: Float,
2731
+ quantity: Float,
2732
+ unit_price: Float
2733
+ }
2734
+ end
2735
+
2736
+ type remove_schedule_item = { id: String }
2737
+
2738
+ class RemoveScheduleItem < MetronomeSDK::Internal::Type::BaseModel
2739
+ attr_accessor id: String
2740
+
2741
+ def initialize: (id: String) -> void
2742
+
2743
+ def to_hash: -> { id: String }
2744
+ end
2745
+
2746
+ type update_schedule_item =
2747
+ {
2748
+ id: String,
2749
+ amount: Float,
2750
+ quantity: Float,
2751
+ timestamp: Time,
2752
+ unit_price: Float
2753
+ }
2754
+
2755
+ class UpdateScheduleItem < MetronomeSDK::Internal::Type::BaseModel
2756
+ attr_accessor id: String
2757
+
2758
+ attr_reader amount: Float?
2759
+
2760
+ def amount=: (Float) -> Float
2761
+
2762
+ attr_reader quantity: Float?
2763
+
2764
+ def quantity=: (Float) -> Float
2765
+
2766
+ attr_reader timestamp: Time?
2767
+
2768
+ def timestamp=: (Time) -> Time
2769
+
2770
+ attr_reader unit_price: Float?
2771
+
2772
+ def unit_price=: (Float) -> Float
2773
+
2774
+ def initialize: (
2775
+ id: String,
2776
+ ?amount: Float,
2777
+ ?quantity: Float,
2778
+ ?timestamp: Time,
2779
+ ?unit_price: Float
2780
+ ) -> void
2781
+
2782
+ def to_hash: -> {
2783
+ id: String,
2784
+ amount: Float,
2785
+ quantity: Float,
2786
+ timestamp: Time,
2787
+ unit_price: Float
2788
+ }
2789
+ end
2790
+ end
2791
+
2792
+ type rate_type = :COMMIT_RATE | :LIST_RATE
2793
+
2794
+ module RateType
2795
+ extend MetronomeSDK::Internal::Type::Enum
2796
+
2797
+ COMMIT_RATE: :COMMIT_RATE
2798
+ LIST_RATE: :LIST_RATE
2799
+
2800
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCommit::rate_type]
2801
+ end
2802
+ end
2803
+
2804
+ type update_credit =
2805
+ {
2806
+ id: String,
2807
+ access_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule,
2808
+ applicable_product_ids: ::Array[String]?,
2809
+ applicable_product_tags: ::Array[String]?,
2810
+ description: String,
2811
+ hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
2812
+ name: String,
2813
+ netsuite_sales_order_id: String?,
2814
+ priority: Float?,
2815
+ product_id: String,
2816
+ rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::rate_type,
2817
+ rollover_fraction: Float?,
2818
+ specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]?
2819
+ }
2820
+
2821
+ class UpdateCredit < MetronomeSDK::Internal::Type::BaseModel
2822
+ attr_accessor id: String
2823
+
2824
+ attr_reader access_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule?
2825
+
2826
+ def access_schedule=: (
2827
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule
2828
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule
2829
+
2830
+ attr_accessor applicable_product_ids: ::Array[String]?
2831
+
2832
+ attr_accessor applicable_product_tags: ::Array[String]?
2833
+
2834
+ attr_reader description: String?
2835
+
2836
+ def description=: (String) -> String
2837
+
2838
+ attr_reader hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration?
2839
+
2840
+ def hierarchy_configuration=: (
2841
+ MetronomeSDK::CommitHierarchyConfiguration
2842
+ ) -> MetronomeSDK::CommitHierarchyConfiguration
2843
+
2844
+ attr_reader name: String?
2845
+
2846
+ def name=: (String) -> String
2847
+
2848
+ attr_accessor netsuite_sales_order_id: String?
2849
+
2850
+ attr_accessor priority: Float?
2851
+
2852
+ attr_reader product_id: String?
2853
+
2854
+ def product_id=: (String) -> String
2855
+
2856
+ attr_reader rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::rate_type?
2857
+
2858
+ def rate_type=: (
2859
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::rate_type
2860
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::rate_type
2861
+
2862
+ attr_accessor rollover_fraction: Float?
2863
+
2864
+ attr_accessor specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]?
2865
+
2866
+ def initialize: (
2867
+ id: String,
2868
+ ?access_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule,
2869
+ ?applicable_product_ids: ::Array[String]?,
2870
+ ?applicable_product_tags: ::Array[String]?,
2871
+ ?description: String,
2872
+ ?hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
2873
+ ?name: String,
2874
+ ?netsuite_sales_order_id: String?,
2875
+ ?priority: Float?,
2876
+ ?product_id: String,
2877
+ ?rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::rate_type,
2878
+ ?rollover_fraction: Float?,
2879
+ ?specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]?
2880
+ ) -> void
2881
+
2882
+ def to_hash: -> {
2883
+ id: String,
2884
+ access_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule,
2885
+ applicable_product_ids: ::Array[String]?,
2886
+ applicable_product_tags: ::Array[String]?,
2887
+ description: String,
2888
+ hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
2889
+ name: String,
2890
+ netsuite_sales_order_id: String?,
2891
+ priority: Float?,
2892
+ product_id: String,
2893
+ rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::rate_type,
2894
+ rollover_fraction: Float?,
2895
+ specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]?
2896
+ }
2897
+
2898
+ type access_schedule =
2899
+ {
2900
+ add_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule::AddScheduleItem],
2901
+ remove_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule::RemoveScheduleItem],
2902
+ update_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule::UpdateScheduleItem]
2903
+ }
2904
+
2905
+ class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
2906
+ attr_reader add_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule::AddScheduleItem]?
2907
+
2908
+ def add_schedule_items=: (
2909
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule::AddScheduleItem]
2910
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule::AddScheduleItem]
2911
+
2912
+ attr_reader remove_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule::RemoveScheduleItem]?
2913
+
2914
+ def remove_schedule_items=: (
2915
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule::RemoveScheduleItem]
2916
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule::RemoveScheduleItem]
2917
+
2918
+ attr_reader update_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule::UpdateScheduleItem]?
2919
+
2920
+ def update_schedule_items=: (
2921
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule::UpdateScheduleItem]
2922
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule::UpdateScheduleItem]
2923
+
2924
+ def initialize: (
2925
+ ?add_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule::AddScheduleItem],
2926
+ ?remove_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule::RemoveScheduleItem],
2927
+ ?update_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule::UpdateScheduleItem]
2928
+ ) -> void
2929
+
2930
+ def to_hash: -> {
2931
+ add_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule::AddScheduleItem],
2932
+ remove_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule::RemoveScheduleItem],
2933
+ update_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::AccessSchedule::UpdateScheduleItem]
2934
+ }
2935
+
2936
+ type add_schedule_item =
2937
+ { amount: Float, ending_before: Time, starting_at: Time }
2938
+
2939
+ class AddScheduleItem < MetronomeSDK::Internal::Type::BaseModel
2940
+ attr_accessor amount: Float
2941
+
2942
+ attr_accessor ending_before: Time
2943
+
2944
+ attr_accessor starting_at: Time
2945
+
2946
+ def initialize: (
2947
+ amount: Float,
2948
+ ending_before: Time,
2949
+ starting_at: Time
2950
+ ) -> void
2951
+
2952
+ def to_hash: -> {
2953
+ amount: Float,
2954
+ ending_before: Time,
2955
+ starting_at: Time
2956
+ }
2957
+ end
2958
+
2959
+ type remove_schedule_item = { id: String }
2960
+
2961
+ class RemoveScheduleItem < MetronomeSDK::Internal::Type::BaseModel
2962
+ attr_accessor id: String
2963
+
2964
+ def initialize: (id: String) -> void
2965
+
2966
+ def to_hash: -> { id: String }
2967
+ end
2968
+
2969
+ type update_schedule_item =
2970
+ {
2971
+ id: String,
2972
+ amount: Float,
2973
+ ending_before: Time,
2974
+ starting_at: Time
2975
+ }
2976
+
2977
+ class UpdateScheduleItem < MetronomeSDK::Internal::Type::BaseModel
2978
+ attr_accessor id: String
2979
+
2980
+ attr_reader amount: Float?
2981
+
2982
+ def amount=: (Float) -> Float
2983
+
2984
+ attr_reader ending_before: Time?
2985
+
2986
+ def ending_before=: (Time) -> Time
2987
+
2988
+ attr_reader starting_at: Time?
2989
+
2990
+ def starting_at=: (Time) -> Time
2991
+
2992
+ def initialize: (
2993
+ id: String,
2994
+ ?amount: Float,
2995
+ ?ending_before: Time,
2996
+ ?starting_at: Time
2997
+ ) -> void
2998
+
2999
+ def to_hash: -> {
3000
+ id: String,
3001
+ amount: Float,
3002
+ ending_before: Time,
3003
+ starting_at: Time
3004
+ }
3005
+ end
3006
+ end
3007
+
3008
+ type rate_type = :LIST_RATE | :COMMIT_RATE
3009
+
3010
+ module RateType
3011
+ extend MetronomeSDK::Internal::Type::Enum
3012
+
3013
+ LIST_RATE: :LIST_RATE
3014
+ COMMIT_RATE: :COMMIT_RATE
3015
+
3016
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateCredit::rate_type]
3017
+ end
3018
+ end
3019
+
3020
+ type update_discount =
3021
+ {
3022
+ id: String,
3023
+ custom_fields: ::Hash[Symbol, String],
3024
+ name: String,
3025
+ netsuite_sales_order_id: String,
3026
+ schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule
3027
+ }
3028
+
3029
+ class UpdateDiscount < MetronomeSDK::Internal::Type::BaseModel
3030
+ attr_accessor id: String
3031
+
3032
+ attr_reader custom_fields: ::Hash[Symbol, String]?
3033
+
3034
+ def custom_fields=: (
3035
+ ::Hash[Symbol, String]
3036
+ ) -> ::Hash[Symbol, String]
3037
+
3038
+ attr_reader name: String?
3039
+
3040
+ def name=: (String) -> String
3041
+
3042
+ attr_reader netsuite_sales_order_id: String?
3043
+
3044
+ def netsuite_sales_order_id=: (String) -> String
3045
+
3046
+ attr_reader schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule?
3047
+
3048
+ def schedule=: (
3049
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule
3050
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule
3051
+
3052
+ def initialize: (
3053
+ id: String,
3054
+ ?custom_fields: ::Hash[Symbol, String],
3055
+ ?name: String,
3056
+ ?netsuite_sales_order_id: String,
3057
+ ?schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule
3058
+ ) -> void
3059
+
3060
+ def to_hash: -> {
3061
+ id: String,
3062
+ custom_fields: ::Hash[Symbol, String],
3063
+ name: String,
3064
+ netsuite_sales_order_id: String,
3065
+ schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule
3066
+ }
3067
+
3068
+ type schedule =
3069
+ {
3070
+ credit_type_id: String,
3071
+ do_not_invoice: bool,
3072
+ recurring_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::RecurringSchedule,
3073
+ schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::ScheduleItem]
3074
+ }
3075
+
3076
+ class Schedule < MetronomeSDK::Internal::Type::BaseModel
3077
+ attr_reader credit_type_id: String?
3078
+
3079
+ def credit_type_id=: (String) -> String
3080
+
3081
+ attr_reader do_not_invoice: bool?
3082
+
3083
+ def do_not_invoice=: (bool) -> bool
3084
+
3085
+ attr_reader recurring_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::RecurringSchedule?
3086
+
3087
+ def recurring_schedule=: (
3088
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::RecurringSchedule
3089
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::RecurringSchedule
3090
+
3091
+ attr_reader schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::ScheduleItem]?
3092
+
3093
+ def schedule_items=: (
3094
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::ScheduleItem]
3095
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::ScheduleItem]
3096
+
3097
+ def initialize: (
3098
+ ?credit_type_id: String,
3099
+ ?do_not_invoice: bool,
3100
+ ?recurring_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::RecurringSchedule,
3101
+ ?schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::ScheduleItem]
3102
+ ) -> void
3103
+
3104
+ def to_hash: -> {
3105
+ credit_type_id: String,
3106
+ do_not_invoice: bool,
3107
+ recurring_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::RecurringSchedule,
3108
+ schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::ScheduleItem]
3109
+ }
3110
+
3111
+ type recurring_schedule =
3112
+ {
3113
+ amount_distribution: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::RecurringSchedule::amount_distribution,
3114
+ ending_before: Time,
3115
+ frequency: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::RecurringSchedule::frequency,
3116
+ starting_at: Time,
3117
+ amount: Float,
3118
+ quantity: Float,
3119
+ unit_price: Float
3120
+ }
3121
+
3122
+ class RecurringSchedule < MetronomeSDK::Internal::Type::BaseModel
3123
+ attr_accessor amount_distribution: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::RecurringSchedule::amount_distribution
3124
+
3125
+ attr_accessor ending_before: Time
3126
+
3127
+ attr_accessor frequency: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::RecurringSchedule::frequency
3128
+
3129
+ attr_accessor starting_at: Time
3130
+
3131
+ attr_reader amount: Float?
3132
+
3133
+ def amount=: (Float) -> Float
3134
+
3135
+ attr_reader quantity: Float?
3136
+
3137
+ def quantity=: (Float) -> Float
3138
+
3139
+ attr_reader unit_price: Float?
3140
+
3141
+ def unit_price=: (Float) -> Float
3142
+
3143
+ def initialize: (
3144
+ amount_distribution: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::RecurringSchedule::amount_distribution,
3145
+ ending_before: Time,
3146
+ frequency: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::RecurringSchedule::frequency,
3147
+ starting_at: Time,
3148
+ ?amount: Float,
3149
+ ?quantity: Float,
3150
+ ?unit_price: Float
3151
+ ) -> void
3152
+
3153
+ def to_hash: -> {
3154
+ amount_distribution: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::RecurringSchedule::amount_distribution,
3155
+ ending_before: Time,
3156
+ frequency: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::RecurringSchedule::frequency,
3157
+ starting_at: Time,
3158
+ amount: Float,
3159
+ quantity: Float,
3160
+ unit_price: Float
3161
+ }
3162
+
3163
+ type amount_distribution = :DIVIDED | :DIVIDED_ROUNDED | :EACH
3164
+
3165
+ module AmountDistribution
3166
+ extend MetronomeSDK::Internal::Type::Enum
3167
+
3168
+ DIVIDED: :DIVIDED
3169
+ DIVIDED_ROUNDED: :DIVIDED_ROUNDED
3170
+ EACH: :EACH
3171
+
3172
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::RecurringSchedule::amount_distribution]
3173
+ end
3174
+
3175
+ type frequency =
3176
+ :MONTHLY | :QUARTERLY | :SEMI_ANNUAL | :ANNUAL | :WEEKLY
3177
+
3178
+ module Frequency
3179
+ extend MetronomeSDK::Internal::Type::Enum
3180
+
3181
+ MONTHLY: :MONTHLY
3182
+ QUARTERLY: :QUARTERLY
3183
+ SEMI_ANNUAL: :SEMI_ANNUAL
3184
+ ANNUAL: :ANNUAL
3185
+ WEEKLY: :WEEKLY
3186
+
3187
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateDiscount::Schedule::RecurringSchedule::frequency]
3188
+ end
3189
+ end
3190
+
3191
+ type schedule_item =
3192
+ {
3193
+ timestamp: Time,
3194
+ amount: Float,
3195
+ quantity: Float,
3196
+ unit_price: Float
3197
+ }
3198
+
3199
+ class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
3200
+ attr_accessor timestamp: Time
3201
+
3202
+ attr_reader amount: Float?
3203
+
3204
+ def amount=: (Float) -> Float
3205
+
3206
+ attr_reader quantity: Float?
3207
+
3208
+ def quantity=: (Float) -> Float
3209
+
3210
+ attr_reader unit_price: Float?
3211
+
3212
+ def unit_price=: (Float) -> Float
3213
+
3214
+ def initialize: (
3215
+ timestamp: Time,
3216
+ ?amount: Float,
3217
+ ?quantity: Float,
3218
+ ?unit_price: Float
3219
+ ) -> void
3220
+
3221
+ def to_hash: -> {
3222
+ timestamp: Time,
3223
+ amount: Float,
3224
+ quantity: Float,
3225
+ unit_price: Float
3226
+ }
3227
+ end
3228
+ end
3229
+ end
3230
+
3231
+ type update_prepaid_balance_threshold_configuration =
3232
+ {
3233
+ commit: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::Commit,
3234
+ custom_credit_type_id: String?,
3235
+ discount_configuration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::DiscountConfiguration?,
3236
+ is_enabled: bool,
3237
+ payment_gate_config: MetronomeSDK::PaymentGateConfigV2,
3238
+ recharge_to_amount: Float,
3239
+ threshold_amount: Float,
3240
+ threshold_balance_specifiers: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier]?
3241
+ }
3242
+
3243
+ class UpdatePrepaidBalanceThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
3244
+ attr_reader commit: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::Commit?
3245
+
3246
+ def commit=: (
3247
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::Commit
3248
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::Commit
3249
+
3250
+ attr_accessor custom_credit_type_id: String?
3251
+
3252
+ attr_accessor discount_configuration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::DiscountConfiguration?
3253
+
3254
+ attr_reader is_enabled: bool?
3255
+
3256
+ def is_enabled=: (bool) -> bool
3257
+
3258
+ attr_reader payment_gate_config: MetronomeSDK::PaymentGateConfigV2?
3259
+
3260
+ def payment_gate_config=: (
3261
+ MetronomeSDK::PaymentGateConfigV2
3262
+ ) -> MetronomeSDK::PaymentGateConfigV2
3263
+
3264
+ attr_reader recharge_to_amount: Float?
3265
+
3266
+ def recharge_to_amount=: (Float) -> Float
3267
+
3268
+ attr_reader threshold_amount: Float?
3269
+
3270
+ def threshold_amount=: (Float) -> Float
3271
+
3272
+ attr_accessor threshold_balance_specifiers: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier]?
3273
+
3274
+ def initialize: (
3275
+ ?commit: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::Commit,
3276
+ ?custom_credit_type_id: String?,
3277
+ ?discount_configuration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::DiscountConfiguration?,
3278
+ ?is_enabled: bool,
3279
+ ?payment_gate_config: MetronomeSDK::PaymentGateConfigV2,
3280
+ ?recharge_to_amount: Float,
3281
+ ?threshold_amount: Float,
3282
+ ?threshold_balance_specifiers: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier]?
3283
+ ) -> void
3284
+
3285
+ def to_hash: -> {
3286
+ commit: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::Commit,
3287
+ custom_credit_type_id: String?,
3288
+ discount_configuration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::DiscountConfiguration?,
3289
+ is_enabled: bool,
3290
+ payment_gate_config: MetronomeSDK::PaymentGateConfigV2,
3291
+ recharge_to_amount: Float,
3292
+ threshold_amount: Float,
3293
+ threshold_balance_specifiers: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier]?
3294
+ }
3295
+
3296
+ type commit =
3297
+ {
3298
+ applicable_product_ids: ::Array[String]?,
3299
+ applicable_product_tags: ::Array[String]?,
3300
+ specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]?
3301
+ }
3302
+
3303
+ class Commit < MetronomeSDK::Models::UpdateBaseThresholdCommit
3304
+ def applicable_product_ids: -> ::Array[String]?
3305
+
3306
+ def applicable_product_ids=: (
3307
+ ::Array[String]? _
3308
+ ) -> ::Array[String]?
3309
+
3310
+ def applicable_product_tags: -> ::Array[String]?
3311
+
3312
+ def applicable_product_tags=: (
3313
+ ::Array[String]? _
3314
+ ) -> ::Array[String]?
3315
+
3316
+ def specifiers: -> ::Array[MetronomeSDK::CommitSpecifierInput]?
3317
+
3318
+ def specifiers=: (
3319
+ ::Array[MetronomeSDK::CommitSpecifierInput]? _
3320
+ ) -> ::Array[MetronomeSDK::CommitSpecifierInput]?
3321
+
3322
+ def initialize: (
3323
+ ?applicable_product_ids: ::Array[String]?,
3324
+ ?applicable_product_tags: ::Array[String]?,
3325
+ ?specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]?
3326
+ ) -> void
3327
+
3328
+ def to_hash: -> {
3329
+ applicable_product_ids: ::Array[String]?,
3330
+ applicable_product_tags: ::Array[String]?,
3331
+ specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]?
3332
+ }
3333
+ end
3334
+
3335
+ type discount_configuration =
3336
+ {
3337
+ cap: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::DiscountConfiguration::Cap?,
3338
+ payment_fraction: Float?
3339
+ }
3340
+
3341
+ class DiscountConfiguration < MetronomeSDK::Internal::Type::BaseModel
3342
+ attr_accessor cap: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::DiscountConfiguration::Cap?
3343
+
3344
+ attr_accessor payment_fraction: Float?
3345
+
3346
+ def initialize: (
3347
+ ?cap: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::DiscountConfiguration::Cap?,
3348
+ ?payment_fraction: Float?
3349
+ ) -> void
3350
+
3351
+ def to_hash: -> {
3352
+ cap: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::DiscountConfiguration::Cap?,
3353
+ payment_fraction: Float?
3354
+ }
3355
+
3356
+ type cap = { amount: Float, spend_tracker_alias: String }
3357
+
3358
+ class Cap < MetronomeSDK::Internal::Type::BaseModel
3359
+ attr_accessor amount: Float
3360
+
3361
+ attr_accessor spend_tracker_alias: String
3362
+
3363
+ def initialize: (
3364
+ amount: Float,
3365
+ spend_tracker_alias: String
3366
+ ) -> void
3367
+
3368
+ def to_hash: -> { amount: Float, spend_tracker_alias: String }
3369
+ end
3370
+ end
3371
+
3372
+ type threshold_balance_specifier =
3373
+ {
3374
+ exclude: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude]
3375
+ }
3376
+
3377
+ class ThresholdBalanceSpecifier < MetronomeSDK::Internal::Type::BaseModel
3378
+ attr_accessor exclude: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude]
3379
+
3380
+ def initialize: (
3381
+ exclude: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude]
3382
+ ) -> void
3383
+
3384
+ def to_hash: -> {
3385
+ exclude: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude]
3386
+ }
3387
+
3388
+ type exclude =
3389
+ {
3390
+ custom_field_filters: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter]
3391
+ }
3392
+
3393
+ class Exclude < MetronomeSDK::Internal::Type::BaseModel
3394
+ attr_accessor custom_field_filters: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter]
3395
+
3396
+ def initialize: (
3397
+ custom_field_filters: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter]
3398
+ ) -> void
3399
+
3400
+ def to_hash: -> {
3401
+ custom_field_filters: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter]
3402
+ }
3403
+
3404
+ type custom_field_filter =
3405
+ {
3406
+ entity: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::entity,
3407
+ key: String,
3408
+ value: String
3409
+ }
3410
+
3411
+ class CustomFieldFilter < MetronomeSDK::Internal::Type::BaseModel
3412
+ attr_accessor entity: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::entity
3413
+
3414
+ attr_accessor key: String
3415
+
3416
+ attr_accessor value: String
3417
+
3418
+ def initialize: (
3419
+ entity: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::entity,
3420
+ key: String,
3421
+ value: String
3422
+ ) -> void
3423
+
3424
+ def to_hash: -> {
3425
+ entity: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::entity,
3426
+ key: String,
3427
+ value: String
3428
+ }
3429
+
3430
+ type entity =
3431
+ :Commit | :ContractCredit | :ContractCreditOrCommit
3432
+
3433
+ module Entity
3434
+ extend MetronomeSDK::Internal::Type::Enum
3435
+
3436
+ COMMIT: :Commit
3437
+ CONTRACT_CREDIT: :ContractCredit
3438
+ CONTRACT_CREDIT_OR_COMMIT: :ContractCreditOrCommit
3439
+
3440
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::entity]
3441
+ end
3442
+ end
3443
+ end
3444
+ end
3445
+ end
3446
+
3447
+ type update_recurring_commit =
3448
+ {
3449
+ id: String,
3450
+ access_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::AccessAmount,
3451
+ ending_before: Time,
3452
+ invoice_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::InvoiceAmount,
3453
+ proration_rounding: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding?,
3454
+ rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::rate_type
3455
+ }
3456
+
3457
+ class UpdateRecurringCommit < MetronomeSDK::Internal::Type::BaseModel
3458
+ attr_accessor id: String
3459
+
3460
+ attr_reader access_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::AccessAmount?
3461
+
3462
+ def access_amount=: (
3463
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::AccessAmount
3464
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::AccessAmount
3465
+
3466
+ attr_reader ending_before: Time?
3467
+
3468
+ def ending_before=: (Time) -> Time
3469
+
3470
+ attr_reader invoice_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::InvoiceAmount?
3471
+
3472
+ def invoice_amount=: (
3473
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::InvoiceAmount
3474
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::InvoiceAmount
3475
+
3476
+ attr_accessor proration_rounding: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding?
3477
+
3478
+ attr_reader rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::rate_type?
3479
+
3480
+ def rate_type=: (
3481
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::rate_type
3482
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::rate_type
3483
+
3484
+ def initialize: (
3485
+ id: String,
3486
+ ?access_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::AccessAmount,
3487
+ ?ending_before: Time,
3488
+ ?invoice_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::InvoiceAmount,
3489
+ ?proration_rounding: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding?,
3490
+ ?rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::rate_type
3491
+ ) -> void
3492
+
3493
+ def to_hash: -> {
3494
+ id: String,
3495
+ access_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::AccessAmount,
3496
+ ending_before: Time,
3497
+ invoice_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::InvoiceAmount,
3498
+ proration_rounding: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding?,
3499
+ rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::rate_type
3500
+ }
3501
+
3502
+ type access_amount = { quantity: Float, unit_price: Float }
3503
+
3504
+ class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
3505
+ attr_reader quantity: Float?
3506
+
3507
+ def quantity=: (Float) -> Float
3508
+
3509
+ attr_reader unit_price: Float?
3510
+
3511
+ def unit_price=: (Float) -> Float
3512
+
3513
+ def initialize: (?quantity: Float, ?unit_price: Float) -> void
3514
+
3515
+ def to_hash: -> { quantity: Float, unit_price: Float }
3516
+ end
3517
+
3518
+ type invoice_amount = { quantity: Float, unit_price: Float }
3519
+
3520
+ class InvoiceAmount < MetronomeSDK::Internal::Type::BaseModel
3521
+ attr_reader quantity: Float?
3522
+
3523
+ def quantity=: (Float) -> Float
3524
+
3525
+ attr_reader unit_price: Float?
3526
+
3527
+ def unit_price=: (Float) -> Float
3528
+
3529
+ def initialize: (?quantity: Float, ?unit_price: Float) -> void
3530
+
3531
+ def to_hash: -> { quantity: Float, unit_price: Float }
3532
+ end
3533
+
3534
+ type proration_rounding =
3535
+ {
3536
+ access: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Access,
3537
+ invoice: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Invoice
3538
+ }
3539
+
3540
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
3541
+ attr_reader access: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Access?
3542
+
3543
+ def access=: (
3544
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Access
3545
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Access
3546
+
3547
+ attr_reader invoice: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Invoice?
3548
+
3549
+ def invoice=: (
3550
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Invoice
3551
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Invoice
3552
+
3553
+ def initialize: (
3554
+ ?access: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Access,
3555
+ ?invoice: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Invoice
3556
+ ) -> void
3557
+
3558
+ def to_hash: -> {
3559
+ access: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Access,
3560
+ invoice: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Invoice
3561
+ }
3562
+
3563
+ type access =
3564
+ {
3565
+ decimal_places: Float,
3566
+ rounding_method: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Access::rounding_method
3567
+ }
3568
+
3569
+ class Access < MetronomeSDK::Internal::Type::BaseModel
3570
+ attr_accessor decimal_places: Float
3571
+
3572
+ attr_accessor rounding_method: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Access::rounding_method
3573
+
3574
+ def initialize: (
3575
+ decimal_places: Float,
3576
+ rounding_method: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Access::rounding_method
3577
+ ) -> void
3578
+
3579
+ def to_hash: -> {
3580
+ decimal_places: Float,
3581
+ rounding_method: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Access::rounding_method
3582
+ }
3583
+
3584
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
3585
+
3586
+ module RoundingMethod
3587
+ extend MetronomeSDK::Internal::Type::Enum
3588
+
3589
+ HALF_UP: :HALF_UP
3590
+ FLOOR: :FLOOR
3591
+ CEILING: :CEILING
3592
+
3593
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Access::rounding_method]
3594
+ end
3595
+ end
3596
+
3597
+ type invoice =
3598
+ {
3599
+ decimal_places: Float,
3600
+ rounding_method: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Invoice::rounding_method
3601
+ }
3602
+
3603
+ class Invoice < MetronomeSDK::Internal::Type::BaseModel
3604
+ attr_accessor decimal_places: Float
3605
+
3606
+ attr_accessor rounding_method: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Invoice::rounding_method
3607
+
3608
+ def initialize: (
3609
+ decimal_places: Float,
3610
+ rounding_method: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Invoice::rounding_method
3611
+ ) -> void
3612
+
3613
+ def to_hash: -> {
3614
+ decimal_places: Float,
3615
+ rounding_method: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Invoice::rounding_method
3616
+ }
3617
+
3618
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
3619
+
3620
+ module RoundingMethod
3621
+ extend MetronomeSDK::Internal::Type::Enum
3622
+
3623
+ HALF_UP: :HALF_UP
3624
+ FLOOR: :FLOOR
3625
+ CEILING: :CEILING
3626
+
3627
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Invoice::rounding_method]
3628
+ end
3629
+ end
3630
+ end
3631
+
3632
+ type rate_type = :LIST_RATE | :COMMIT_RATE
3633
+
3634
+ module RateType
3635
+ extend MetronomeSDK::Internal::Type::Enum
3636
+
3637
+ LIST_RATE: :LIST_RATE
3638
+ COMMIT_RATE: :COMMIT_RATE
3639
+
3640
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::rate_type]
3641
+ end
3642
+ end
3643
+
3644
+ type update_recurring_credit =
3645
+ {
3646
+ id: String,
3647
+ access_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::AccessAmount,
3648
+ ending_before: Time,
3649
+ proration_rounding: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::ProrationRounding?,
3650
+ rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::rate_type
3651
+ }
3652
+
3653
+ class UpdateRecurringCredit < MetronomeSDK::Internal::Type::BaseModel
3654
+ attr_accessor id: String
3655
+
3656
+ attr_reader access_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::AccessAmount?
3657
+
3658
+ def access_amount=: (
3659
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::AccessAmount
3660
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::AccessAmount
3661
+
3662
+ attr_reader ending_before: Time?
3663
+
3664
+ def ending_before=: (Time) -> Time
3665
+
3666
+ attr_accessor proration_rounding: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::ProrationRounding?
3667
+
3668
+ attr_reader rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::rate_type?
3669
+
3670
+ def rate_type=: (
3671
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::rate_type
3672
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::rate_type
3673
+
3674
+ def initialize: (
3675
+ id: String,
3676
+ ?access_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::AccessAmount,
3677
+ ?ending_before: Time,
3678
+ ?proration_rounding: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::ProrationRounding?,
3679
+ ?rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::rate_type
3680
+ ) -> void
3681
+
3682
+ def to_hash: -> {
3683
+ id: String,
3684
+ access_amount: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::AccessAmount,
3685
+ ending_before: Time,
3686
+ proration_rounding: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::ProrationRounding?,
3687
+ rate_type: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::rate_type
3688
+ }
3689
+
3690
+ type access_amount = { quantity: Float, unit_price: Float }
3691
+
3692
+ class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
3693
+ attr_reader quantity: Float?
3694
+
3695
+ def quantity=: (Float) -> Float
3696
+
3697
+ attr_reader unit_price: Float?
3698
+
3699
+ def unit_price=: (Float) -> Float
3700
+
3701
+ def initialize: (?quantity: Float, ?unit_price: Float) -> void
3702
+
3703
+ def to_hash: -> { quantity: Float, unit_price: Float }
3704
+ end
3705
+
3706
+ type proration_rounding =
3707
+ {
3708
+ access: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::ProrationRounding::Access
3709
+ }
3710
+
3711
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
3712
+ attr_reader access: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::ProrationRounding::Access?
3713
+
3714
+ def access=: (
3715
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::ProrationRounding::Access
3716
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::ProrationRounding::Access
3717
+
3718
+ def initialize: (
3719
+ ?access: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::ProrationRounding::Access
3720
+ ) -> void
3721
+
3722
+ def to_hash: -> {
3723
+ access: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::ProrationRounding::Access
3724
+ }
3725
+
3726
+ type access =
3727
+ {
3728
+ decimal_places: Float,
3729
+ rounding_method: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::ProrationRounding::Access::rounding_method
3730
+ }
3731
+
3732
+ class Access < MetronomeSDK::Internal::Type::BaseModel
3733
+ attr_accessor decimal_places: Float
3734
+
3735
+ attr_accessor rounding_method: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::ProrationRounding::Access::rounding_method
3736
+
3737
+ def initialize: (
3738
+ decimal_places: Float,
3739
+ rounding_method: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::ProrationRounding::Access::rounding_method
3740
+ ) -> void
3741
+
3742
+ def to_hash: -> {
3743
+ decimal_places: Float,
3744
+ rounding_method: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::ProrationRounding::Access::rounding_method
3745
+ }
3746
+
3747
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
3748
+
3749
+ module RoundingMethod
3750
+ extend MetronomeSDK::Internal::Type::Enum
3751
+
3752
+ HALF_UP: :HALF_UP
3753
+ FLOOR: :FLOOR
3754
+ CEILING: :CEILING
3755
+
3756
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::ProrationRounding::Access::rounding_method]
3757
+ end
3758
+ end
3759
+ end
3760
+
3761
+ type rate_type = :LIST_RATE | :COMMIT_RATE
3762
+
3763
+ module RateType
3764
+ extend MetronomeSDK::Internal::Type::Enum
3765
+
3766
+ LIST_RATE: :LIST_RATE
3767
+ COMMIT_RATE: :COMMIT_RATE
3768
+
3769
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::rate_type]
3770
+ end
3771
+ end
3772
+
3773
+ type update_refund_invoice = { date: Time, invoice_id: String }
3774
+
3775
+ class UpdateRefundInvoice < MetronomeSDK::Internal::Type::BaseModel
3776
+ attr_accessor date: Time
3777
+
3778
+ attr_accessor invoice_id: String
3779
+
3780
+ def initialize: (date: Time, invoice_id: String) -> void
3781
+
3782
+ def to_hash: -> { date: Time, invoice_id: String }
3783
+ end
3784
+
3785
+ type update_scheduled_charge =
3786
+ {
3787
+ id: String,
3788
+ invoice_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule,
3789
+ name: String,
3790
+ netsuite_sales_order_id: String?
3791
+ }
3792
+
3793
+ class UpdateScheduledCharge < MetronomeSDK::Internal::Type::BaseModel
3794
+ attr_accessor id: String
3795
+
3796
+ attr_reader invoice_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule?
3797
+
3798
+ def invoice_schedule=: (
3799
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule
3800
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule
3801
+
3802
+ attr_reader name: String?
3803
+
3804
+ def name=: (String) -> String
3805
+
3806
+ attr_accessor netsuite_sales_order_id: String?
3807
+
3808
+ def initialize: (
3809
+ id: String,
3810
+ ?invoice_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule,
3811
+ ?name: String,
3812
+ ?netsuite_sales_order_id: String?
3813
+ ) -> void
3814
+
3815
+ def to_hash: -> {
3816
+ id: String,
3817
+ invoice_schedule: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule,
3818
+ name: String,
3819
+ netsuite_sales_order_id: String?
3820
+ }
3821
+
3822
+ type invoice_schedule =
3823
+ {
3824
+ add_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule::AddScheduleItem],
3825
+ remove_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule::RemoveScheduleItem],
3826
+ update_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule::UpdateScheduleItem]
3827
+ }
3828
+
3829
+ class InvoiceSchedule < MetronomeSDK::Internal::Type::BaseModel
3830
+ attr_reader add_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule::AddScheduleItem]?
3831
+
3832
+ def add_schedule_items=: (
3833
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule::AddScheduleItem]
3834
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule::AddScheduleItem]
3835
+
3836
+ attr_reader remove_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule::RemoveScheduleItem]?
3837
+
3838
+ def remove_schedule_items=: (
3839
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule::RemoveScheduleItem]
3840
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule::RemoveScheduleItem]
3841
+
3842
+ attr_reader update_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule::UpdateScheduleItem]?
3843
+
3844
+ def update_schedule_items=: (
3845
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule::UpdateScheduleItem]
3846
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule::UpdateScheduleItem]
3847
+
3848
+ def initialize: (
3849
+ ?add_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule::AddScheduleItem],
3850
+ ?remove_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule::RemoveScheduleItem],
3851
+ ?update_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule::UpdateScheduleItem]
3852
+ ) -> void
3853
+
3854
+ def to_hash: -> {
3855
+ add_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule::AddScheduleItem],
3856
+ remove_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule::RemoveScheduleItem],
3857
+ update_schedule_items: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateScheduledCharge::InvoiceSchedule::UpdateScheduleItem]
3858
+ }
3859
+
3860
+ type add_schedule_item =
3861
+ {
3862
+ timestamp: Time,
3863
+ amount: Float,
3864
+ quantity: Float,
3865
+ unit_price: Float
3866
+ }
3867
+
3868
+ class AddScheduleItem < MetronomeSDK::Internal::Type::BaseModel
3869
+ attr_accessor timestamp: Time
3870
+
3871
+ attr_reader amount: Float?
3872
+
3873
+ def amount=: (Float) -> Float
3874
+
3875
+ attr_reader quantity: Float?
3876
+
3877
+ def quantity=: (Float) -> Float
3878
+
3879
+ attr_reader unit_price: Float?
3880
+
3881
+ def unit_price=: (Float) -> Float
3882
+
3883
+ def initialize: (
3884
+ timestamp: Time,
3885
+ ?amount: Float,
3886
+ ?quantity: Float,
3887
+ ?unit_price: Float
3888
+ ) -> void
3889
+
3890
+ def to_hash: -> {
3891
+ timestamp: Time,
3892
+ amount: Float,
3893
+ quantity: Float,
3894
+ unit_price: Float
3895
+ }
3896
+ end
3897
+
3898
+ type remove_schedule_item = { id: String }
3899
+
3900
+ class RemoveScheduleItem < MetronomeSDK::Internal::Type::BaseModel
3901
+ attr_accessor id: String
3902
+
3903
+ def initialize: (id: String) -> void
3904
+
3905
+ def to_hash: -> { id: String }
3906
+ end
3907
+
3908
+ type update_schedule_item =
3909
+ {
3910
+ id: String,
3911
+ amount: Float,
3912
+ quantity: Float,
3913
+ timestamp: Time,
3914
+ unit_price: Float
3915
+ }
3916
+
3917
+ class UpdateScheduleItem < MetronomeSDK::Internal::Type::BaseModel
3918
+ attr_accessor id: String
3919
+
3920
+ attr_reader amount: Float?
3921
+
3922
+ def amount=: (Float) -> Float
3923
+
3924
+ attr_reader quantity: Float?
3925
+
3926
+ def quantity=: (Float) -> Float
3927
+
3928
+ attr_reader timestamp: Time?
3929
+
3930
+ def timestamp=: (Time) -> Time
3931
+
3932
+ attr_reader unit_price: Float?
3933
+
3934
+ def unit_price=: (Float) -> Float
3935
+
3936
+ def initialize: (
3937
+ id: String,
3938
+ ?amount: Float,
3939
+ ?quantity: Float,
3940
+ ?timestamp: Time,
3941
+ ?unit_price: Float
3942
+ ) -> void
3943
+
3944
+ def to_hash: -> {
3945
+ id: String,
3946
+ amount: Float,
3947
+ quantity: Float,
3948
+ timestamp: Time,
3949
+ unit_price: Float
3950
+ }
3951
+ end
3952
+ end
3953
+ end
3954
+
3955
+ type update_spend_threshold_configuration =
3956
+ {
3957
+ commit: MetronomeSDK::UpdateBaseThresholdCommit,
3958
+ discount_configuration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSpendThresholdConfiguration::DiscountConfiguration?,
3959
+ is_enabled: bool,
3960
+ payment_gate_config: MetronomeSDK::PaymentGateConfigV2,
3961
+ threshold_amount: Float
3962
+ }
3963
+
3964
+ class UpdateSpendThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
3965
+ attr_reader commit: MetronomeSDK::UpdateBaseThresholdCommit?
3966
+
3967
+ def commit=: (
3968
+ MetronomeSDK::UpdateBaseThresholdCommit
3969
+ ) -> MetronomeSDK::UpdateBaseThresholdCommit
3970
+
3971
+ attr_accessor discount_configuration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSpendThresholdConfiguration::DiscountConfiguration?
3972
+
3973
+ attr_reader is_enabled: bool?
3974
+
3975
+ def is_enabled=: (bool) -> bool
3976
+
3977
+ attr_reader payment_gate_config: MetronomeSDK::PaymentGateConfigV2?
3978
+
3979
+ def payment_gate_config=: (
3980
+ MetronomeSDK::PaymentGateConfigV2
3981
+ ) -> MetronomeSDK::PaymentGateConfigV2
3982
+
3983
+ attr_reader threshold_amount: Float?
3984
+
3985
+ def threshold_amount=: (Float) -> Float
3986
+
3987
+ def initialize: (
3988
+ ?commit: MetronomeSDK::UpdateBaseThresholdCommit,
3989
+ ?discount_configuration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSpendThresholdConfiguration::DiscountConfiguration?,
3990
+ ?is_enabled: bool,
3991
+ ?payment_gate_config: MetronomeSDK::PaymentGateConfigV2,
3992
+ ?threshold_amount: Float
3993
+ ) -> void
3994
+
3995
+ def to_hash: -> {
3996
+ commit: MetronomeSDK::UpdateBaseThresholdCommit,
3997
+ discount_configuration: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSpendThresholdConfiguration::DiscountConfiguration?,
3998
+ is_enabled: bool,
3999
+ payment_gate_config: MetronomeSDK::PaymentGateConfigV2,
4000
+ threshold_amount: Float
4001
+ }
4002
+
4003
+ type discount_configuration =
4004
+ {
4005
+ cap: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSpendThresholdConfiguration::DiscountConfiguration::Cap?,
4006
+ payment_fraction: Float?
4007
+ }
4008
+
4009
+ class DiscountConfiguration < MetronomeSDK::Internal::Type::BaseModel
4010
+ attr_accessor cap: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSpendThresholdConfiguration::DiscountConfiguration::Cap?
4011
+
4012
+ attr_accessor payment_fraction: Float?
4013
+
4014
+ def initialize: (
4015
+ ?cap: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSpendThresholdConfiguration::DiscountConfiguration::Cap?,
4016
+ ?payment_fraction: Float?
4017
+ ) -> void
4018
+
4019
+ def to_hash: -> {
4020
+ cap: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSpendThresholdConfiguration::DiscountConfiguration::Cap?,
4021
+ payment_fraction: Float?
4022
+ }
4023
+
4024
+ type cap = { amount: Float, spend_tracker_alias: String }
4025
+
4026
+ class Cap < MetronomeSDK::Internal::Type::BaseModel
4027
+ attr_accessor amount: Float
4028
+
4029
+ attr_accessor spend_tracker_alias: String
4030
+
4031
+ def initialize: (
4032
+ amount: Float,
4033
+ spend_tracker_alias: String
4034
+ ) -> void
4035
+
4036
+ def to_hash: -> { amount: Float, spend_tracker_alias: String }
4037
+ end
4038
+ end
4039
+ end
4040
+
4041
+ type update_subscription =
4042
+ {
4043
+ id: String,
4044
+ ending_before: Time,
4045
+ quantity_updates: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::QuantityUpdate],
4046
+ seat_updates: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates
4047
+ }
4048
+
4049
+ class UpdateSubscription < MetronomeSDK::Internal::Type::BaseModel
4050
+ attr_accessor id: String
4051
+
4052
+ attr_reader ending_before: Time?
4053
+
4054
+ def ending_before=: (Time) -> Time
4055
+
4056
+ attr_reader quantity_updates: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::QuantityUpdate]?
4057
+
4058
+ def quantity_updates=: (
4059
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::QuantityUpdate]
4060
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::QuantityUpdate]
4061
+
4062
+ attr_reader seat_updates: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates?
4063
+
4064
+ def seat_updates=: (
4065
+ MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates
4066
+ ) -> MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates
4067
+
4068
+ def initialize: (
4069
+ id: String,
4070
+ ?ending_before: Time,
4071
+ ?quantity_updates: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::QuantityUpdate],
4072
+ ?seat_updates: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates
4073
+ ) -> void
4074
+
4075
+ def to_hash: -> {
4076
+ id: String,
4077
+ ending_before: Time,
4078
+ quantity_updates: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::QuantityUpdate],
4079
+ seat_updates: MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates
4080
+ }
4081
+
4082
+ type quantity_update =
4083
+ { starting_at: Time, quantity: Float, quantity_delta: Float }
4084
+
4085
+ class QuantityUpdate < MetronomeSDK::Internal::Type::BaseModel
4086
+ attr_accessor starting_at: Time
4087
+
4088
+ attr_reader quantity: Float?
4089
+
4090
+ def quantity=: (Float) -> Float
4091
+
4092
+ attr_reader quantity_delta: Float?
4093
+
4094
+ def quantity_delta=: (Float) -> Float
4095
+
4096
+ def initialize: (
4097
+ starting_at: Time,
4098
+ ?quantity: Float,
4099
+ ?quantity_delta: Float
4100
+ ) -> void
4101
+
4102
+ def to_hash: -> {
4103
+ starting_at: Time,
4104
+ quantity: Float,
4105
+ quantity_delta: Float
4106
+ }
4107
+ end
4108
+
4109
+ type seat_updates =
4110
+ {
4111
+ add_seat_ids: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::AddSeatID],
4112
+ add_unassigned_seats: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::AddUnassignedSeat],
4113
+ remove_seat_ids: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::RemoveSeatID],
4114
+ remove_unassigned_seats: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::RemoveUnassignedSeat]
4115
+ }
4116
+
4117
+ class SeatUpdates < MetronomeSDK::Internal::Type::BaseModel
4118
+ attr_reader add_seat_ids: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::AddSeatID]?
4119
+
4120
+ def add_seat_ids=: (
4121
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::AddSeatID]
4122
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::AddSeatID]
4123
+
4124
+ attr_reader add_unassigned_seats: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::AddUnassignedSeat]?
4125
+
4126
+ def add_unassigned_seats=: (
4127
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::AddUnassignedSeat]
4128
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::AddUnassignedSeat]
4129
+
4130
+ attr_reader remove_seat_ids: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::RemoveSeatID]?
4131
+
4132
+ def remove_seat_ids=: (
4133
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::RemoveSeatID]
4134
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::RemoveSeatID]
4135
+
4136
+ attr_reader remove_unassigned_seats: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::RemoveUnassignedSeat]?
4137
+
4138
+ def remove_unassigned_seats=: (
4139
+ ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::RemoveUnassignedSeat]
4140
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::RemoveUnassignedSeat]
4141
+
4142
+ def initialize: (
4143
+ ?add_seat_ids: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::AddSeatID],
4144
+ ?add_unassigned_seats: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::AddUnassignedSeat],
4145
+ ?remove_seat_ids: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::RemoveSeatID],
4146
+ ?remove_unassigned_seats: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::RemoveUnassignedSeat]
4147
+ ) -> void
4148
+
4149
+ def to_hash: -> {
4150
+ add_seat_ids: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::AddSeatID],
4151
+ add_unassigned_seats: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::AddUnassignedSeat],
4152
+ remove_seat_ids: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::RemoveSeatID],
4153
+ remove_unassigned_seats: ::Array[MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateSubscription::SeatUpdates::RemoveUnassignedSeat]
4154
+ }
4155
+
4156
+ type add_seat_id =
4157
+ { seat_ids: ::Array[String], starting_at: Time }
4158
+
4159
+ class AddSeatID < MetronomeSDK::Internal::Type::BaseModel
4160
+ attr_accessor seat_ids: ::Array[String]
4161
+
4162
+ attr_accessor starting_at: Time
4163
+
4164
+ def initialize: (
4165
+ seat_ids: ::Array[String],
4166
+ starting_at: Time
4167
+ ) -> void
4168
+
4169
+ def to_hash: -> {
4170
+ seat_ids: ::Array[String],
4171
+ starting_at: Time
4172
+ }
4173
+ end
4174
+
4175
+ type add_unassigned_seat =
4176
+ { quantity: Float, starting_at: Time }
4177
+
4178
+ class AddUnassignedSeat < MetronomeSDK::Internal::Type::BaseModel
4179
+ attr_accessor quantity: Float
4180
+
4181
+ attr_accessor starting_at: Time
4182
+
4183
+ def initialize: (quantity: Float, starting_at: Time) -> void
4184
+
4185
+ def to_hash: -> { quantity: Float, starting_at: Time }
4186
+ end
4187
+
4188
+ type remove_seat_id =
4189
+ { seat_ids: ::Array[String], starting_at: Time }
4190
+
4191
+ class RemoveSeatID < MetronomeSDK::Internal::Type::BaseModel
4192
+ attr_accessor seat_ids: ::Array[String]
4193
+
4194
+ attr_accessor starting_at: Time
4195
+
4196
+ def initialize: (
4197
+ seat_ids: ::Array[String],
4198
+ starting_at: Time
4199
+ ) -> void
4200
+
4201
+ def to_hash: -> {
4202
+ seat_ids: ::Array[String],
4203
+ starting_at: Time
4204
+ }
4205
+ end
4206
+
4207
+ type remove_unassigned_seat =
4208
+ { quantity: Float, starting_at: Time }
4209
+
4210
+ class RemoveUnassignedSeat < MetronomeSDK::Internal::Type::BaseModel
4211
+ attr_accessor quantity: Float
4212
+
4213
+ attr_accessor starting_at: Time
4214
+
4215
+ def initialize: (quantity: Float, starting_at: Time) -> void
4216
+
4217
+ def to_hash: -> { quantity: Float, starting_at: Time }
4218
+ end
4219
+ end
4220
+ end
4221
+ end
4222
+ end
12
4223
  end
13
4224
  end
14
4225
  end