metronome-sdk 3.1.0 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +30 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/internal/util.rb +32 -1
  5. data/lib/metronome_sdk/models/commit_rate.rb +29 -3
  6. data/lib/metronome_sdk/models/contract.rb +1 -9
  7. data/lib/metronome_sdk/models/contract_v2.rb +22 -1
  8. data/lib/metronome_sdk/models/overwrite_rate.rb +22 -1
  9. data/lib/metronome_sdk/models/payment_gate_config.rb +0 -1
  10. data/lib/metronome_sdk/models/payment_gate_config_v2.rb +0 -1
  11. data/lib/metronome_sdk/models/rate.rb +22 -1
  12. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +23 -2
  13. data/lib/metronome_sdk/models/v1/contract_create_params.rb +24 -11
  14. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +23 -1
  15. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +21 -1
  16. data/lib/metronome_sdk/models/v1/customers/invoice.rb +10 -1
  17. data/lib/metronome_sdk/models/v1/package_archive_params.rb +24 -0
  18. data/lib/metronome_sdk/models/v1/package_archive_response.rb +18 -0
  19. data/lib/metronome_sdk/models/v1/package_create_params.rb +2719 -0
  20. data/lib/metronome_sdk/models/v1/package_create_response.rb +18 -0
  21. data/lib/metronome_sdk/models/v1/package_list_contracts_on_package_params.rb +69 -0
  22. data/lib/metronome_sdk/models/v1/package_list_contracts_on_package_response.rb +42 -0
  23. data/lib/metronome_sdk/models/v1/package_list_params.rb +52 -0
  24. data/lib/metronome_sdk/models/v1/package_list_response.rb +2446 -0
  25. data/lib/metronome_sdk/models/v1/package_retrieve_params.rb +22 -0
  26. data/lib/metronome_sdk/models/v1/package_retrieve_response.rb +2479 -0
  27. data/lib/metronome_sdk/models/v1/usage_list_with_groups_params.rb +39 -2
  28. data/lib/metronome_sdk/models/v1/usage_list_with_groups_response.rb +27 -3
  29. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +23 -2
  30. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +23 -1
  31. data/lib/metronome_sdk/resources/v1/alerts.rb +5 -0
  32. data/lib/metronome_sdk/resources/v1/audit_logs.rb +4 -1
  33. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +5 -1
  34. data/lib/metronome_sdk/resources/v1/contracts/named_schedules.rb +2 -0
  35. data/lib/metronome_sdk/resources/v1/contracts/products.rb +4 -2
  36. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/named_schedules.rb +2 -0
  37. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +1 -0
  38. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +7 -3
  39. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +10 -3
  40. data/lib/metronome_sdk/resources/v1/contracts.rb +8 -5
  41. data/lib/metronome_sdk/resources/v1/credit_grants.rb +9 -4
  42. data/lib/metronome_sdk/resources/v1/custom_fields.rb +6 -2
  43. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +8 -2
  44. data/lib/metronome_sdk/resources/v1/customers/billing_config.rb +4 -0
  45. data/lib/metronome_sdk/resources/v1/customers/commits.rb +1 -0
  46. data/lib/metronome_sdk/resources/v1/customers/credits.rb +1 -0
  47. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +10 -3
  48. data/lib/metronome_sdk/resources/v1/customers/named_schedules.rb +2 -0
  49. data/lib/metronome_sdk/resources/v1/customers/plans.rb +8 -2
  50. data/lib/metronome_sdk/resources/v1/customers.rb +27 -3
  51. data/lib/metronome_sdk/resources/v1/dashboards.rb +4 -0
  52. data/lib/metronome_sdk/resources/v1/invoices.rb +4 -0
  53. data/lib/metronome_sdk/resources/v1/packages.rb +269 -0
  54. data/lib/metronome_sdk/resources/v1/plans.rb +10 -3
  55. data/lib/metronome_sdk/resources/v1/pricing_units.rb +4 -1
  56. data/lib/metronome_sdk/resources/v1/services.rb +2 -0
  57. data/lib/metronome_sdk/resources/v1/settings/billing_providers.rb +2 -0
  58. data/lib/metronome_sdk/resources/v1/settings.rb +4 -0
  59. data/lib/metronome_sdk/resources/v1/usage.rb +26 -13
  60. data/lib/metronome_sdk/resources/v1.rb +41 -0
  61. data/lib/metronome_sdk/version.rb +1 -1
  62. data/lib/metronome_sdk.rb +11 -0
  63. data/rbi/metronome_sdk/internal/util.rbi +21 -1
  64. data/rbi/metronome_sdk/models/commit_rate.rbi +43 -2
  65. data/rbi/metronome_sdk/models/contract.rbi +0 -11
  66. data/rbi/metronome_sdk/models/contract_v2.rbi +46 -0
  67. data/rbi/metronome_sdk/models/overwrite_rate.rbi +37 -0
  68. data/rbi/metronome_sdk/models/payment_gate_config.rbi +0 -5
  69. data/rbi/metronome_sdk/models/payment_gate_config_v2.rbi +0 -5
  70. data/rbi/metronome_sdk/models/rate.rbi +35 -0
  71. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +46 -5
  72. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +46 -16
  73. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +46 -0
  74. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +46 -0
  75. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +13 -0
  76. data/rbi/metronome_sdk/models/v1/package_archive_params.rbi +48 -0
  77. data/rbi/metronome_sdk/models/v1/package_archive_response.rbi +31 -0
  78. data/rbi/metronome_sdk/models/v1/package_create_params.rbi +6362 -0
  79. data/rbi/metronome_sdk/models/v1/package_create_response.rbi +31 -0
  80. data/rbi/metronome_sdk/models/v1/package_list_contracts_on_package_params.rbi +105 -0
  81. data/rbi/metronome_sdk/models/v1/package_list_contracts_on_package_response.rbi +70 -0
  82. data/rbi/metronome_sdk/models/v1/package_list_params.rbi +123 -0
  83. data/rbi/metronome_sdk/models/v1/package_list_response.rbi +5796 -0
  84. data/rbi/metronome_sdk/models/v1/package_retrieve_params.rbi +43 -0
  85. data/rbi/metronome_sdk/models/v1/package_retrieve_response.rbi +5864 -0
  86. data/rbi/metronome_sdk/models/v1/usage_list_with_groups_params.rbi +52 -0
  87. data/rbi/metronome_sdk/models/v1/usage_list_with_groups_response.rbi +24 -3
  88. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +46 -5
  89. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +46 -0
  90. data/rbi/metronome_sdk/resources/v1/alerts.rbi +5 -0
  91. data/rbi/metronome_sdk/resources/v1/audit_logs.rbi +2 -0
  92. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +3 -0
  93. data/rbi/metronome_sdk/resources/v1/contracts/named_schedules.rbi +2 -0
  94. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +1 -0
  95. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/named_schedules.rbi +2 -0
  96. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbi +1 -0
  97. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +5 -0
  98. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +5 -0
  99. data/rbi/metronome_sdk/resources/v1/contracts.rbi +4 -3
  100. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +3 -0
  101. data/rbi/metronome_sdk/resources/v1/custom_fields.rbi +3 -0
  102. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +5 -0
  103. data/rbi/metronome_sdk/resources/v1/customers/billing_config.rbi +4 -0
  104. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +1 -0
  105. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +1 -0
  106. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +4 -0
  107. data/rbi/metronome_sdk/resources/v1/customers/named_schedules.rbi +2 -0
  108. data/rbi/metronome_sdk/resources/v1/customers/plans.rbi +4 -0
  109. data/rbi/metronome_sdk/resources/v1/customers.rbi +21 -0
  110. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +4 -0
  111. data/rbi/metronome_sdk/resources/v1/invoices.rbi +4 -0
  112. data/rbi/metronome_sdk/resources/v1/packages.rbi +268 -0
  113. data/rbi/metronome_sdk/resources/v1/plans.rbi +4 -0
  114. data/rbi/metronome_sdk/resources/v1/pricing_units.rbi +2 -0
  115. data/rbi/metronome_sdk/resources/v1/services.rbi +2 -0
  116. data/rbi/metronome_sdk/resources/v1/settings/billing_providers.rbi +2 -0
  117. data/rbi/metronome_sdk/resources/v1/settings.rbi +4 -0
  118. data/rbi/metronome_sdk/resources/v1/usage.rbi +35 -8
  119. data/rbi/metronome_sdk/resources/v1.rbi +40 -0
  120. data/sig/metronome_sdk/internal/util.rbs +10 -0
  121. data/sig/metronome_sdk/models/commit_rate.rbs +19 -0
  122. data/sig/metronome_sdk/models/contract.rbs +0 -7
  123. data/sig/metronome_sdk/models/contract_v2.rbs +19 -0
  124. data/sig/metronome_sdk/models/overwrite_rate.rbs +19 -0
  125. data/sig/metronome_sdk/models/payment_gate_config.rbs +1 -2
  126. data/sig/metronome_sdk/models/payment_gate_config_v2.rbs +1 -2
  127. data/sig/metronome_sdk/models/rate.rbs +19 -0
  128. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +20 -2
  129. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +20 -9
  130. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +19 -0
  131. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +19 -0
  132. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +7 -0
  133. data/sig/metronome_sdk/models/v1/package_archive_params.rbs +26 -0
  134. data/sig/metronome_sdk/models/v1/package_archive_response.rbs +15 -0
  135. data/sig/metronome_sdk/models/v1/package_create_params.rbs +2532 -0
  136. data/sig/metronome_sdk/models/v1/package_create_response.rbs +15 -0
  137. data/sig/metronome_sdk/models/v1/package_list_contracts_on_package_params.rbs +63 -0
  138. data/sig/metronome_sdk/models/v1/package_list_contracts_on_package_response.rbs +46 -0
  139. data/sig/metronome_sdk/models/v1/package_list_params.rbs +58 -0
  140. data/sig/metronome_sdk/models/v1/package_list_response.rbs +2441 -0
  141. data/sig/metronome_sdk/models/v1/package_retrieve_params.rbs +26 -0
  142. data/sig/metronome_sdk/models/v1/package_retrieve_response.rbs +2467 -0
  143. data/sig/metronome_sdk/models/v1/usage_list_with_groups_params.rbs +16 -0
  144. data/sig/metronome_sdk/models/v1/usage_list_with_groups_response.rbs +10 -3
  145. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +20 -2
  146. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +19 -0
  147. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -0
  148. data/sig/metronome_sdk/resources/v1/contracts.rbs +0 -1
  149. data/sig/metronome_sdk/resources/v1/packages.rbs +63 -0
  150. data/sig/metronome_sdk/resources/v1/usage.rbs +2 -0
  151. data/sig/metronome_sdk/resources/v1.rbs +2 -0
  152. metadata +35 -2
@@ -0,0 +1,2532 @@
1
+ module MetronomeSDK
2
+ module Models
3
+ module V1
4
+ type package_create_params =
5
+ {
6
+ name: String,
7
+ aliases: ::Array[MetronomeSDK::V1::PackageCreateParams::Alias],
8
+ billing_anchor_date: MetronomeSDK::Models::V1::PackageCreateParams::billing_anchor_date,
9
+ billing_provider: MetronomeSDK::Models::V1::PackageCreateParams::billing_provider,
10
+ commits: ::Array[MetronomeSDK::V1::PackageCreateParams::Commit],
11
+ contract_name: String,
12
+ credits: ::Array[MetronomeSDK::V1::PackageCreateParams::Credit],
13
+ delivery_method: MetronomeSDK::Models::V1::PackageCreateParams::delivery_method,
14
+ duration: MetronomeSDK::V1::PackageCreateParams::Duration,
15
+ multiplier_override_prioritization: MetronomeSDK::Models::V1::PackageCreateParams::multiplier_override_prioritization,
16
+ net_payment_terms_days: Float,
17
+ overrides: ::Array[MetronomeSDK::V1::PackageCreateParams::Override],
18
+ prepaid_balance_threshold_configuration: MetronomeSDK::PrepaidBalanceThresholdConfiguration,
19
+ rate_card_alias: String,
20
+ rate_card_id: String,
21
+ recurring_commits: ::Array[MetronomeSDK::V1::PackageCreateParams::RecurringCommit],
22
+ recurring_credits: ::Array[MetronomeSDK::V1::PackageCreateParams::RecurringCredit],
23
+ scheduled_charges: ::Array[MetronomeSDK::V1::PackageCreateParams::ScheduledCharge],
24
+ scheduled_charges_on_usage_invoices: MetronomeSDK::Models::V1::PackageCreateParams::scheduled_charges_on_usage_invoices,
25
+ spend_threshold_configuration: MetronomeSDK::SpendThresholdConfiguration,
26
+ subscriptions: ::Array[MetronomeSDK::V1::PackageCreateParams::Subscription],
27
+ uniqueness_key: String,
28
+ usage_statement_schedule: MetronomeSDK::V1::PackageCreateParams::UsageStatementSchedule
29
+ }
30
+ & MetronomeSDK::Internal::Type::request_parameters
31
+
32
+ class PackageCreateParams < MetronomeSDK::Internal::Type::BaseModel
33
+ extend MetronomeSDK::Internal::Type::RequestParameters::Converter
34
+ include MetronomeSDK::Internal::Type::RequestParameters
35
+
36
+ attr_accessor name: String
37
+
38
+ attr_reader aliases: ::Array[MetronomeSDK::V1::PackageCreateParams::Alias]?
39
+
40
+ def aliases=: (
41
+ ::Array[MetronomeSDK::V1::PackageCreateParams::Alias]
42
+ ) -> ::Array[MetronomeSDK::V1::PackageCreateParams::Alias]
43
+
44
+ attr_reader billing_anchor_date: MetronomeSDK::Models::V1::PackageCreateParams::billing_anchor_date?
45
+
46
+ def billing_anchor_date=: (
47
+ MetronomeSDK::Models::V1::PackageCreateParams::billing_anchor_date
48
+ ) -> MetronomeSDK::Models::V1::PackageCreateParams::billing_anchor_date
49
+
50
+ attr_reader billing_provider: MetronomeSDK::Models::V1::PackageCreateParams::billing_provider?
51
+
52
+ def billing_provider=: (
53
+ MetronomeSDK::Models::V1::PackageCreateParams::billing_provider
54
+ ) -> MetronomeSDK::Models::V1::PackageCreateParams::billing_provider
55
+
56
+ attr_reader commits: ::Array[MetronomeSDK::V1::PackageCreateParams::Commit]?
57
+
58
+ def commits=: (
59
+ ::Array[MetronomeSDK::V1::PackageCreateParams::Commit]
60
+ ) -> ::Array[MetronomeSDK::V1::PackageCreateParams::Commit]
61
+
62
+ attr_reader contract_name: String?
63
+
64
+ def contract_name=: (String) -> String
65
+
66
+ attr_reader credits: ::Array[MetronomeSDK::V1::PackageCreateParams::Credit]?
67
+
68
+ def credits=: (
69
+ ::Array[MetronomeSDK::V1::PackageCreateParams::Credit]
70
+ ) -> ::Array[MetronomeSDK::V1::PackageCreateParams::Credit]
71
+
72
+ attr_reader delivery_method: MetronomeSDK::Models::V1::PackageCreateParams::delivery_method?
73
+
74
+ def delivery_method=: (
75
+ MetronomeSDK::Models::V1::PackageCreateParams::delivery_method
76
+ ) -> MetronomeSDK::Models::V1::PackageCreateParams::delivery_method
77
+
78
+ attr_reader duration: MetronomeSDK::V1::PackageCreateParams::Duration?
79
+
80
+ def duration=: (
81
+ MetronomeSDK::V1::PackageCreateParams::Duration
82
+ ) -> MetronomeSDK::V1::PackageCreateParams::Duration
83
+
84
+ attr_reader multiplier_override_prioritization: MetronomeSDK::Models::V1::PackageCreateParams::multiplier_override_prioritization?
85
+
86
+ def multiplier_override_prioritization=: (
87
+ MetronomeSDK::Models::V1::PackageCreateParams::multiplier_override_prioritization
88
+ ) -> MetronomeSDK::Models::V1::PackageCreateParams::multiplier_override_prioritization
89
+
90
+ attr_reader net_payment_terms_days: Float?
91
+
92
+ def net_payment_terms_days=: (Float) -> Float
93
+
94
+ attr_reader overrides: ::Array[MetronomeSDK::V1::PackageCreateParams::Override]?
95
+
96
+ def overrides=: (
97
+ ::Array[MetronomeSDK::V1::PackageCreateParams::Override]
98
+ ) -> ::Array[MetronomeSDK::V1::PackageCreateParams::Override]
99
+
100
+ attr_reader prepaid_balance_threshold_configuration: MetronomeSDK::PrepaidBalanceThresholdConfiguration?
101
+
102
+ def prepaid_balance_threshold_configuration=: (
103
+ MetronomeSDK::PrepaidBalanceThresholdConfiguration
104
+ ) -> MetronomeSDK::PrepaidBalanceThresholdConfiguration
105
+
106
+ attr_reader rate_card_alias: String?
107
+
108
+ def rate_card_alias=: (String) -> String
109
+
110
+ attr_reader rate_card_id: String?
111
+
112
+ def rate_card_id=: (String) -> String
113
+
114
+ attr_reader recurring_commits: ::Array[MetronomeSDK::V1::PackageCreateParams::RecurringCommit]?
115
+
116
+ def recurring_commits=: (
117
+ ::Array[MetronomeSDK::V1::PackageCreateParams::RecurringCommit]
118
+ ) -> ::Array[MetronomeSDK::V1::PackageCreateParams::RecurringCommit]
119
+
120
+ attr_reader recurring_credits: ::Array[MetronomeSDK::V1::PackageCreateParams::RecurringCredit]?
121
+
122
+ def recurring_credits=: (
123
+ ::Array[MetronomeSDK::V1::PackageCreateParams::RecurringCredit]
124
+ ) -> ::Array[MetronomeSDK::V1::PackageCreateParams::RecurringCredit]
125
+
126
+ attr_reader scheduled_charges: ::Array[MetronomeSDK::V1::PackageCreateParams::ScheduledCharge]?
127
+
128
+ def scheduled_charges=: (
129
+ ::Array[MetronomeSDK::V1::PackageCreateParams::ScheduledCharge]
130
+ ) -> ::Array[MetronomeSDK::V1::PackageCreateParams::ScheduledCharge]
131
+
132
+ attr_reader scheduled_charges_on_usage_invoices: MetronomeSDK::Models::V1::PackageCreateParams::scheduled_charges_on_usage_invoices?
133
+
134
+ def scheduled_charges_on_usage_invoices=: (
135
+ MetronomeSDK::Models::V1::PackageCreateParams::scheduled_charges_on_usage_invoices
136
+ ) -> MetronomeSDK::Models::V1::PackageCreateParams::scheduled_charges_on_usage_invoices
137
+
138
+ attr_reader spend_threshold_configuration: MetronomeSDK::SpendThresholdConfiguration?
139
+
140
+ def spend_threshold_configuration=: (
141
+ MetronomeSDK::SpendThresholdConfiguration
142
+ ) -> MetronomeSDK::SpendThresholdConfiguration
143
+
144
+ attr_reader subscriptions: ::Array[MetronomeSDK::V1::PackageCreateParams::Subscription]?
145
+
146
+ def subscriptions=: (
147
+ ::Array[MetronomeSDK::V1::PackageCreateParams::Subscription]
148
+ ) -> ::Array[MetronomeSDK::V1::PackageCreateParams::Subscription]
149
+
150
+ attr_reader uniqueness_key: String?
151
+
152
+ def uniqueness_key=: (String) -> String
153
+
154
+ attr_reader usage_statement_schedule: MetronomeSDK::V1::PackageCreateParams::UsageStatementSchedule?
155
+
156
+ def usage_statement_schedule=: (
157
+ MetronomeSDK::V1::PackageCreateParams::UsageStatementSchedule
158
+ ) -> MetronomeSDK::V1::PackageCreateParams::UsageStatementSchedule
159
+
160
+ def initialize: (
161
+ name: String,
162
+ ?aliases: ::Array[MetronomeSDK::V1::PackageCreateParams::Alias],
163
+ ?billing_anchor_date: MetronomeSDK::Models::V1::PackageCreateParams::billing_anchor_date,
164
+ ?billing_provider: MetronomeSDK::Models::V1::PackageCreateParams::billing_provider,
165
+ ?commits: ::Array[MetronomeSDK::V1::PackageCreateParams::Commit],
166
+ ?contract_name: String,
167
+ ?credits: ::Array[MetronomeSDK::V1::PackageCreateParams::Credit],
168
+ ?delivery_method: MetronomeSDK::Models::V1::PackageCreateParams::delivery_method,
169
+ ?duration: MetronomeSDK::V1::PackageCreateParams::Duration,
170
+ ?multiplier_override_prioritization: MetronomeSDK::Models::V1::PackageCreateParams::multiplier_override_prioritization,
171
+ ?net_payment_terms_days: Float,
172
+ ?overrides: ::Array[MetronomeSDK::V1::PackageCreateParams::Override],
173
+ ?prepaid_balance_threshold_configuration: MetronomeSDK::PrepaidBalanceThresholdConfiguration,
174
+ ?rate_card_alias: String,
175
+ ?rate_card_id: String,
176
+ ?recurring_commits: ::Array[MetronomeSDK::V1::PackageCreateParams::RecurringCommit],
177
+ ?recurring_credits: ::Array[MetronomeSDK::V1::PackageCreateParams::RecurringCredit],
178
+ ?scheduled_charges: ::Array[MetronomeSDK::V1::PackageCreateParams::ScheduledCharge],
179
+ ?scheduled_charges_on_usage_invoices: MetronomeSDK::Models::V1::PackageCreateParams::scheduled_charges_on_usage_invoices,
180
+ ?spend_threshold_configuration: MetronomeSDK::SpendThresholdConfiguration,
181
+ ?subscriptions: ::Array[MetronomeSDK::V1::PackageCreateParams::Subscription],
182
+ ?uniqueness_key: String,
183
+ ?usage_statement_schedule: MetronomeSDK::V1::PackageCreateParams::UsageStatementSchedule,
184
+ ?request_options: MetronomeSDK::request_opts
185
+ ) -> void
186
+
187
+ def to_hash: -> {
188
+ name: String,
189
+ aliases: ::Array[MetronomeSDK::V1::PackageCreateParams::Alias],
190
+ billing_anchor_date: MetronomeSDK::Models::V1::PackageCreateParams::billing_anchor_date,
191
+ billing_provider: MetronomeSDK::Models::V1::PackageCreateParams::billing_provider,
192
+ commits: ::Array[MetronomeSDK::V1::PackageCreateParams::Commit],
193
+ contract_name: String,
194
+ credits: ::Array[MetronomeSDK::V1::PackageCreateParams::Credit],
195
+ delivery_method: MetronomeSDK::Models::V1::PackageCreateParams::delivery_method,
196
+ duration: MetronomeSDK::V1::PackageCreateParams::Duration,
197
+ multiplier_override_prioritization: MetronomeSDK::Models::V1::PackageCreateParams::multiplier_override_prioritization,
198
+ net_payment_terms_days: Float,
199
+ overrides: ::Array[MetronomeSDK::V1::PackageCreateParams::Override],
200
+ prepaid_balance_threshold_configuration: MetronomeSDK::PrepaidBalanceThresholdConfiguration,
201
+ rate_card_alias: String,
202
+ rate_card_id: String,
203
+ recurring_commits: ::Array[MetronomeSDK::V1::PackageCreateParams::RecurringCommit],
204
+ recurring_credits: ::Array[MetronomeSDK::V1::PackageCreateParams::RecurringCredit],
205
+ scheduled_charges: ::Array[MetronomeSDK::V1::PackageCreateParams::ScheduledCharge],
206
+ scheduled_charges_on_usage_invoices: MetronomeSDK::Models::V1::PackageCreateParams::scheduled_charges_on_usage_invoices,
207
+ spend_threshold_configuration: MetronomeSDK::SpendThresholdConfiguration,
208
+ subscriptions: ::Array[MetronomeSDK::V1::PackageCreateParams::Subscription],
209
+ uniqueness_key: String,
210
+ usage_statement_schedule: MetronomeSDK::V1::PackageCreateParams::UsageStatementSchedule,
211
+ request_options: MetronomeSDK::RequestOptions
212
+ }
213
+
214
+ type alias_ = { name: String, ending_before: Time, starting_at: Time }
215
+
216
+ class Alias < MetronomeSDK::Internal::Type::BaseModel
217
+ attr_accessor name: String
218
+
219
+ attr_reader ending_before: Time?
220
+
221
+ def ending_before=: (Time) -> Time
222
+
223
+ attr_reader starting_at: Time?
224
+
225
+ def starting_at=: (Time) -> Time
226
+
227
+ def initialize: (
228
+ name: String,
229
+ ?ending_before: Time,
230
+ ?starting_at: Time
231
+ ) -> void
232
+
233
+ def to_hash: -> {
234
+ name: String,
235
+ ending_before: Time,
236
+ starting_at: Time
237
+ }
238
+ end
239
+
240
+ type billing_anchor_date = :contract_start_date | :first_billing_period
241
+
242
+ module BillingAnchorDate
243
+ extend MetronomeSDK::Internal::Type::Enum
244
+
245
+ CONTRACT_START_DATE: :contract_start_date
246
+ FIRST_BILLING_PERIOD: :first_billing_period
247
+
248
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::billing_anchor_date]
249
+ end
250
+
251
+ type billing_provider =
252
+ :aws_marketplace
253
+ | :azure_marketplace
254
+ | :gcp_marketplace
255
+ | :stripe
256
+ | :netsuite
257
+
258
+ module BillingProvider
259
+ extend MetronomeSDK::Internal::Type::Enum
260
+
261
+ AWS_MARKETPLACE: :aws_marketplace
262
+ AZURE_MARKETPLACE: :azure_marketplace
263
+ GCP_MARKETPLACE: :gcp_marketplace
264
+ STRIPE: :stripe
265
+ NETSUITE: :netsuite
266
+
267
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::billing_provider]
268
+ end
269
+
270
+ type commit =
271
+ {
272
+ access_schedule: MetronomeSDK::V1::PackageCreateParams::Commit::AccessSchedule,
273
+ product_id: String,
274
+ type: MetronomeSDK::Models::V1::PackageCreateParams::Commit::type_,
275
+ applicable_product_ids: ::Array[String],
276
+ applicable_product_tags: ::Array[String],
277
+ custom_fields: ::Hash[Symbol, String],
278
+ description: String,
279
+ invoice_schedule: MetronomeSDK::V1::PackageCreateParams::Commit::InvoiceSchedule,
280
+ name: String,
281
+ priority: Float,
282
+ rate_type: MetronomeSDK::Models::V1::PackageCreateParams::Commit::rate_type,
283
+ rollover_fraction: Float,
284
+ specifiers: ::Array[MetronomeSDK::CommitSpecifierInput],
285
+ temporary_id: String
286
+ }
287
+
288
+ class Commit < MetronomeSDK::Internal::Type::BaseModel
289
+ attr_accessor access_schedule: MetronomeSDK::V1::PackageCreateParams::Commit::AccessSchedule
290
+
291
+ attr_accessor product_id: String
292
+
293
+ attr_accessor type: MetronomeSDK::Models::V1::PackageCreateParams::Commit::type_
294
+
295
+ attr_reader applicable_product_ids: ::Array[String]?
296
+
297
+ def applicable_product_ids=: (::Array[String]) -> ::Array[String]
298
+
299
+ attr_reader applicable_product_tags: ::Array[String]?
300
+
301
+ def applicable_product_tags=: (::Array[String]) -> ::Array[String]
302
+
303
+ attr_reader custom_fields: ::Hash[Symbol, String]?
304
+
305
+ def custom_fields=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
306
+
307
+ attr_reader description: String?
308
+
309
+ def description=: (String) -> String
310
+
311
+ attr_reader invoice_schedule: MetronomeSDK::V1::PackageCreateParams::Commit::InvoiceSchedule?
312
+
313
+ def invoice_schedule=: (
314
+ MetronomeSDK::V1::PackageCreateParams::Commit::InvoiceSchedule
315
+ ) -> MetronomeSDK::V1::PackageCreateParams::Commit::InvoiceSchedule
316
+
317
+ attr_reader name: String?
318
+
319
+ def name=: (String) -> String
320
+
321
+ attr_reader priority: Float?
322
+
323
+ def priority=: (Float) -> Float
324
+
325
+ attr_reader rate_type: MetronomeSDK::Models::V1::PackageCreateParams::Commit::rate_type?
326
+
327
+ def rate_type=: (
328
+ MetronomeSDK::Models::V1::PackageCreateParams::Commit::rate_type
329
+ ) -> MetronomeSDK::Models::V1::PackageCreateParams::Commit::rate_type
330
+
331
+ attr_reader rollover_fraction: Float?
332
+
333
+ def rollover_fraction=: (Float) -> Float
334
+
335
+ attr_reader specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]?
336
+
337
+ def specifiers=: (
338
+ ::Array[MetronomeSDK::CommitSpecifierInput]
339
+ ) -> ::Array[MetronomeSDK::CommitSpecifierInput]
340
+
341
+ attr_reader temporary_id: String?
342
+
343
+ def temporary_id=: (String) -> String
344
+
345
+ def initialize: (
346
+ access_schedule: MetronomeSDK::V1::PackageCreateParams::Commit::AccessSchedule,
347
+ product_id: String,
348
+ type: MetronomeSDK::Models::V1::PackageCreateParams::Commit::type_,
349
+ ?applicable_product_ids: ::Array[String],
350
+ ?applicable_product_tags: ::Array[String],
351
+ ?custom_fields: ::Hash[Symbol, String],
352
+ ?description: String,
353
+ ?invoice_schedule: MetronomeSDK::V1::PackageCreateParams::Commit::InvoiceSchedule,
354
+ ?name: String,
355
+ ?priority: Float,
356
+ ?rate_type: MetronomeSDK::Models::V1::PackageCreateParams::Commit::rate_type,
357
+ ?rollover_fraction: Float,
358
+ ?specifiers: ::Array[MetronomeSDK::CommitSpecifierInput],
359
+ ?temporary_id: String
360
+ ) -> void
361
+
362
+ def to_hash: -> {
363
+ access_schedule: MetronomeSDK::V1::PackageCreateParams::Commit::AccessSchedule,
364
+ product_id: String,
365
+ type: MetronomeSDK::Models::V1::PackageCreateParams::Commit::type_,
366
+ applicable_product_ids: ::Array[String],
367
+ applicable_product_tags: ::Array[String],
368
+ custom_fields: ::Hash[Symbol, String],
369
+ description: String,
370
+ invoice_schedule: MetronomeSDK::V1::PackageCreateParams::Commit::InvoiceSchedule,
371
+ name: String,
372
+ priority: Float,
373
+ rate_type: MetronomeSDK::Models::V1::PackageCreateParams::Commit::rate_type,
374
+ rollover_fraction: Float,
375
+ specifiers: ::Array[MetronomeSDK::CommitSpecifierInput],
376
+ temporary_id: String
377
+ }
378
+
379
+ type access_schedule =
380
+ {
381
+ schedule_items: ::Array[MetronomeSDK::V1::PackageCreateParams::Commit::AccessSchedule::ScheduleItem],
382
+ credit_type_id: String
383
+ }
384
+
385
+ class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
386
+ attr_accessor schedule_items: ::Array[MetronomeSDK::V1::PackageCreateParams::Commit::AccessSchedule::ScheduleItem]
387
+
388
+ attr_reader credit_type_id: String?
389
+
390
+ def credit_type_id=: (String) -> String
391
+
392
+ def initialize: (
393
+ schedule_items: ::Array[MetronomeSDK::V1::PackageCreateParams::Commit::AccessSchedule::ScheduleItem],
394
+ ?credit_type_id: String
395
+ ) -> void
396
+
397
+ def to_hash: -> {
398
+ schedule_items: ::Array[MetronomeSDK::V1::PackageCreateParams::Commit::AccessSchedule::ScheduleItem],
399
+ credit_type_id: String
400
+ }
401
+
402
+ type schedule_item =
403
+ {
404
+ amount: Float,
405
+ duration: MetronomeSDK::V1::PackageCreateParams::Commit::AccessSchedule::ScheduleItem::Duration,
406
+ starting_at_offset: MetronomeSDK::V1::PackageCreateParams::Commit::AccessSchedule::ScheduleItem::StartingAtOffset
407
+ }
408
+
409
+ class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
410
+ attr_accessor amount: Float
411
+
412
+ attr_accessor duration: MetronomeSDK::V1::PackageCreateParams::Commit::AccessSchedule::ScheduleItem::Duration
413
+
414
+ attr_accessor starting_at_offset: MetronomeSDK::V1::PackageCreateParams::Commit::AccessSchedule::ScheduleItem::StartingAtOffset
415
+
416
+ def initialize: (
417
+ amount: Float,
418
+ duration: MetronomeSDK::V1::PackageCreateParams::Commit::AccessSchedule::ScheduleItem::Duration,
419
+ starting_at_offset: MetronomeSDK::V1::PackageCreateParams::Commit::AccessSchedule::ScheduleItem::StartingAtOffset
420
+ ) -> void
421
+
422
+ def to_hash: -> {
423
+ amount: Float,
424
+ duration: MetronomeSDK::V1::PackageCreateParams::Commit::AccessSchedule::ScheduleItem::Duration,
425
+ starting_at_offset: MetronomeSDK::V1::PackageCreateParams::Commit::AccessSchedule::ScheduleItem::StartingAtOffset
426
+ }
427
+
428
+ type duration =
429
+ {
430
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::Commit::AccessSchedule::ScheduleItem::Duration::unit,
431
+ value: Integer
432
+ }
433
+
434
+ class Duration < MetronomeSDK::Internal::Type::BaseModel
435
+ attr_accessor unit: MetronomeSDK::Models::V1::PackageCreateParams::Commit::AccessSchedule::ScheduleItem::Duration::unit
436
+
437
+ attr_accessor value: Integer
438
+
439
+ def initialize: (
440
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::Commit::AccessSchedule::ScheduleItem::Duration::unit,
441
+ value: Integer
442
+ ) -> void
443
+
444
+ def to_hash: -> {
445
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::Commit::AccessSchedule::ScheduleItem::Duration::unit,
446
+ value: Integer
447
+ }
448
+
449
+ type unit = :DAYS | :WEEKS | :MONTHS | :YEARS
450
+
451
+ module Unit
452
+ extend MetronomeSDK::Internal::Type::Enum
453
+
454
+ DAYS: :DAYS
455
+ WEEKS: :WEEKS
456
+ MONTHS: :MONTHS
457
+ YEARS: :YEARS
458
+
459
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::Commit::AccessSchedule::ScheduleItem::Duration::unit]
460
+ end
461
+ end
462
+
463
+ type starting_at_offset =
464
+ {
465
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::Commit::AccessSchedule::ScheduleItem::StartingAtOffset::unit,
466
+ value: Integer
467
+ }
468
+
469
+ class StartingAtOffset < MetronomeSDK::Internal::Type::BaseModel
470
+ attr_accessor unit: MetronomeSDK::Models::V1::PackageCreateParams::Commit::AccessSchedule::ScheduleItem::StartingAtOffset::unit
471
+
472
+ attr_accessor value: Integer
473
+
474
+ def initialize: (
475
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::Commit::AccessSchedule::ScheduleItem::StartingAtOffset::unit,
476
+ value: Integer
477
+ ) -> void
478
+
479
+ def to_hash: -> {
480
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::Commit::AccessSchedule::ScheduleItem::StartingAtOffset::unit,
481
+ value: Integer
482
+ }
483
+
484
+ type unit = :DAYS | :WEEKS | :MONTHS | :YEARS
485
+
486
+ module Unit
487
+ extend MetronomeSDK::Internal::Type::Enum
488
+
489
+ DAYS: :DAYS
490
+ WEEKS: :WEEKS
491
+ MONTHS: :MONTHS
492
+ YEARS: :YEARS
493
+
494
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::Commit::AccessSchedule::ScheduleItem::StartingAtOffset::unit]
495
+ end
496
+ end
497
+ end
498
+ end
499
+
500
+ type type_ = :PREPAID | :POSTPAID
501
+
502
+ module Type
503
+ extend MetronomeSDK::Internal::Type::Enum
504
+
505
+ PREPAID: :PREPAID
506
+ POSTPAID: :POSTPAID
507
+
508
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::Commit::type_]
509
+ end
510
+
511
+ type invoice_schedule =
512
+ {
513
+ schedule_items: ::Array[MetronomeSDK::V1::PackageCreateParams::Commit::InvoiceSchedule::ScheduleItem],
514
+ credit_type_id: String,
515
+ do_not_invoice: bool
516
+ }
517
+
518
+ class InvoiceSchedule < MetronomeSDK::Internal::Type::BaseModel
519
+ attr_accessor schedule_items: ::Array[MetronomeSDK::V1::PackageCreateParams::Commit::InvoiceSchedule::ScheduleItem]
520
+
521
+ attr_reader credit_type_id: String?
522
+
523
+ def credit_type_id=: (String) -> String
524
+
525
+ attr_reader do_not_invoice: bool?
526
+
527
+ def do_not_invoice=: (bool) -> bool
528
+
529
+ def initialize: (
530
+ schedule_items: ::Array[MetronomeSDK::V1::PackageCreateParams::Commit::InvoiceSchedule::ScheduleItem],
531
+ ?credit_type_id: String,
532
+ ?do_not_invoice: bool
533
+ ) -> void
534
+
535
+ def to_hash: -> {
536
+ schedule_items: ::Array[MetronomeSDK::V1::PackageCreateParams::Commit::InvoiceSchedule::ScheduleItem],
537
+ credit_type_id: String,
538
+ do_not_invoice: bool
539
+ }
540
+
541
+ type schedule_item =
542
+ {
543
+ date_offset: MetronomeSDK::V1::PackageCreateParams::Commit::InvoiceSchedule::ScheduleItem::DateOffset,
544
+ quantity: Float,
545
+ unit_price: Float
546
+ }
547
+
548
+ class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
549
+ attr_accessor date_offset: MetronomeSDK::V1::PackageCreateParams::Commit::InvoiceSchedule::ScheduleItem::DateOffset
550
+
551
+ attr_accessor quantity: Float
552
+
553
+ attr_accessor unit_price: Float
554
+
555
+ def initialize: (
556
+ date_offset: MetronomeSDK::V1::PackageCreateParams::Commit::InvoiceSchedule::ScheduleItem::DateOffset,
557
+ quantity: Float,
558
+ unit_price: Float
559
+ ) -> void
560
+
561
+ def to_hash: -> {
562
+ date_offset: MetronomeSDK::V1::PackageCreateParams::Commit::InvoiceSchedule::ScheduleItem::DateOffset,
563
+ quantity: Float,
564
+ unit_price: Float
565
+ }
566
+
567
+ type date_offset =
568
+ {
569
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::Commit::InvoiceSchedule::ScheduleItem::DateOffset::unit,
570
+ value: Integer
571
+ }
572
+
573
+ class DateOffset < MetronomeSDK::Internal::Type::BaseModel
574
+ attr_accessor unit: MetronomeSDK::Models::V1::PackageCreateParams::Commit::InvoiceSchedule::ScheduleItem::DateOffset::unit
575
+
576
+ attr_accessor value: Integer
577
+
578
+ def initialize: (
579
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::Commit::InvoiceSchedule::ScheduleItem::DateOffset::unit,
580
+ value: Integer
581
+ ) -> void
582
+
583
+ def to_hash: -> {
584
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::Commit::InvoiceSchedule::ScheduleItem::DateOffset::unit,
585
+ value: Integer
586
+ }
587
+
588
+ type unit = :DAYS | :WEEKS | :MONTHS | :YEARS
589
+
590
+ module Unit
591
+ extend MetronomeSDK::Internal::Type::Enum
592
+
593
+ DAYS: :DAYS
594
+ WEEKS: :WEEKS
595
+ MONTHS: :MONTHS
596
+ YEARS: :YEARS
597
+
598
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::Commit::InvoiceSchedule::ScheduleItem::DateOffset::unit]
599
+ end
600
+ end
601
+ end
602
+ end
603
+
604
+ type rate_type = :COMMIT_RATE | :LIST_RATE
605
+
606
+ module RateType
607
+ extend MetronomeSDK::Internal::Type::Enum
608
+
609
+ COMMIT_RATE: :COMMIT_RATE
610
+ LIST_RATE: :LIST_RATE
611
+
612
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::Commit::rate_type]
613
+ end
614
+ end
615
+
616
+ type credit =
617
+ {
618
+ access_schedule: MetronomeSDK::V1::PackageCreateParams::Credit::AccessSchedule,
619
+ product_id: String,
620
+ applicable_product_ids: ::Array[String],
621
+ applicable_product_tags: ::Array[String],
622
+ custom_fields: ::Hash[Symbol, String],
623
+ description: String,
624
+ name: String,
625
+ priority: Float,
626
+ rate_type: MetronomeSDK::Models::V1::PackageCreateParams::Credit::rate_type,
627
+ specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]
628
+ }
629
+
630
+ class Credit < MetronomeSDK::Internal::Type::BaseModel
631
+ attr_accessor access_schedule: MetronomeSDK::V1::PackageCreateParams::Credit::AccessSchedule
632
+
633
+ attr_accessor product_id: String
634
+
635
+ attr_reader applicable_product_ids: ::Array[String]?
636
+
637
+ def applicable_product_ids=: (::Array[String]) -> ::Array[String]
638
+
639
+ attr_reader applicable_product_tags: ::Array[String]?
640
+
641
+ def applicable_product_tags=: (::Array[String]) -> ::Array[String]
642
+
643
+ attr_reader custom_fields: ::Hash[Symbol, String]?
644
+
645
+ def custom_fields=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
646
+
647
+ attr_reader description: String?
648
+
649
+ def description=: (String) -> String
650
+
651
+ attr_reader name: String?
652
+
653
+ def name=: (String) -> String
654
+
655
+ attr_reader priority: Float?
656
+
657
+ def priority=: (Float) -> Float
658
+
659
+ attr_reader rate_type: MetronomeSDK::Models::V1::PackageCreateParams::Credit::rate_type?
660
+
661
+ def rate_type=: (
662
+ MetronomeSDK::Models::V1::PackageCreateParams::Credit::rate_type
663
+ ) -> MetronomeSDK::Models::V1::PackageCreateParams::Credit::rate_type
664
+
665
+ attr_reader specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]?
666
+
667
+ def specifiers=: (
668
+ ::Array[MetronomeSDK::CommitSpecifierInput]
669
+ ) -> ::Array[MetronomeSDK::CommitSpecifierInput]
670
+
671
+ def initialize: (
672
+ access_schedule: MetronomeSDK::V1::PackageCreateParams::Credit::AccessSchedule,
673
+ product_id: String,
674
+ ?applicable_product_ids: ::Array[String],
675
+ ?applicable_product_tags: ::Array[String],
676
+ ?custom_fields: ::Hash[Symbol, String],
677
+ ?description: String,
678
+ ?name: String,
679
+ ?priority: Float,
680
+ ?rate_type: MetronomeSDK::Models::V1::PackageCreateParams::Credit::rate_type,
681
+ ?specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]
682
+ ) -> void
683
+
684
+ def to_hash: -> {
685
+ access_schedule: MetronomeSDK::V1::PackageCreateParams::Credit::AccessSchedule,
686
+ product_id: String,
687
+ applicable_product_ids: ::Array[String],
688
+ applicable_product_tags: ::Array[String],
689
+ custom_fields: ::Hash[Symbol, String],
690
+ description: String,
691
+ name: String,
692
+ priority: Float,
693
+ rate_type: MetronomeSDK::Models::V1::PackageCreateParams::Credit::rate_type,
694
+ specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]
695
+ }
696
+
697
+ type access_schedule =
698
+ {
699
+ schedule_items: ::Array[MetronomeSDK::V1::PackageCreateParams::Credit::AccessSchedule::ScheduleItem],
700
+ credit_type_id: String
701
+ }
702
+
703
+ class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
704
+ attr_accessor schedule_items: ::Array[MetronomeSDK::V1::PackageCreateParams::Credit::AccessSchedule::ScheduleItem]
705
+
706
+ attr_reader credit_type_id: String?
707
+
708
+ def credit_type_id=: (String) -> String
709
+
710
+ def initialize: (
711
+ schedule_items: ::Array[MetronomeSDK::V1::PackageCreateParams::Credit::AccessSchedule::ScheduleItem],
712
+ ?credit_type_id: String
713
+ ) -> void
714
+
715
+ def to_hash: -> {
716
+ schedule_items: ::Array[MetronomeSDK::V1::PackageCreateParams::Credit::AccessSchedule::ScheduleItem],
717
+ credit_type_id: String
718
+ }
719
+
720
+ type schedule_item =
721
+ {
722
+ amount: Float,
723
+ duration: MetronomeSDK::V1::PackageCreateParams::Credit::AccessSchedule::ScheduleItem::Duration,
724
+ starting_at_offset: MetronomeSDK::V1::PackageCreateParams::Credit::AccessSchedule::ScheduleItem::StartingAtOffset
725
+ }
726
+
727
+ class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
728
+ attr_accessor amount: Float
729
+
730
+ attr_accessor duration: MetronomeSDK::V1::PackageCreateParams::Credit::AccessSchedule::ScheduleItem::Duration
731
+
732
+ attr_accessor starting_at_offset: MetronomeSDK::V1::PackageCreateParams::Credit::AccessSchedule::ScheduleItem::StartingAtOffset
733
+
734
+ def initialize: (
735
+ amount: Float,
736
+ duration: MetronomeSDK::V1::PackageCreateParams::Credit::AccessSchedule::ScheduleItem::Duration,
737
+ starting_at_offset: MetronomeSDK::V1::PackageCreateParams::Credit::AccessSchedule::ScheduleItem::StartingAtOffset
738
+ ) -> void
739
+
740
+ def to_hash: -> {
741
+ amount: Float,
742
+ duration: MetronomeSDK::V1::PackageCreateParams::Credit::AccessSchedule::ScheduleItem::Duration,
743
+ starting_at_offset: MetronomeSDK::V1::PackageCreateParams::Credit::AccessSchedule::ScheduleItem::StartingAtOffset
744
+ }
745
+
746
+ type duration =
747
+ {
748
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::Credit::AccessSchedule::ScheduleItem::Duration::unit,
749
+ value: Integer
750
+ }
751
+
752
+ class Duration < MetronomeSDK::Internal::Type::BaseModel
753
+ attr_accessor unit: MetronomeSDK::Models::V1::PackageCreateParams::Credit::AccessSchedule::ScheduleItem::Duration::unit
754
+
755
+ attr_accessor value: Integer
756
+
757
+ def initialize: (
758
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::Credit::AccessSchedule::ScheduleItem::Duration::unit,
759
+ value: Integer
760
+ ) -> void
761
+
762
+ def to_hash: -> {
763
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::Credit::AccessSchedule::ScheduleItem::Duration::unit,
764
+ value: Integer
765
+ }
766
+
767
+ type unit = :DAYS | :WEEKS | :MONTHS | :YEARS
768
+
769
+ module Unit
770
+ extend MetronomeSDK::Internal::Type::Enum
771
+
772
+ DAYS: :DAYS
773
+ WEEKS: :WEEKS
774
+ MONTHS: :MONTHS
775
+ YEARS: :YEARS
776
+
777
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::Credit::AccessSchedule::ScheduleItem::Duration::unit]
778
+ end
779
+ end
780
+
781
+ type starting_at_offset =
782
+ {
783
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::Credit::AccessSchedule::ScheduleItem::StartingAtOffset::unit,
784
+ value: Integer
785
+ }
786
+
787
+ class StartingAtOffset < MetronomeSDK::Internal::Type::BaseModel
788
+ attr_accessor unit: MetronomeSDK::Models::V1::PackageCreateParams::Credit::AccessSchedule::ScheduleItem::StartingAtOffset::unit
789
+
790
+ attr_accessor value: Integer
791
+
792
+ def initialize: (
793
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::Credit::AccessSchedule::ScheduleItem::StartingAtOffset::unit,
794
+ value: Integer
795
+ ) -> void
796
+
797
+ def to_hash: -> {
798
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::Credit::AccessSchedule::ScheduleItem::StartingAtOffset::unit,
799
+ value: Integer
800
+ }
801
+
802
+ type unit = :DAYS | :WEEKS | :MONTHS | :YEARS
803
+
804
+ module Unit
805
+ extend MetronomeSDK::Internal::Type::Enum
806
+
807
+ DAYS: :DAYS
808
+ WEEKS: :WEEKS
809
+ MONTHS: :MONTHS
810
+ YEARS: :YEARS
811
+
812
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::Credit::AccessSchedule::ScheduleItem::StartingAtOffset::unit]
813
+ end
814
+ end
815
+ end
816
+ end
817
+
818
+ type rate_type = :COMMIT_RATE | :LIST_RATE
819
+
820
+ module RateType
821
+ extend MetronomeSDK::Internal::Type::Enum
822
+
823
+ COMMIT_RATE: :COMMIT_RATE
824
+ LIST_RATE: :LIST_RATE
825
+
826
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::Credit::rate_type]
827
+ end
828
+ end
829
+
830
+ type delivery_method =
831
+ :direct_to_billing_provider | :aws_sqs | :tackle | :aws_sns
832
+
833
+ module DeliveryMethod
834
+ extend MetronomeSDK::Internal::Type::Enum
835
+
836
+ DIRECT_TO_BILLING_PROVIDER: :direct_to_billing_provider
837
+ AWS_SQS: :aws_sqs
838
+ TACKLE: :tackle
839
+ AWS_SNS: :aws_sns
840
+
841
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::delivery_method]
842
+ end
843
+
844
+ type duration =
845
+ {
846
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::Duration::unit,
847
+ value: Integer
848
+ }
849
+
850
+ class Duration < MetronomeSDK::Internal::Type::BaseModel
851
+ attr_accessor unit: MetronomeSDK::Models::V1::PackageCreateParams::Duration::unit
852
+
853
+ attr_accessor value: Integer
854
+
855
+ def initialize: (
856
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::Duration::unit,
857
+ value: Integer
858
+ ) -> void
859
+
860
+ def to_hash: -> {
861
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::Duration::unit,
862
+ value: Integer
863
+ }
864
+
865
+ type unit = :DAYS | :WEEKS | :MONTHS | :YEARS
866
+
867
+ module Unit
868
+ extend MetronomeSDK::Internal::Type::Enum
869
+
870
+ DAYS: :DAYS
871
+ WEEKS: :WEEKS
872
+ MONTHS: :MONTHS
873
+ YEARS: :YEARS
874
+
875
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::Duration::unit]
876
+ end
877
+ end
878
+
879
+ type multiplier_override_prioritization = :LOWEST_MULTIPLIER | :EXPLICIT
880
+
881
+ module MultiplierOverridePrioritization
882
+ extend MetronomeSDK::Internal::Type::Enum
883
+
884
+ LOWEST_MULTIPLIER: :LOWEST_MULTIPLIER
885
+ EXPLICIT: :EXPLICIT
886
+
887
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::multiplier_override_prioritization]
888
+ end
889
+
890
+ type override =
891
+ {
892
+ override_specifiers: ::Array[MetronomeSDK::V1::PackageCreateParams::Override::OverrideSpecifier],
893
+ starting_at_offset: MetronomeSDK::V1::PackageCreateParams::Override::StartingAtOffset,
894
+ duration: MetronomeSDK::V1::PackageCreateParams::Override::Duration,
895
+ entitled: bool,
896
+ is_commit_specific: bool,
897
+ multiplier: Float,
898
+ overwrite_rate: MetronomeSDK::V1::PackageCreateParams::Override::OverwriteRate,
899
+ priority: Float,
900
+ target: MetronomeSDK::Models::V1::PackageCreateParams::Override::target,
901
+ tiers: ::Array[MetronomeSDK::V1::PackageCreateParams::Override::Tier],
902
+ type: MetronomeSDK::Models::V1::PackageCreateParams::Override::type_
903
+ }
904
+
905
+ class Override < MetronomeSDK::Internal::Type::BaseModel
906
+ attr_accessor override_specifiers: ::Array[MetronomeSDK::V1::PackageCreateParams::Override::OverrideSpecifier]
907
+
908
+ attr_accessor starting_at_offset: MetronomeSDK::V1::PackageCreateParams::Override::StartingAtOffset
909
+
910
+ attr_reader duration: MetronomeSDK::V1::PackageCreateParams::Override::Duration?
911
+
912
+ def duration=: (
913
+ MetronomeSDK::V1::PackageCreateParams::Override::Duration
914
+ ) -> MetronomeSDK::V1::PackageCreateParams::Override::Duration
915
+
916
+ attr_reader entitled: bool?
917
+
918
+ def entitled=: (bool) -> bool
919
+
920
+ attr_reader is_commit_specific: bool?
921
+
922
+ def is_commit_specific=: (bool) -> bool
923
+
924
+ attr_reader multiplier: Float?
925
+
926
+ def multiplier=: (Float) -> Float
927
+
928
+ attr_reader overwrite_rate: MetronomeSDK::V1::PackageCreateParams::Override::OverwriteRate?
929
+
930
+ def overwrite_rate=: (
931
+ MetronomeSDK::V1::PackageCreateParams::Override::OverwriteRate
932
+ ) -> MetronomeSDK::V1::PackageCreateParams::Override::OverwriteRate
933
+
934
+ attr_reader priority: Float?
935
+
936
+ def priority=: (Float) -> Float
937
+
938
+ attr_reader target: MetronomeSDK::Models::V1::PackageCreateParams::Override::target?
939
+
940
+ def target=: (
941
+ MetronomeSDK::Models::V1::PackageCreateParams::Override::target
942
+ ) -> MetronomeSDK::Models::V1::PackageCreateParams::Override::target
943
+
944
+ attr_reader tiers: ::Array[MetronomeSDK::V1::PackageCreateParams::Override::Tier]?
945
+
946
+ def tiers=: (
947
+ ::Array[MetronomeSDK::V1::PackageCreateParams::Override::Tier]
948
+ ) -> ::Array[MetronomeSDK::V1::PackageCreateParams::Override::Tier]
949
+
950
+ attr_reader type: MetronomeSDK::Models::V1::PackageCreateParams::Override::type_?
951
+
952
+ def type=: (
953
+ MetronomeSDK::Models::V1::PackageCreateParams::Override::type_
954
+ ) -> MetronomeSDK::Models::V1::PackageCreateParams::Override::type_
955
+
956
+ def initialize: (
957
+ override_specifiers: ::Array[MetronomeSDK::V1::PackageCreateParams::Override::OverrideSpecifier],
958
+ starting_at_offset: MetronomeSDK::V1::PackageCreateParams::Override::StartingAtOffset,
959
+ ?duration: MetronomeSDK::V1::PackageCreateParams::Override::Duration,
960
+ ?entitled: bool,
961
+ ?is_commit_specific: bool,
962
+ ?multiplier: Float,
963
+ ?overwrite_rate: MetronomeSDK::V1::PackageCreateParams::Override::OverwriteRate,
964
+ ?priority: Float,
965
+ ?target: MetronomeSDK::Models::V1::PackageCreateParams::Override::target,
966
+ ?tiers: ::Array[MetronomeSDK::V1::PackageCreateParams::Override::Tier],
967
+ ?type: MetronomeSDK::Models::V1::PackageCreateParams::Override::type_
968
+ ) -> void
969
+
970
+ def to_hash: -> {
971
+ override_specifiers: ::Array[MetronomeSDK::V1::PackageCreateParams::Override::OverrideSpecifier],
972
+ starting_at_offset: MetronomeSDK::V1::PackageCreateParams::Override::StartingAtOffset,
973
+ duration: MetronomeSDK::V1::PackageCreateParams::Override::Duration,
974
+ entitled: bool,
975
+ is_commit_specific: bool,
976
+ multiplier: Float,
977
+ overwrite_rate: MetronomeSDK::V1::PackageCreateParams::Override::OverwriteRate,
978
+ priority: Float,
979
+ target: MetronomeSDK::Models::V1::PackageCreateParams::Override::target,
980
+ tiers: ::Array[MetronomeSDK::V1::PackageCreateParams::Override::Tier],
981
+ type: MetronomeSDK::Models::V1::PackageCreateParams::Override::type_
982
+ }
983
+
984
+ type override_specifier =
985
+ {
986
+ billing_frequency: MetronomeSDK::Models::V1::PackageCreateParams::Override::OverrideSpecifier::billing_frequency,
987
+ commit_ids: ::Array[String],
988
+ presentation_group_values: ::Hash[Symbol, String],
989
+ pricing_group_values: ::Hash[Symbol, String],
990
+ product_id: String,
991
+ product_tags: ::Array[String],
992
+ recurring_commit_ids: ::Array[String],
993
+ recurring_credit_ids: ::Array[String]
994
+ }
995
+
996
+ class OverrideSpecifier < MetronomeSDK::Internal::Type::BaseModel
997
+ attr_reader billing_frequency: MetronomeSDK::Models::V1::PackageCreateParams::Override::OverrideSpecifier::billing_frequency?
998
+
999
+ def billing_frequency=: (
1000
+ MetronomeSDK::Models::V1::PackageCreateParams::Override::OverrideSpecifier::billing_frequency
1001
+ ) -> MetronomeSDK::Models::V1::PackageCreateParams::Override::OverrideSpecifier::billing_frequency
1002
+
1003
+ attr_reader commit_ids: ::Array[String]?
1004
+
1005
+ def commit_ids=: (::Array[String]) -> ::Array[String]
1006
+
1007
+ attr_reader presentation_group_values: ::Hash[Symbol, String]?
1008
+
1009
+ def presentation_group_values=: (
1010
+ ::Hash[Symbol, String]
1011
+ ) -> ::Hash[Symbol, String]
1012
+
1013
+ attr_reader pricing_group_values: ::Hash[Symbol, String]?
1014
+
1015
+ def pricing_group_values=: (
1016
+ ::Hash[Symbol, String]
1017
+ ) -> ::Hash[Symbol, String]
1018
+
1019
+ attr_reader product_id: String?
1020
+
1021
+ def product_id=: (String) -> String
1022
+
1023
+ attr_reader product_tags: ::Array[String]?
1024
+
1025
+ def product_tags=: (::Array[String]) -> ::Array[String]
1026
+
1027
+ attr_reader recurring_commit_ids: ::Array[String]?
1028
+
1029
+ def recurring_commit_ids=: (::Array[String]) -> ::Array[String]
1030
+
1031
+ attr_reader recurring_credit_ids: ::Array[String]?
1032
+
1033
+ def recurring_credit_ids=: (::Array[String]) -> ::Array[String]
1034
+
1035
+ def initialize: (
1036
+ ?billing_frequency: MetronomeSDK::Models::V1::PackageCreateParams::Override::OverrideSpecifier::billing_frequency,
1037
+ ?commit_ids: ::Array[String],
1038
+ ?presentation_group_values: ::Hash[Symbol, String],
1039
+ ?pricing_group_values: ::Hash[Symbol, String],
1040
+ ?product_id: String,
1041
+ ?product_tags: ::Array[String],
1042
+ ?recurring_commit_ids: ::Array[String],
1043
+ ?recurring_credit_ids: ::Array[String]
1044
+ ) -> void
1045
+
1046
+ def to_hash: -> {
1047
+ billing_frequency: MetronomeSDK::Models::V1::PackageCreateParams::Override::OverrideSpecifier::billing_frequency,
1048
+ commit_ids: ::Array[String],
1049
+ presentation_group_values: ::Hash[Symbol, String],
1050
+ pricing_group_values: ::Hash[Symbol, String],
1051
+ product_id: String,
1052
+ product_tags: ::Array[String],
1053
+ recurring_commit_ids: ::Array[String],
1054
+ recurring_credit_ids: ::Array[String]
1055
+ }
1056
+
1057
+ type billing_frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
1058
+
1059
+ module BillingFrequency
1060
+ extend MetronomeSDK::Internal::Type::Enum
1061
+
1062
+ MONTHLY: :MONTHLY
1063
+ QUARTERLY: :QUARTERLY
1064
+ ANNUAL: :ANNUAL
1065
+ WEEKLY: :WEEKLY
1066
+
1067
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::Override::OverrideSpecifier::billing_frequency]
1068
+ end
1069
+ end
1070
+
1071
+ type starting_at_offset =
1072
+ {
1073
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::Override::StartingAtOffset::unit,
1074
+ value: Integer
1075
+ }
1076
+
1077
+ class StartingAtOffset < MetronomeSDK::Internal::Type::BaseModel
1078
+ attr_accessor unit: MetronomeSDK::Models::V1::PackageCreateParams::Override::StartingAtOffset::unit
1079
+
1080
+ attr_accessor value: Integer
1081
+
1082
+ def initialize: (
1083
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::Override::StartingAtOffset::unit,
1084
+ value: Integer
1085
+ ) -> void
1086
+
1087
+ def to_hash: -> {
1088
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::Override::StartingAtOffset::unit,
1089
+ value: Integer
1090
+ }
1091
+
1092
+ type unit = :DAYS | :WEEKS | :MONTHS | :YEARS
1093
+
1094
+ module Unit
1095
+ extend MetronomeSDK::Internal::Type::Enum
1096
+
1097
+ DAYS: :DAYS
1098
+ WEEKS: :WEEKS
1099
+ MONTHS: :MONTHS
1100
+ YEARS: :YEARS
1101
+
1102
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::Override::StartingAtOffset::unit]
1103
+ end
1104
+ end
1105
+
1106
+ type duration =
1107
+ {
1108
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::Override::Duration::unit,
1109
+ value: Integer
1110
+ }
1111
+
1112
+ class Duration < MetronomeSDK::Internal::Type::BaseModel
1113
+ attr_accessor unit: MetronomeSDK::Models::V1::PackageCreateParams::Override::Duration::unit
1114
+
1115
+ attr_accessor value: Integer
1116
+
1117
+ def initialize: (
1118
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::Override::Duration::unit,
1119
+ value: Integer
1120
+ ) -> void
1121
+
1122
+ def to_hash: -> {
1123
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::Override::Duration::unit,
1124
+ value: Integer
1125
+ }
1126
+
1127
+ type unit = :DAYS | :WEEKS | :MONTHS | :YEARS
1128
+
1129
+ module Unit
1130
+ extend MetronomeSDK::Internal::Type::Enum
1131
+
1132
+ DAYS: :DAYS
1133
+ WEEKS: :WEEKS
1134
+ MONTHS: :MONTHS
1135
+ YEARS: :YEARS
1136
+
1137
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::Override::Duration::unit]
1138
+ end
1139
+ end
1140
+
1141
+ type overwrite_rate =
1142
+ {
1143
+ rate_type: MetronomeSDK::Models::V1::PackageCreateParams::Override::OverwriteRate::rate_type,
1144
+ credit_type_id: String,
1145
+ custom_rate: ::Hash[Symbol, top],
1146
+ is_prorated: bool,
1147
+ minimum_config: MetronomeSDK::V1::PackageCreateParams::Override::OverwriteRate::MinimumConfig,
1148
+ price: Float,
1149
+ quantity: Float,
1150
+ tiers: ::Array[MetronomeSDK::Tier]
1151
+ }
1152
+
1153
+ class OverwriteRate < MetronomeSDK::Internal::Type::BaseModel
1154
+ attr_accessor rate_type: MetronomeSDK::Models::V1::PackageCreateParams::Override::OverwriteRate::rate_type
1155
+
1156
+ attr_reader credit_type_id: String?
1157
+
1158
+ def credit_type_id=: (String) -> String
1159
+
1160
+ attr_reader custom_rate: ::Hash[Symbol, top]?
1161
+
1162
+ def custom_rate=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top]
1163
+
1164
+ attr_reader is_prorated: bool?
1165
+
1166
+ def is_prorated=: (bool) -> bool
1167
+
1168
+ attr_reader minimum_config: MetronomeSDK::V1::PackageCreateParams::Override::OverwriteRate::MinimumConfig?
1169
+
1170
+ def minimum_config=: (
1171
+ MetronomeSDK::V1::PackageCreateParams::Override::OverwriteRate::MinimumConfig
1172
+ ) -> MetronomeSDK::V1::PackageCreateParams::Override::OverwriteRate::MinimumConfig
1173
+
1174
+ attr_reader price: Float?
1175
+
1176
+ def price=: (Float) -> Float
1177
+
1178
+ attr_reader quantity: Float?
1179
+
1180
+ def quantity=: (Float) -> Float
1181
+
1182
+ attr_reader tiers: ::Array[MetronomeSDK::Tier]?
1183
+
1184
+ def tiers=: (
1185
+ ::Array[MetronomeSDK::Tier]
1186
+ ) -> ::Array[MetronomeSDK::Tier]
1187
+
1188
+ def initialize: (
1189
+ rate_type: MetronomeSDK::Models::V1::PackageCreateParams::Override::OverwriteRate::rate_type,
1190
+ ?credit_type_id: String,
1191
+ ?custom_rate: ::Hash[Symbol, top],
1192
+ ?is_prorated: bool,
1193
+ ?minimum_config: MetronomeSDK::V1::PackageCreateParams::Override::OverwriteRate::MinimumConfig,
1194
+ ?price: Float,
1195
+ ?quantity: Float,
1196
+ ?tiers: ::Array[MetronomeSDK::Tier]
1197
+ ) -> void
1198
+
1199
+ def to_hash: -> {
1200
+ rate_type: MetronomeSDK::Models::V1::PackageCreateParams::Override::OverwriteRate::rate_type,
1201
+ credit_type_id: String,
1202
+ custom_rate: ::Hash[Symbol, top],
1203
+ is_prorated: bool,
1204
+ minimum_config: MetronomeSDK::V1::PackageCreateParams::Override::OverwriteRate::MinimumConfig,
1205
+ price: Float,
1206
+ quantity: Float,
1207
+ tiers: ::Array[MetronomeSDK::Tier]
1208
+ }
1209
+
1210
+ type rate_type =
1211
+ :FLAT
1212
+ | :PERCENTAGE
1213
+ | :SUBSCRIPTION
1214
+ | :TIERED
1215
+ | :TIERED_PERCENTAGE
1216
+ | :CUSTOM
1217
+
1218
+ module RateType
1219
+ extend MetronomeSDK::Internal::Type::Enum
1220
+
1221
+ FLAT: :FLAT
1222
+ PERCENTAGE: :PERCENTAGE
1223
+ SUBSCRIPTION: :SUBSCRIPTION
1224
+ TIERED: :TIERED
1225
+ TIERED_PERCENTAGE: :TIERED_PERCENTAGE
1226
+ CUSTOM: :CUSTOM
1227
+
1228
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::Override::OverwriteRate::rate_type]
1229
+ end
1230
+
1231
+ type minimum_config = { minimum: Float }
1232
+
1233
+ class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
1234
+ attr_accessor minimum: Float
1235
+
1236
+ def initialize: (minimum: Float) -> void
1237
+
1238
+ def to_hash: -> { minimum: Float }
1239
+ end
1240
+ end
1241
+
1242
+ type target = :COMMIT_RATE | :LIST_RATE
1243
+
1244
+ module Target
1245
+ extend MetronomeSDK::Internal::Type::Enum
1246
+
1247
+ COMMIT_RATE: :COMMIT_RATE
1248
+ LIST_RATE: :LIST_RATE
1249
+
1250
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::Override::target]
1251
+ end
1252
+
1253
+ type tier = { multiplier: Float, size: Float }
1254
+
1255
+ class Tier < MetronomeSDK::Internal::Type::BaseModel
1256
+ attr_accessor multiplier: Float
1257
+
1258
+ attr_reader size: Float?
1259
+
1260
+ def size=: (Float) -> Float
1261
+
1262
+ def initialize: (multiplier: Float, ?size: Float) -> void
1263
+
1264
+ def to_hash: -> { multiplier: Float, size: Float }
1265
+ end
1266
+
1267
+ type type_ = :OVERWRITE | :MULTIPLIER | :TIERED
1268
+
1269
+ module Type
1270
+ extend MetronomeSDK::Internal::Type::Enum
1271
+
1272
+ OVERWRITE: :OVERWRITE
1273
+ MULTIPLIER: :MULTIPLIER
1274
+ TIERED: :TIERED
1275
+
1276
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::Override::type_]
1277
+ end
1278
+ end
1279
+
1280
+ type recurring_commit =
1281
+ {
1282
+ access_amount: MetronomeSDK::V1::PackageCreateParams::RecurringCommit::AccessAmount,
1283
+ commit_duration: MetronomeSDK::V1::PackageCreateParams::RecurringCommit::CommitDuration,
1284
+ priority: Float,
1285
+ product_id: String,
1286
+ starting_at_offset: MetronomeSDK::V1::PackageCreateParams::RecurringCommit::StartingAtOffset,
1287
+ applicable_product_ids: ::Array[String],
1288
+ applicable_product_tags: ::Array[String],
1289
+ description: String,
1290
+ duration: MetronomeSDK::V1::PackageCreateParams::RecurringCommit::Duration,
1291
+ invoice_amount: MetronomeSDK::V1::PackageCreateParams::RecurringCommit::InvoiceAmount,
1292
+ name: String,
1293
+ proration: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::proration,
1294
+ rate_type: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::rate_type,
1295
+ recurrence_frequency: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::recurrence_frequency,
1296
+ rollover_fraction: Float,
1297
+ specifiers: ::Array[MetronomeSDK::CommitSpecifierInput],
1298
+ subscription_config: MetronomeSDK::V1::PackageCreateParams::RecurringCommit::SubscriptionConfig,
1299
+ temporary_id: String
1300
+ }
1301
+
1302
+ class RecurringCommit < MetronomeSDK::Internal::Type::BaseModel
1303
+ attr_accessor access_amount: MetronomeSDK::V1::PackageCreateParams::RecurringCommit::AccessAmount
1304
+
1305
+ attr_accessor commit_duration: MetronomeSDK::V1::PackageCreateParams::RecurringCommit::CommitDuration
1306
+
1307
+ attr_accessor priority: Float
1308
+
1309
+ attr_accessor product_id: String
1310
+
1311
+ attr_accessor starting_at_offset: MetronomeSDK::V1::PackageCreateParams::RecurringCommit::StartingAtOffset
1312
+
1313
+ attr_reader applicable_product_ids: ::Array[String]?
1314
+
1315
+ def applicable_product_ids=: (::Array[String]) -> ::Array[String]
1316
+
1317
+ attr_reader applicable_product_tags: ::Array[String]?
1318
+
1319
+ def applicable_product_tags=: (::Array[String]) -> ::Array[String]
1320
+
1321
+ attr_reader description: String?
1322
+
1323
+ def description=: (String) -> String
1324
+
1325
+ attr_reader duration: MetronomeSDK::V1::PackageCreateParams::RecurringCommit::Duration?
1326
+
1327
+ def duration=: (
1328
+ MetronomeSDK::V1::PackageCreateParams::RecurringCommit::Duration
1329
+ ) -> MetronomeSDK::V1::PackageCreateParams::RecurringCommit::Duration
1330
+
1331
+ attr_reader invoice_amount: MetronomeSDK::V1::PackageCreateParams::RecurringCommit::InvoiceAmount?
1332
+
1333
+ def invoice_amount=: (
1334
+ MetronomeSDK::V1::PackageCreateParams::RecurringCommit::InvoiceAmount
1335
+ ) -> MetronomeSDK::V1::PackageCreateParams::RecurringCommit::InvoiceAmount
1336
+
1337
+ attr_reader name: String?
1338
+
1339
+ def name=: (String) -> String
1340
+
1341
+ attr_reader proration: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::proration?
1342
+
1343
+ def proration=: (
1344
+ MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::proration
1345
+ ) -> MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::proration
1346
+
1347
+ attr_reader rate_type: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::rate_type?
1348
+
1349
+ def rate_type=: (
1350
+ MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::rate_type
1351
+ ) -> MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::rate_type
1352
+
1353
+ attr_reader recurrence_frequency: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::recurrence_frequency?
1354
+
1355
+ def recurrence_frequency=: (
1356
+ MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::recurrence_frequency
1357
+ ) -> MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::recurrence_frequency
1358
+
1359
+ attr_reader rollover_fraction: Float?
1360
+
1361
+ def rollover_fraction=: (Float) -> Float
1362
+
1363
+ attr_reader specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]?
1364
+
1365
+ def specifiers=: (
1366
+ ::Array[MetronomeSDK::CommitSpecifierInput]
1367
+ ) -> ::Array[MetronomeSDK::CommitSpecifierInput]
1368
+
1369
+ attr_reader subscription_config: MetronomeSDK::V1::PackageCreateParams::RecurringCommit::SubscriptionConfig?
1370
+
1371
+ def subscription_config=: (
1372
+ MetronomeSDK::V1::PackageCreateParams::RecurringCommit::SubscriptionConfig
1373
+ ) -> MetronomeSDK::V1::PackageCreateParams::RecurringCommit::SubscriptionConfig
1374
+
1375
+ attr_reader temporary_id: String?
1376
+
1377
+ def temporary_id=: (String) -> String
1378
+
1379
+ def initialize: (
1380
+ access_amount: MetronomeSDK::V1::PackageCreateParams::RecurringCommit::AccessAmount,
1381
+ commit_duration: MetronomeSDK::V1::PackageCreateParams::RecurringCommit::CommitDuration,
1382
+ priority: Float,
1383
+ product_id: String,
1384
+ starting_at_offset: MetronomeSDK::V1::PackageCreateParams::RecurringCommit::StartingAtOffset,
1385
+ ?applicable_product_ids: ::Array[String],
1386
+ ?applicable_product_tags: ::Array[String],
1387
+ ?description: String,
1388
+ ?duration: MetronomeSDK::V1::PackageCreateParams::RecurringCommit::Duration,
1389
+ ?invoice_amount: MetronomeSDK::V1::PackageCreateParams::RecurringCommit::InvoiceAmount,
1390
+ ?name: String,
1391
+ ?proration: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::proration,
1392
+ ?rate_type: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::rate_type,
1393
+ ?recurrence_frequency: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::recurrence_frequency,
1394
+ ?rollover_fraction: Float,
1395
+ ?specifiers: ::Array[MetronomeSDK::CommitSpecifierInput],
1396
+ ?subscription_config: MetronomeSDK::V1::PackageCreateParams::RecurringCommit::SubscriptionConfig,
1397
+ ?temporary_id: String
1398
+ ) -> void
1399
+
1400
+ def to_hash: -> {
1401
+ access_amount: MetronomeSDK::V1::PackageCreateParams::RecurringCommit::AccessAmount,
1402
+ commit_duration: MetronomeSDK::V1::PackageCreateParams::RecurringCommit::CommitDuration,
1403
+ priority: Float,
1404
+ product_id: String,
1405
+ starting_at_offset: MetronomeSDK::V1::PackageCreateParams::RecurringCommit::StartingAtOffset,
1406
+ applicable_product_ids: ::Array[String],
1407
+ applicable_product_tags: ::Array[String],
1408
+ description: String,
1409
+ duration: MetronomeSDK::V1::PackageCreateParams::RecurringCommit::Duration,
1410
+ invoice_amount: MetronomeSDK::V1::PackageCreateParams::RecurringCommit::InvoiceAmount,
1411
+ name: String,
1412
+ proration: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::proration,
1413
+ rate_type: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::rate_type,
1414
+ recurrence_frequency: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::recurrence_frequency,
1415
+ rollover_fraction: Float,
1416
+ specifiers: ::Array[MetronomeSDK::CommitSpecifierInput],
1417
+ subscription_config: MetronomeSDK::V1::PackageCreateParams::RecurringCommit::SubscriptionConfig,
1418
+ temporary_id: String
1419
+ }
1420
+
1421
+ type access_amount =
1422
+ { credit_type_id: String, unit_price: Float, quantity: Float }
1423
+
1424
+ class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
1425
+ attr_accessor credit_type_id: String
1426
+
1427
+ attr_accessor unit_price: Float
1428
+
1429
+ attr_reader quantity: Float?
1430
+
1431
+ def quantity=: (Float) -> Float
1432
+
1433
+ def initialize: (
1434
+ credit_type_id: String,
1435
+ unit_price: Float,
1436
+ ?quantity: Float
1437
+ ) -> void
1438
+
1439
+ def to_hash: -> {
1440
+ credit_type_id: String,
1441
+ unit_price: Float,
1442
+ quantity: Float
1443
+ }
1444
+ end
1445
+
1446
+ type commit_duration =
1447
+ {
1448
+ value: Float,
1449
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::CommitDuration::unit
1450
+ }
1451
+
1452
+ class CommitDuration < MetronomeSDK::Internal::Type::BaseModel
1453
+ attr_accessor value: Float
1454
+
1455
+ attr_reader unit: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::CommitDuration::unit?
1456
+
1457
+ def unit=: (
1458
+ MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::CommitDuration::unit
1459
+ ) -> MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::CommitDuration::unit
1460
+
1461
+ def initialize: (
1462
+ value: Float,
1463
+ ?unit: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::CommitDuration::unit
1464
+ ) -> void
1465
+
1466
+ def to_hash: -> {
1467
+ value: Float,
1468
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::CommitDuration::unit
1469
+ }
1470
+
1471
+ type unit = :PERIODS
1472
+
1473
+ module Unit
1474
+ extend MetronomeSDK::Internal::Type::Enum
1475
+
1476
+ PERIODS: :PERIODS
1477
+
1478
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::CommitDuration::unit]
1479
+ end
1480
+ end
1481
+
1482
+ type starting_at_offset =
1483
+ {
1484
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::StartingAtOffset::unit,
1485
+ value: Integer
1486
+ }
1487
+
1488
+ class StartingAtOffset < MetronomeSDK::Internal::Type::BaseModel
1489
+ attr_accessor unit: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::StartingAtOffset::unit
1490
+
1491
+ attr_accessor value: Integer
1492
+
1493
+ def initialize: (
1494
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::StartingAtOffset::unit,
1495
+ value: Integer
1496
+ ) -> void
1497
+
1498
+ def to_hash: -> {
1499
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::StartingAtOffset::unit,
1500
+ value: Integer
1501
+ }
1502
+
1503
+ type unit = :DAYS | :WEEKS | :MONTHS | :YEARS
1504
+
1505
+ module Unit
1506
+ extend MetronomeSDK::Internal::Type::Enum
1507
+
1508
+ DAYS: :DAYS
1509
+ WEEKS: :WEEKS
1510
+ MONTHS: :MONTHS
1511
+ YEARS: :YEARS
1512
+
1513
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::StartingAtOffset::unit]
1514
+ end
1515
+ end
1516
+
1517
+ type duration =
1518
+ {
1519
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::Duration::unit,
1520
+ value: Integer
1521
+ }
1522
+
1523
+ class Duration < MetronomeSDK::Internal::Type::BaseModel
1524
+ attr_accessor unit: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::Duration::unit
1525
+
1526
+ attr_accessor value: Integer
1527
+
1528
+ def initialize: (
1529
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::Duration::unit,
1530
+ value: Integer
1531
+ ) -> void
1532
+
1533
+ def to_hash: -> {
1534
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::Duration::unit,
1535
+ value: Integer
1536
+ }
1537
+
1538
+ type unit = :DAYS | :WEEKS | :MONTHS | :YEARS
1539
+
1540
+ module Unit
1541
+ extend MetronomeSDK::Internal::Type::Enum
1542
+
1543
+ DAYS: :DAYS
1544
+ WEEKS: :WEEKS
1545
+ MONTHS: :MONTHS
1546
+ YEARS: :YEARS
1547
+
1548
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::Duration::unit]
1549
+ end
1550
+ end
1551
+
1552
+ type invoice_amount =
1553
+ { credit_type_id: String, quantity: Float, unit_price: Float }
1554
+
1555
+ class InvoiceAmount < MetronomeSDK::Internal::Type::BaseModel
1556
+ attr_accessor credit_type_id: String
1557
+
1558
+ attr_accessor quantity: Float
1559
+
1560
+ attr_accessor unit_price: Float
1561
+
1562
+ def initialize: (
1563
+ credit_type_id: String,
1564
+ quantity: Float,
1565
+ unit_price: Float
1566
+ ) -> void
1567
+
1568
+ def to_hash: -> {
1569
+ credit_type_id: String,
1570
+ quantity: Float,
1571
+ unit_price: Float
1572
+ }
1573
+ end
1574
+
1575
+ type proration = :NONE | :FIRST | :LAST | :FIRST_AND_LAST
1576
+
1577
+ module Proration
1578
+ extend MetronomeSDK::Internal::Type::Enum
1579
+
1580
+ NONE: :NONE
1581
+ FIRST: :FIRST
1582
+ LAST: :LAST
1583
+ FIRST_AND_LAST: :FIRST_AND_LAST
1584
+
1585
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::proration]
1586
+ end
1587
+
1588
+ type rate_type = :COMMIT_RATE | :LIST_RATE
1589
+
1590
+ module RateType
1591
+ extend MetronomeSDK::Internal::Type::Enum
1592
+
1593
+ COMMIT_RATE: :COMMIT_RATE
1594
+ LIST_RATE: :LIST_RATE
1595
+
1596
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::rate_type]
1597
+ end
1598
+
1599
+ type recurrence_frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
1600
+
1601
+ module RecurrenceFrequency
1602
+ extend MetronomeSDK::Internal::Type::Enum
1603
+
1604
+ MONTHLY: :MONTHLY
1605
+ QUARTERLY: :QUARTERLY
1606
+ ANNUAL: :ANNUAL
1607
+ WEEKLY: :WEEKLY
1608
+
1609
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::recurrence_frequency]
1610
+ end
1611
+
1612
+ type subscription_config =
1613
+ {
1614
+ apply_seat_increase_config: MetronomeSDK::V1::PackageCreateParams::RecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig,
1615
+ subscription_id: String,
1616
+ allocation: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::SubscriptionConfig::allocation
1617
+ }
1618
+
1619
+ class SubscriptionConfig < MetronomeSDK::Internal::Type::BaseModel
1620
+ attr_accessor apply_seat_increase_config: MetronomeSDK::V1::PackageCreateParams::RecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig
1621
+
1622
+ attr_accessor subscription_id: String
1623
+
1624
+ attr_reader allocation: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::SubscriptionConfig::allocation?
1625
+
1626
+ def allocation=: (
1627
+ MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::SubscriptionConfig::allocation
1628
+ ) -> MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::SubscriptionConfig::allocation
1629
+
1630
+ def initialize: (
1631
+ apply_seat_increase_config: MetronomeSDK::V1::PackageCreateParams::RecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig,
1632
+ subscription_id: String,
1633
+ ?allocation: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::SubscriptionConfig::allocation
1634
+ ) -> void
1635
+
1636
+ def to_hash: -> {
1637
+ apply_seat_increase_config: MetronomeSDK::V1::PackageCreateParams::RecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig,
1638
+ subscription_id: String,
1639
+ allocation: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::SubscriptionConfig::allocation
1640
+ }
1641
+
1642
+ type apply_seat_increase_config = { is_prorated: bool }
1643
+
1644
+ class ApplySeatIncreaseConfig < MetronomeSDK::Internal::Type::BaseModel
1645
+ attr_accessor is_prorated: bool
1646
+
1647
+ def initialize: (is_prorated: bool) -> void
1648
+
1649
+ def to_hash: -> { is_prorated: bool }
1650
+ end
1651
+
1652
+ type allocation = :INDIVIDUAL | :POOLED
1653
+
1654
+ module Allocation
1655
+ extend MetronomeSDK::Internal::Type::Enum
1656
+
1657
+ INDIVIDUAL: :INDIVIDUAL
1658
+ POOLED: :POOLED
1659
+
1660
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::SubscriptionConfig::allocation]
1661
+ end
1662
+ end
1663
+ end
1664
+
1665
+ type recurring_credit =
1666
+ {
1667
+ access_amount: MetronomeSDK::V1::PackageCreateParams::RecurringCredit::AccessAmount,
1668
+ commit_duration: MetronomeSDK::V1::PackageCreateParams::RecurringCredit::CommitDuration,
1669
+ priority: Float,
1670
+ product_id: String,
1671
+ starting_at_offset: MetronomeSDK::V1::PackageCreateParams::RecurringCredit::StartingAtOffset,
1672
+ applicable_product_ids: ::Array[String],
1673
+ applicable_product_tags: ::Array[String],
1674
+ description: String,
1675
+ duration: MetronomeSDK::V1::PackageCreateParams::RecurringCredit::Duration,
1676
+ name: String,
1677
+ proration: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::proration,
1678
+ rate_type: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::rate_type,
1679
+ recurrence_frequency: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::recurrence_frequency,
1680
+ rollover_fraction: Float,
1681
+ specifiers: ::Array[MetronomeSDK::CommitSpecifierInput],
1682
+ subscription_config: MetronomeSDK::V1::PackageCreateParams::RecurringCredit::SubscriptionConfig,
1683
+ temporary_id: String
1684
+ }
1685
+
1686
+ class RecurringCredit < MetronomeSDK::Internal::Type::BaseModel
1687
+ attr_accessor access_amount: MetronomeSDK::V1::PackageCreateParams::RecurringCredit::AccessAmount
1688
+
1689
+ attr_accessor commit_duration: MetronomeSDK::V1::PackageCreateParams::RecurringCredit::CommitDuration
1690
+
1691
+ attr_accessor priority: Float
1692
+
1693
+ attr_accessor product_id: String
1694
+
1695
+ attr_accessor starting_at_offset: MetronomeSDK::V1::PackageCreateParams::RecurringCredit::StartingAtOffset
1696
+
1697
+ attr_reader applicable_product_ids: ::Array[String]?
1698
+
1699
+ def applicable_product_ids=: (::Array[String]) -> ::Array[String]
1700
+
1701
+ attr_reader applicable_product_tags: ::Array[String]?
1702
+
1703
+ def applicable_product_tags=: (::Array[String]) -> ::Array[String]
1704
+
1705
+ attr_reader description: String?
1706
+
1707
+ def description=: (String) -> String
1708
+
1709
+ attr_reader duration: MetronomeSDK::V1::PackageCreateParams::RecurringCredit::Duration?
1710
+
1711
+ def duration=: (
1712
+ MetronomeSDK::V1::PackageCreateParams::RecurringCredit::Duration
1713
+ ) -> MetronomeSDK::V1::PackageCreateParams::RecurringCredit::Duration
1714
+
1715
+ attr_reader name: String?
1716
+
1717
+ def name=: (String) -> String
1718
+
1719
+ attr_reader proration: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::proration?
1720
+
1721
+ def proration=: (
1722
+ MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::proration
1723
+ ) -> MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::proration
1724
+
1725
+ attr_reader rate_type: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::rate_type?
1726
+
1727
+ def rate_type=: (
1728
+ MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::rate_type
1729
+ ) -> MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::rate_type
1730
+
1731
+ attr_reader recurrence_frequency: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::recurrence_frequency?
1732
+
1733
+ def recurrence_frequency=: (
1734
+ MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::recurrence_frequency
1735
+ ) -> MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::recurrence_frequency
1736
+
1737
+ attr_reader rollover_fraction: Float?
1738
+
1739
+ def rollover_fraction=: (Float) -> Float
1740
+
1741
+ attr_reader specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]?
1742
+
1743
+ def specifiers=: (
1744
+ ::Array[MetronomeSDK::CommitSpecifierInput]
1745
+ ) -> ::Array[MetronomeSDK::CommitSpecifierInput]
1746
+
1747
+ attr_reader subscription_config: MetronomeSDK::V1::PackageCreateParams::RecurringCredit::SubscriptionConfig?
1748
+
1749
+ def subscription_config=: (
1750
+ MetronomeSDK::V1::PackageCreateParams::RecurringCredit::SubscriptionConfig
1751
+ ) -> MetronomeSDK::V1::PackageCreateParams::RecurringCredit::SubscriptionConfig
1752
+
1753
+ attr_reader temporary_id: String?
1754
+
1755
+ def temporary_id=: (String) -> String
1756
+
1757
+ def initialize: (
1758
+ access_amount: MetronomeSDK::V1::PackageCreateParams::RecurringCredit::AccessAmount,
1759
+ commit_duration: MetronomeSDK::V1::PackageCreateParams::RecurringCredit::CommitDuration,
1760
+ priority: Float,
1761
+ product_id: String,
1762
+ starting_at_offset: MetronomeSDK::V1::PackageCreateParams::RecurringCredit::StartingAtOffset,
1763
+ ?applicable_product_ids: ::Array[String],
1764
+ ?applicable_product_tags: ::Array[String],
1765
+ ?description: String,
1766
+ ?duration: MetronomeSDK::V1::PackageCreateParams::RecurringCredit::Duration,
1767
+ ?name: String,
1768
+ ?proration: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::proration,
1769
+ ?rate_type: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::rate_type,
1770
+ ?recurrence_frequency: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::recurrence_frequency,
1771
+ ?rollover_fraction: Float,
1772
+ ?specifiers: ::Array[MetronomeSDK::CommitSpecifierInput],
1773
+ ?subscription_config: MetronomeSDK::V1::PackageCreateParams::RecurringCredit::SubscriptionConfig,
1774
+ ?temporary_id: String
1775
+ ) -> void
1776
+
1777
+ def to_hash: -> {
1778
+ access_amount: MetronomeSDK::V1::PackageCreateParams::RecurringCredit::AccessAmount,
1779
+ commit_duration: MetronomeSDK::V1::PackageCreateParams::RecurringCredit::CommitDuration,
1780
+ priority: Float,
1781
+ product_id: String,
1782
+ starting_at_offset: MetronomeSDK::V1::PackageCreateParams::RecurringCredit::StartingAtOffset,
1783
+ applicable_product_ids: ::Array[String],
1784
+ applicable_product_tags: ::Array[String],
1785
+ description: String,
1786
+ duration: MetronomeSDK::V1::PackageCreateParams::RecurringCredit::Duration,
1787
+ name: String,
1788
+ proration: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::proration,
1789
+ rate_type: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::rate_type,
1790
+ recurrence_frequency: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::recurrence_frequency,
1791
+ rollover_fraction: Float,
1792
+ specifiers: ::Array[MetronomeSDK::CommitSpecifierInput],
1793
+ subscription_config: MetronomeSDK::V1::PackageCreateParams::RecurringCredit::SubscriptionConfig,
1794
+ temporary_id: String
1795
+ }
1796
+
1797
+ type access_amount =
1798
+ { credit_type_id: String, unit_price: Float, quantity: Float }
1799
+
1800
+ class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
1801
+ attr_accessor credit_type_id: String
1802
+
1803
+ attr_accessor unit_price: Float
1804
+
1805
+ attr_reader quantity: Float?
1806
+
1807
+ def quantity=: (Float) -> Float
1808
+
1809
+ def initialize: (
1810
+ credit_type_id: String,
1811
+ unit_price: Float,
1812
+ ?quantity: Float
1813
+ ) -> void
1814
+
1815
+ def to_hash: -> {
1816
+ credit_type_id: String,
1817
+ unit_price: Float,
1818
+ quantity: Float
1819
+ }
1820
+ end
1821
+
1822
+ type commit_duration =
1823
+ {
1824
+ value: Float,
1825
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::CommitDuration::unit
1826
+ }
1827
+
1828
+ class CommitDuration < MetronomeSDK::Internal::Type::BaseModel
1829
+ attr_accessor value: Float
1830
+
1831
+ attr_reader unit: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::CommitDuration::unit?
1832
+
1833
+ def unit=: (
1834
+ MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::CommitDuration::unit
1835
+ ) -> MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::CommitDuration::unit
1836
+
1837
+ def initialize: (
1838
+ value: Float,
1839
+ ?unit: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::CommitDuration::unit
1840
+ ) -> void
1841
+
1842
+ def to_hash: -> {
1843
+ value: Float,
1844
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::CommitDuration::unit
1845
+ }
1846
+
1847
+ type unit = :PERIODS
1848
+
1849
+ module Unit
1850
+ extend MetronomeSDK::Internal::Type::Enum
1851
+
1852
+ PERIODS: :PERIODS
1853
+
1854
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::CommitDuration::unit]
1855
+ end
1856
+ end
1857
+
1858
+ type starting_at_offset =
1859
+ {
1860
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::StartingAtOffset::unit,
1861
+ value: Integer
1862
+ }
1863
+
1864
+ class StartingAtOffset < MetronomeSDK::Internal::Type::BaseModel
1865
+ attr_accessor unit: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::StartingAtOffset::unit
1866
+
1867
+ attr_accessor value: Integer
1868
+
1869
+ def initialize: (
1870
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::StartingAtOffset::unit,
1871
+ value: Integer
1872
+ ) -> void
1873
+
1874
+ def to_hash: -> {
1875
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::StartingAtOffset::unit,
1876
+ value: Integer
1877
+ }
1878
+
1879
+ type unit = :DAYS | :WEEKS | :MONTHS | :YEARS
1880
+
1881
+ module Unit
1882
+ extend MetronomeSDK::Internal::Type::Enum
1883
+
1884
+ DAYS: :DAYS
1885
+ WEEKS: :WEEKS
1886
+ MONTHS: :MONTHS
1887
+ YEARS: :YEARS
1888
+
1889
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::StartingAtOffset::unit]
1890
+ end
1891
+ end
1892
+
1893
+ type duration =
1894
+ {
1895
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::Duration::unit,
1896
+ value: Integer
1897
+ }
1898
+
1899
+ class Duration < MetronomeSDK::Internal::Type::BaseModel
1900
+ attr_accessor unit: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::Duration::unit
1901
+
1902
+ attr_accessor value: Integer
1903
+
1904
+ def initialize: (
1905
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::Duration::unit,
1906
+ value: Integer
1907
+ ) -> void
1908
+
1909
+ def to_hash: -> {
1910
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::Duration::unit,
1911
+ value: Integer
1912
+ }
1913
+
1914
+ type unit = :DAYS | :WEEKS | :MONTHS | :YEARS
1915
+
1916
+ module Unit
1917
+ extend MetronomeSDK::Internal::Type::Enum
1918
+
1919
+ DAYS: :DAYS
1920
+ WEEKS: :WEEKS
1921
+ MONTHS: :MONTHS
1922
+ YEARS: :YEARS
1923
+
1924
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::Duration::unit]
1925
+ end
1926
+ end
1927
+
1928
+ type proration = :NONE | :FIRST | :LAST | :FIRST_AND_LAST
1929
+
1930
+ module Proration
1931
+ extend MetronomeSDK::Internal::Type::Enum
1932
+
1933
+ NONE: :NONE
1934
+ FIRST: :FIRST
1935
+ LAST: :LAST
1936
+ FIRST_AND_LAST: :FIRST_AND_LAST
1937
+
1938
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::proration]
1939
+ end
1940
+
1941
+ type rate_type = :COMMIT_RATE | :LIST_RATE
1942
+
1943
+ module RateType
1944
+ extend MetronomeSDK::Internal::Type::Enum
1945
+
1946
+ COMMIT_RATE: :COMMIT_RATE
1947
+ LIST_RATE: :LIST_RATE
1948
+
1949
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::rate_type]
1950
+ end
1951
+
1952
+ type recurrence_frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
1953
+
1954
+ module RecurrenceFrequency
1955
+ extend MetronomeSDK::Internal::Type::Enum
1956
+
1957
+ MONTHLY: :MONTHLY
1958
+ QUARTERLY: :QUARTERLY
1959
+ ANNUAL: :ANNUAL
1960
+ WEEKLY: :WEEKLY
1961
+
1962
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::recurrence_frequency]
1963
+ end
1964
+
1965
+ type subscription_config =
1966
+ {
1967
+ apply_seat_increase_config: MetronomeSDK::V1::PackageCreateParams::RecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig,
1968
+ subscription_id: String,
1969
+ allocation: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::SubscriptionConfig::allocation
1970
+ }
1971
+
1972
+ class SubscriptionConfig < MetronomeSDK::Internal::Type::BaseModel
1973
+ attr_accessor apply_seat_increase_config: MetronomeSDK::V1::PackageCreateParams::RecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig
1974
+
1975
+ attr_accessor subscription_id: String
1976
+
1977
+ attr_reader allocation: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::SubscriptionConfig::allocation?
1978
+
1979
+ def allocation=: (
1980
+ MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::SubscriptionConfig::allocation
1981
+ ) -> MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::SubscriptionConfig::allocation
1982
+
1983
+ def initialize: (
1984
+ apply_seat_increase_config: MetronomeSDK::V1::PackageCreateParams::RecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig,
1985
+ subscription_id: String,
1986
+ ?allocation: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::SubscriptionConfig::allocation
1987
+ ) -> void
1988
+
1989
+ def to_hash: -> {
1990
+ apply_seat_increase_config: MetronomeSDK::V1::PackageCreateParams::RecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig,
1991
+ subscription_id: String,
1992
+ allocation: MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::SubscriptionConfig::allocation
1993
+ }
1994
+
1995
+ type apply_seat_increase_config = { is_prorated: bool }
1996
+
1997
+ class ApplySeatIncreaseConfig < MetronomeSDK::Internal::Type::BaseModel
1998
+ attr_accessor is_prorated: bool
1999
+
2000
+ def initialize: (is_prorated: bool) -> void
2001
+
2002
+ def to_hash: -> { is_prorated: bool }
2003
+ end
2004
+
2005
+ type allocation = :INDIVIDUAL | :POOLED
2006
+
2007
+ module Allocation
2008
+ extend MetronomeSDK::Internal::Type::Enum
2009
+
2010
+ INDIVIDUAL: :INDIVIDUAL
2011
+ POOLED: :POOLED
2012
+
2013
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::SubscriptionConfig::allocation]
2014
+ end
2015
+ end
2016
+ end
2017
+
2018
+ type scheduled_charge =
2019
+ {
2020
+ product_id: String,
2021
+ schedule: MetronomeSDK::V1::PackageCreateParams::ScheduledCharge::Schedule,
2022
+ custom_fields: ::Hash[Symbol, String],
2023
+ name: String
2024
+ }
2025
+
2026
+ class ScheduledCharge < MetronomeSDK::Internal::Type::BaseModel
2027
+ attr_accessor product_id: String
2028
+
2029
+ attr_accessor schedule: MetronomeSDK::V1::PackageCreateParams::ScheduledCharge::Schedule
2030
+
2031
+ attr_reader custom_fields: ::Hash[Symbol, String]?
2032
+
2033
+ def custom_fields=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
2034
+
2035
+ attr_reader name: String?
2036
+
2037
+ def name=: (String) -> String
2038
+
2039
+ def initialize: (
2040
+ product_id: String,
2041
+ schedule: MetronomeSDK::V1::PackageCreateParams::ScheduledCharge::Schedule,
2042
+ ?custom_fields: ::Hash[Symbol, String],
2043
+ ?name: String
2044
+ ) -> void
2045
+
2046
+ def to_hash: -> {
2047
+ product_id: String,
2048
+ schedule: MetronomeSDK::V1::PackageCreateParams::ScheduledCharge::Schedule,
2049
+ custom_fields: ::Hash[Symbol, String],
2050
+ name: String
2051
+ }
2052
+
2053
+ type schedule =
2054
+ {
2055
+ schedule_items: ::Array[MetronomeSDK::V1::PackageCreateParams::ScheduledCharge::Schedule::ScheduleItem],
2056
+ credit_type_id: String
2057
+ }
2058
+
2059
+ class Schedule < MetronomeSDK::Internal::Type::BaseModel
2060
+ attr_accessor schedule_items: ::Array[MetronomeSDK::V1::PackageCreateParams::ScheduledCharge::Schedule::ScheduleItem]
2061
+
2062
+ attr_reader credit_type_id: String?
2063
+
2064
+ def credit_type_id=: (String) -> String
2065
+
2066
+ def initialize: (
2067
+ schedule_items: ::Array[MetronomeSDK::V1::PackageCreateParams::ScheduledCharge::Schedule::ScheduleItem],
2068
+ ?credit_type_id: String
2069
+ ) -> void
2070
+
2071
+ def to_hash: -> {
2072
+ schedule_items: ::Array[MetronomeSDK::V1::PackageCreateParams::ScheduledCharge::Schedule::ScheduleItem],
2073
+ credit_type_id: String
2074
+ }
2075
+
2076
+ type schedule_item =
2077
+ {
2078
+ date_offset: MetronomeSDK::V1::PackageCreateParams::ScheduledCharge::Schedule::ScheduleItem::DateOffset,
2079
+ quantity: Float,
2080
+ unit_price: Float
2081
+ }
2082
+
2083
+ class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
2084
+ attr_accessor date_offset: MetronomeSDK::V1::PackageCreateParams::ScheduledCharge::Schedule::ScheduleItem::DateOffset
2085
+
2086
+ attr_accessor quantity: Float
2087
+
2088
+ attr_accessor unit_price: Float
2089
+
2090
+ def initialize: (
2091
+ date_offset: MetronomeSDK::V1::PackageCreateParams::ScheduledCharge::Schedule::ScheduleItem::DateOffset,
2092
+ quantity: Float,
2093
+ unit_price: Float
2094
+ ) -> void
2095
+
2096
+ def to_hash: -> {
2097
+ date_offset: MetronomeSDK::V1::PackageCreateParams::ScheduledCharge::Schedule::ScheduleItem::DateOffset,
2098
+ quantity: Float,
2099
+ unit_price: Float
2100
+ }
2101
+
2102
+ type date_offset =
2103
+ {
2104
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::ScheduledCharge::Schedule::ScheduleItem::DateOffset::unit,
2105
+ value: Integer
2106
+ }
2107
+
2108
+ class DateOffset < MetronomeSDK::Internal::Type::BaseModel
2109
+ attr_accessor unit: MetronomeSDK::Models::V1::PackageCreateParams::ScheduledCharge::Schedule::ScheduleItem::DateOffset::unit
2110
+
2111
+ attr_accessor value: Integer
2112
+
2113
+ def initialize: (
2114
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::ScheduledCharge::Schedule::ScheduleItem::DateOffset::unit,
2115
+ value: Integer
2116
+ ) -> void
2117
+
2118
+ def to_hash: -> {
2119
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::ScheduledCharge::Schedule::ScheduleItem::DateOffset::unit,
2120
+ value: Integer
2121
+ }
2122
+
2123
+ type unit = :DAYS | :WEEKS | :MONTHS | :YEARS
2124
+
2125
+ module Unit
2126
+ extend MetronomeSDK::Internal::Type::Enum
2127
+
2128
+ DAYS: :DAYS
2129
+ WEEKS: :WEEKS
2130
+ MONTHS: :MONTHS
2131
+ YEARS: :YEARS
2132
+
2133
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::ScheduledCharge::Schedule::ScheduleItem::DateOffset::unit]
2134
+ end
2135
+ end
2136
+ end
2137
+ end
2138
+ end
2139
+
2140
+ type scheduled_charges_on_usage_invoices = :ALL
2141
+
2142
+ module ScheduledChargesOnUsageInvoices
2143
+ extend MetronomeSDK::Internal::Type::Enum
2144
+
2145
+ ALL: :ALL
2146
+
2147
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::scheduled_charges_on_usage_invoices]
2148
+ end
2149
+
2150
+ type subscription =
2151
+ {
2152
+ collection_schedule: MetronomeSDK::Models::V1::PackageCreateParams::Subscription::collection_schedule,
2153
+ proration: MetronomeSDK::V1::PackageCreateParams::Subscription::Proration,
2154
+ subscription_rate: MetronomeSDK::V1::PackageCreateParams::Subscription::SubscriptionRate,
2155
+ custom_fields: ::Hash[Symbol, String],
2156
+ description: String,
2157
+ duration: MetronomeSDK::V1::PackageCreateParams::Subscription::Duration,
2158
+ initial_quantity: Float,
2159
+ name: String,
2160
+ quantity_management_mode: MetronomeSDK::Models::V1::PackageCreateParams::Subscription::quantity_management_mode,
2161
+ seat_config: MetronomeSDK::V1::PackageCreateParams::Subscription::SeatConfig,
2162
+ starting_at_offset: MetronomeSDK::V1::PackageCreateParams::Subscription::StartingAtOffset,
2163
+ temporary_id: String
2164
+ }
2165
+
2166
+ class Subscription < MetronomeSDK::Internal::Type::BaseModel
2167
+ attr_accessor collection_schedule: MetronomeSDK::Models::V1::PackageCreateParams::Subscription::collection_schedule
2168
+
2169
+ attr_accessor proration: MetronomeSDK::V1::PackageCreateParams::Subscription::Proration
2170
+
2171
+ attr_accessor subscription_rate: MetronomeSDK::V1::PackageCreateParams::Subscription::SubscriptionRate
2172
+
2173
+ attr_reader custom_fields: ::Hash[Symbol, String]?
2174
+
2175
+ def custom_fields=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
2176
+
2177
+ attr_reader description: String?
2178
+
2179
+ def description=: (String) -> String
2180
+
2181
+ attr_reader duration: MetronomeSDK::V1::PackageCreateParams::Subscription::Duration?
2182
+
2183
+ def duration=: (
2184
+ MetronomeSDK::V1::PackageCreateParams::Subscription::Duration
2185
+ ) -> MetronomeSDK::V1::PackageCreateParams::Subscription::Duration
2186
+
2187
+ attr_reader initial_quantity: Float?
2188
+
2189
+ def initial_quantity=: (Float) -> Float
2190
+
2191
+ attr_reader name: String?
2192
+
2193
+ def name=: (String) -> String
2194
+
2195
+ attr_reader quantity_management_mode: MetronomeSDK::Models::V1::PackageCreateParams::Subscription::quantity_management_mode?
2196
+
2197
+ def quantity_management_mode=: (
2198
+ MetronomeSDK::Models::V1::PackageCreateParams::Subscription::quantity_management_mode
2199
+ ) -> MetronomeSDK::Models::V1::PackageCreateParams::Subscription::quantity_management_mode
2200
+
2201
+ attr_reader seat_config: MetronomeSDK::V1::PackageCreateParams::Subscription::SeatConfig?
2202
+
2203
+ def seat_config=: (
2204
+ MetronomeSDK::V1::PackageCreateParams::Subscription::SeatConfig
2205
+ ) -> MetronomeSDK::V1::PackageCreateParams::Subscription::SeatConfig
2206
+
2207
+ attr_reader starting_at_offset: MetronomeSDK::V1::PackageCreateParams::Subscription::StartingAtOffset?
2208
+
2209
+ def starting_at_offset=: (
2210
+ MetronomeSDK::V1::PackageCreateParams::Subscription::StartingAtOffset
2211
+ ) -> MetronomeSDK::V1::PackageCreateParams::Subscription::StartingAtOffset
2212
+
2213
+ attr_reader temporary_id: String?
2214
+
2215
+ def temporary_id=: (String) -> String
2216
+
2217
+ def initialize: (
2218
+ collection_schedule: MetronomeSDK::Models::V1::PackageCreateParams::Subscription::collection_schedule,
2219
+ proration: MetronomeSDK::V1::PackageCreateParams::Subscription::Proration,
2220
+ subscription_rate: MetronomeSDK::V1::PackageCreateParams::Subscription::SubscriptionRate,
2221
+ ?custom_fields: ::Hash[Symbol, String],
2222
+ ?description: String,
2223
+ ?duration: MetronomeSDK::V1::PackageCreateParams::Subscription::Duration,
2224
+ ?initial_quantity: Float,
2225
+ ?name: String,
2226
+ ?quantity_management_mode: MetronomeSDK::Models::V1::PackageCreateParams::Subscription::quantity_management_mode,
2227
+ ?seat_config: MetronomeSDK::V1::PackageCreateParams::Subscription::SeatConfig,
2228
+ ?starting_at_offset: MetronomeSDK::V1::PackageCreateParams::Subscription::StartingAtOffset,
2229
+ ?temporary_id: String
2230
+ ) -> void
2231
+
2232
+ def to_hash: -> {
2233
+ collection_schedule: MetronomeSDK::Models::V1::PackageCreateParams::Subscription::collection_schedule,
2234
+ proration: MetronomeSDK::V1::PackageCreateParams::Subscription::Proration,
2235
+ subscription_rate: MetronomeSDK::V1::PackageCreateParams::Subscription::SubscriptionRate,
2236
+ custom_fields: ::Hash[Symbol, String],
2237
+ description: String,
2238
+ duration: MetronomeSDK::V1::PackageCreateParams::Subscription::Duration,
2239
+ initial_quantity: Float,
2240
+ name: String,
2241
+ quantity_management_mode: MetronomeSDK::Models::V1::PackageCreateParams::Subscription::quantity_management_mode,
2242
+ seat_config: MetronomeSDK::V1::PackageCreateParams::Subscription::SeatConfig,
2243
+ starting_at_offset: MetronomeSDK::V1::PackageCreateParams::Subscription::StartingAtOffset,
2244
+ temporary_id: String
2245
+ }
2246
+
2247
+ type collection_schedule = :ADVANCE | :ARREARS
2248
+
2249
+ module CollectionSchedule
2250
+ extend MetronomeSDK::Internal::Type::Enum
2251
+
2252
+ ADVANCE: :ADVANCE
2253
+ ARREARS: :ARREARS
2254
+
2255
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::Subscription::collection_schedule]
2256
+ end
2257
+
2258
+ type proration =
2259
+ {
2260
+ invoice_behavior: MetronomeSDK::Models::V1::PackageCreateParams::Subscription::Proration::invoice_behavior,
2261
+ is_prorated: bool
2262
+ }
2263
+
2264
+ class Proration < MetronomeSDK::Internal::Type::BaseModel
2265
+ attr_reader invoice_behavior: MetronomeSDK::Models::V1::PackageCreateParams::Subscription::Proration::invoice_behavior?
2266
+
2267
+ def invoice_behavior=: (
2268
+ MetronomeSDK::Models::V1::PackageCreateParams::Subscription::Proration::invoice_behavior
2269
+ ) -> MetronomeSDK::Models::V1::PackageCreateParams::Subscription::Proration::invoice_behavior
2270
+
2271
+ attr_reader is_prorated: bool?
2272
+
2273
+ def is_prorated=: (bool) -> bool
2274
+
2275
+ def initialize: (
2276
+ ?invoice_behavior: MetronomeSDK::Models::V1::PackageCreateParams::Subscription::Proration::invoice_behavior,
2277
+ ?is_prorated: bool
2278
+ ) -> void
2279
+
2280
+ def to_hash: -> {
2281
+ invoice_behavior: MetronomeSDK::Models::V1::PackageCreateParams::Subscription::Proration::invoice_behavior,
2282
+ is_prorated: bool
2283
+ }
2284
+
2285
+ type invoice_behavior =
2286
+ :BILL_IMMEDIATELY | :BILL_ON_NEXT_COLLECTION_DATE
2287
+
2288
+ module InvoiceBehavior
2289
+ extend MetronomeSDK::Internal::Type::Enum
2290
+
2291
+ BILL_IMMEDIATELY: :BILL_IMMEDIATELY
2292
+ BILL_ON_NEXT_COLLECTION_DATE: :BILL_ON_NEXT_COLLECTION_DATE
2293
+
2294
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::Subscription::Proration::invoice_behavior]
2295
+ end
2296
+ end
2297
+
2298
+ type subscription_rate =
2299
+ {
2300
+ billing_frequency: MetronomeSDK::Models::V1::PackageCreateParams::Subscription::SubscriptionRate::billing_frequency,
2301
+ product_id: String
2302
+ }
2303
+
2304
+ class SubscriptionRate < MetronomeSDK::Internal::Type::BaseModel
2305
+ attr_accessor billing_frequency: MetronomeSDK::Models::V1::PackageCreateParams::Subscription::SubscriptionRate::billing_frequency
2306
+
2307
+ attr_accessor product_id: String
2308
+
2309
+ def initialize: (
2310
+ billing_frequency: MetronomeSDK::Models::V1::PackageCreateParams::Subscription::SubscriptionRate::billing_frequency,
2311
+ product_id: String
2312
+ ) -> void
2313
+
2314
+ def to_hash: -> {
2315
+ billing_frequency: MetronomeSDK::Models::V1::PackageCreateParams::Subscription::SubscriptionRate::billing_frequency,
2316
+ product_id: String
2317
+ }
2318
+
2319
+ type billing_frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
2320
+
2321
+ module BillingFrequency
2322
+ extend MetronomeSDK::Internal::Type::Enum
2323
+
2324
+ MONTHLY: :MONTHLY
2325
+ QUARTERLY: :QUARTERLY
2326
+ ANNUAL: :ANNUAL
2327
+ WEEKLY: :WEEKLY
2328
+
2329
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::Subscription::SubscriptionRate::billing_frequency]
2330
+ end
2331
+ end
2332
+
2333
+ type duration =
2334
+ {
2335
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::Subscription::Duration::unit,
2336
+ value: Integer
2337
+ }
2338
+
2339
+ class Duration < MetronomeSDK::Internal::Type::BaseModel
2340
+ attr_accessor unit: MetronomeSDK::Models::V1::PackageCreateParams::Subscription::Duration::unit
2341
+
2342
+ attr_accessor value: Integer
2343
+
2344
+ def initialize: (
2345
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::Subscription::Duration::unit,
2346
+ value: Integer
2347
+ ) -> void
2348
+
2349
+ def to_hash: -> {
2350
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::Subscription::Duration::unit,
2351
+ value: Integer
2352
+ }
2353
+
2354
+ type unit = :DAYS | :WEEKS | :MONTHS | :YEARS
2355
+
2356
+ module Unit
2357
+ extend MetronomeSDK::Internal::Type::Enum
2358
+
2359
+ DAYS: :DAYS
2360
+ WEEKS: :WEEKS
2361
+ MONTHS: :MONTHS
2362
+ YEARS: :YEARS
2363
+
2364
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::Subscription::Duration::unit]
2365
+ end
2366
+ end
2367
+
2368
+ type quantity_management_mode = :SEAT_BASED | :QUANTITY_ONLY
2369
+
2370
+ module QuantityManagementMode
2371
+ extend MetronomeSDK::Internal::Type::Enum
2372
+
2373
+ SEAT_BASED: :SEAT_BASED
2374
+ QUANTITY_ONLY: :QUANTITY_ONLY
2375
+
2376
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::Subscription::quantity_management_mode]
2377
+ end
2378
+
2379
+ type seat_config =
2380
+ { seat_group_key: String, initial_unassigned_seats: Float }
2381
+
2382
+ class SeatConfig < MetronomeSDK::Internal::Type::BaseModel
2383
+ attr_accessor seat_group_key: String
2384
+
2385
+ attr_reader initial_unassigned_seats: Float?
2386
+
2387
+ def initial_unassigned_seats=: (Float) -> Float
2388
+
2389
+ def initialize: (
2390
+ seat_group_key: String,
2391
+ ?initial_unassigned_seats: Float
2392
+ ) -> void
2393
+
2394
+ def to_hash: -> {
2395
+ seat_group_key: String,
2396
+ initial_unassigned_seats: Float
2397
+ }
2398
+ end
2399
+
2400
+ type starting_at_offset =
2401
+ {
2402
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::Subscription::StartingAtOffset::unit,
2403
+ value: Integer
2404
+ }
2405
+
2406
+ class StartingAtOffset < MetronomeSDK::Internal::Type::BaseModel
2407
+ attr_accessor unit: MetronomeSDK::Models::V1::PackageCreateParams::Subscription::StartingAtOffset::unit
2408
+
2409
+ attr_accessor value: Integer
2410
+
2411
+ def initialize: (
2412
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::Subscription::StartingAtOffset::unit,
2413
+ value: Integer
2414
+ ) -> void
2415
+
2416
+ def to_hash: -> {
2417
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::Subscription::StartingAtOffset::unit,
2418
+ value: Integer
2419
+ }
2420
+
2421
+ type unit = :DAYS | :WEEKS | :MONTHS | :YEARS
2422
+
2423
+ module Unit
2424
+ extend MetronomeSDK::Internal::Type::Enum
2425
+
2426
+ DAYS: :DAYS
2427
+ WEEKS: :WEEKS
2428
+ MONTHS: :MONTHS
2429
+ YEARS: :YEARS
2430
+
2431
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::Subscription::StartingAtOffset::unit]
2432
+ end
2433
+ end
2434
+ end
2435
+
2436
+ type usage_statement_schedule =
2437
+ {
2438
+ frequency: MetronomeSDK::Models::V1::PackageCreateParams::UsageStatementSchedule::frequency,
2439
+ day: MetronomeSDK::Models::V1::PackageCreateParams::UsageStatementSchedule::day,
2440
+ invoice_generation_starting_at_offset: MetronomeSDK::V1::PackageCreateParams::UsageStatementSchedule::InvoiceGenerationStartingAtOffset
2441
+ }
2442
+
2443
+ class UsageStatementSchedule < MetronomeSDK::Internal::Type::BaseModel
2444
+ attr_accessor frequency: MetronomeSDK::Models::V1::PackageCreateParams::UsageStatementSchedule::frequency
2445
+
2446
+ attr_reader day: MetronomeSDK::Models::V1::PackageCreateParams::UsageStatementSchedule::day?
2447
+
2448
+ def day=: (
2449
+ MetronomeSDK::Models::V1::PackageCreateParams::UsageStatementSchedule::day
2450
+ ) -> MetronomeSDK::Models::V1::PackageCreateParams::UsageStatementSchedule::day
2451
+
2452
+ attr_reader invoice_generation_starting_at_offset: MetronomeSDK::V1::PackageCreateParams::UsageStatementSchedule::InvoiceGenerationStartingAtOffset?
2453
+
2454
+ def invoice_generation_starting_at_offset=: (
2455
+ MetronomeSDK::V1::PackageCreateParams::UsageStatementSchedule::InvoiceGenerationStartingAtOffset
2456
+ ) -> MetronomeSDK::V1::PackageCreateParams::UsageStatementSchedule::InvoiceGenerationStartingAtOffset
2457
+
2458
+ def initialize: (
2459
+ frequency: MetronomeSDK::Models::V1::PackageCreateParams::UsageStatementSchedule::frequency,
2460
+ ?day: MetronomeSDK::Models::V1::PackageCreateParams::UsageStatementSchedule::day,
2461
+ ?invoice_generation_starting_at_offset: MetronomeSDK::V1::PackageCreateParams::UsageStatementSchedule::InvoiceGenerationStartingAtOffset
2462
+ ) -> void
2463
+
2464
+ def to_hash: -> {
2465
+ frequency: MetronomeSDK::Models::V1::PackageCreateParams::UsageStatementSchedule::frequency,
2466
+ day: MetronomeSDK::Models::V1::PackageCreateParams::UsageStatementSchedule::day,
2467
+ invoice_generation_starting_at_offset: MetronomeSDK::V1::PackageCreateParams::UsageStatementSchedule::InvoiceGenerationStartingAtOffset
2468
+ }
2469
+
2470
+ type frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
2471
+
2472
+ module Frequency
2473
+ extend MetronomeSDK::Internal::Type::Enum
2474
+
2475
+ MONTHLY: :MONTHLY
2476
+ QUARTERLY: :QUARTERLY
2477
+ ANNUAL: :ANNUAL
2478
+ WEEKLY: :WEEKLY
2479
+
2480
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::UsageStatementSchedule::frequency]
2481
+ end
2482
+
2483
+ type day = :FIRST_OF_MONTH | :CONTRACT_START
2484
+
2485
+ module Day
2486
+ extend MetronomeSDK::Internal::Type::Enum
2487
+
2488
+ FIRST_OF_MONTH: :FIRST_OF_MONTH
2489
+ CONTRACT_START: :CONTRACT_START
2490
+
2491
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::UsageStatementSchedule::day]
2492
+ end
2493
+
2494
+ type invoice_generation_starting_at_offset =
2495
+ {
2496
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::UsageStatementSchedule::InvoiceGenerationStartingAtOffset::unit,
2497
+ value: Integer
2498
+ }
2499
+
2500
+ class InvoiceGenerationStartingAtOffset < MetronomeSDK::Internal::Type::BaseModel
2501
+ attr_accessor unit: MetronomeSDK::Models::V1::PackageCreateParams::UsageStatementSchedule::InvoiceGenerationStartingAtOffset::unit
2502
+
2503
+ attr_accessor value: Integer
2504
+
2505
+ def initialize: (
2506
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::UsageStatementSchedule::InvoiceGenerationStartingAtOffset::unit,
2507
+ value: Integer
2508
+ ) -> void
2509
+
2510
+ def to_hash: -> {
2511
+ unit: MetronomeSDK::Models::V1::PackageCreateParams::UsageStatementSchedule::InvoiceGenerationStartingAtOffset::unit,
2512
+ value: Integer
2513
+ }
2514
+
2515
+ type unit = :DAYS | :WEEKS | :MONTHS | :YEARS
2516
+
2517
+ module Unit
2518
+ extend MetronomeSDK::Internal::Type::Enum
2519
+
2520
+ DAYS: :DAYS
2521
+ WEEKS: :WEEKS
2522
+ MONTHS: :MONTHS
2523
+ YEARS: :YEARS
2524
+
2525
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::UsageStatementSchedule::InvoiceGenerationStartingAtOffset::unit]
2526
+ end
2527
+ end
2528
+ end
2529
+ end
2530
+ end
2531
+ end
2532
+ end