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