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