metronome-sdk 3.7.0 → 3.9.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 (99) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +46 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/internal/transport/base_client.rb +4 -1
  5. data/lib/metronome_sdk/models/commit.rb +10 -1
  6. data/lib/metronome_sdk/models/contract.rb +46 -16
  7. data/lib/metronome_sdk/models/contract_v2.rb +645 -16
  8. data/lib/metronome_sdk/models/contract_without_amendments.rb +178 -4
  9. data/lib/metronome_sdk/models/credit.rb +10 -1
  10. data/lib/metronome_sdk/models/override.rb +7 -1
  11. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +10 -2
  12. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +3 -1
  13. data/lib/metronome_sdk/models/subscription.rb +90 -2
  14. data/lib/metronome_sdk/models/v1/alert_create_params.rb +127 -1
  15. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +17 -4
  16. data/lib/metronome_sdk/models/v1/contract_create_params.rb +290 -10
  17. data/lib/metronome_sdk/models/v1/contract_create_response.rb +243 -17
  18. data/lib/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rb +88 -0
  19. data/lib/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rb +62 -0
  20. data/lib/metronome_sdk/models/v1/contract_list_seat_balances_params.rb +10 -1
  21. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +127 -1
  22. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +130 -3
  23. data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +10 -1
  24. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +2 -0
  25. data/lib/metronome_sdk/models/v1/package_create_params.rb +279 -10
  26. data/lib/metronome_sdk/models/v1/package_list_response.rb +264 -7
  27. data/lib/metronome_sdk/models/v1/package_retrieve_response.rb +264 -7
  28. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +517 -9
  29. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +456 -8
  30. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +456 -8
  31. data/lib/metronome_sdk/resources/v1/alerts.rb +3 -1
  32. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +4 -0
  33. data/lib/metronome_sdk/resources/v1/contracts.rb +68 -1
  34. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +4 -2
  35. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +3 -1
  36. data/lib/metronome_sdk/resources/v1/dashboards.rb +7 -2
  37. data/lib/metronome_sdk/version.rb +1 -1
  38. data/lib/metronome_sdk.rb +2 -0
  39. data/rbi/metronome_sdk/models/commit.rbi +13 -0
  40. data/rbi/metronome_sdk/models/contract.rbi +47 -22
  41. data/rbi/metronome_sdk/models/contract_v2.rbi +1472 -96
  42. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +463 -0
  43. data/rbi/metronome_sdk/models/credit.rbi +13 -0
  44. data/rbi/metronome_sdk/models/override.rbi +9 -0
  45. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +11 -1
  46. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +4 -0
  47. data/rbi/metronome_sdk/models/subscription.rbi +212 -3
  48. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +373 -0
  49. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +27 -6
  50. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +719 -9
  51. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +523 -32
  52. data/rbi/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rbi +112 -0
  53. data/rbi/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rbi +119 -0
  54. data/rbi/metronome_sdk/models/v1/contract_list_seat_balances_params.rbi +13 -0
  55. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +360 -0
  56. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +379 -2
  57. data/rbi/metronome_sdk/models/v1/customers/invoice_list_params.rbi +13 -0
  58. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +10 -0
  59. data/rbi/metronome_sdk/models/v1/package_create_params.rbi +706 -9
  60. data/rbi/metronome_sdk/models/v1/package_list_response.rbi +693 -3
  61. data/rbi/metronome_sdk/models/v1/package_retrieve_response.rbi +693 -3
  62. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +1372 -69
  63. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +1204 -67
  64. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1204 -67
  65. data/rbi/metronome_sdk/resources/v1/alerts.rbi +8 -0
  66. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +4 -0
  67. data/rbi/metronome_sdk/resources/v1/contracts.rbi +70 -0
  68. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +8 -1
  69. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +4 -0
  70. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +7 -2
  71. data/sig/metronome_sdk/models/commit.rbs +7 -0
  72. data/sig/metronome_sdk/models/contract.rbs +22 -11
  73. data/sig/metronome_sdk/models/contract_v2.rbs +559 -8
  74. data/sig/metronome_sdk/models/contract_without_amendments.rbs +169 -2
  75. data/sig/metronome_sdk/models/credit.rbs +7 -0
  76. data/sig/metronome_sdk/models/override.rbs +7 -0
  77. data/sig/metronome_sdk/models/subscription.rbs +88 -3
  78. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +144 -0
  79. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +7 -0
  80. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +278 -5
  81. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +197 -17
  82. data/sig/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rbs +63 -0
  83. data/sig/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rbs +59 -0
  84. data/sig/metronome_sdk/models/v1/contract_list_seat_balances_params.rbs +7 -0
  85. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +141 -0
  86. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +150 -0
  87. data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +8 -1
  88. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +4 -0
  89. data/sig/metronome_sdk/models/v1/package_create_params.rbs +271 -5
  90. data/sig/metronome_sdk/models/v1/package_list_response.rbs +265 -5
  91. data/sig/metronome_sdk/models/v1/package_retrieve_response.rbs +263 -5
  92. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +472 -7
  93. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +428 -5
  94. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +427 -5
  95. data/sig/metronome_sdk/resources/v1/alerts.rbs +1 -0
  96. data/sig/metronome_sdk/resources/v1/contracts.rbs +13 -0
  97. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +1 -0
  98. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -0
  99. metadata +8 -2
@@ -14,6 +14,7 @@ module MetronomeSDK
14
14
  usage_filter: ::Array[MetronomeSDK::ContractV2::UsageFilter],
15
15
  usage_statement_schedule: MetronomeSDK::ContractV2::UsageStatementSchedule,
16
16
  archived_at: Time,
17
+ billing_provider_configuration_schedule: ::Array[MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule],
17
18
  credits: ::Array[MetronomeSDK::ContractV2::Credit],
18
19
  custom_fields: ::Hash[Symbol, String],
19
20
  customer_billing_provider_configuration: MetronomeSDK::ContractV2::CustomerBillingProviderConfiguration,
@@ -32,6 +33,7 @@ module MetronomeSDK
32
33
  recurring_commits: ::Array[MetronomeSDK::ContractV2::RecurringCommit],
33
34
  recurring_credits: ::Array[MetronomeSDK::ContractV2::RecurringCredit],
34
35
  reseller_royalties: ::Array[MetronomeSDK::ContractV2::ResellerRoyalty],
36
+ revenue_system_configuration_schedule: ::Array[MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule],
35
37
  salesforce_opportunity_id: String,
36
38
  scheduled_charges_on_usage_invoices: MetronomeSDK::Models::ContractV2::scheduled_charges_on_usage_invoices,
37
39
  spend_threshold_configuration: MetronomeSDK::SpendThresholdConfigurationV2,
@@ -68,6 +70,12 @@ module MetronomeSDK
68
70
 
69
71
  def archived_at=: (Time) -> Time
70
72
 
73
+ attr_reader billing_provider_configuration_schedule: ::Array[MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule]?
74
+
75
+ def billing_provider_configuration_schedule=: (
76
+ ::Array[MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule]
77
+ ) -> ::Array[MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule]
78
+
71
79
  attr_reader credits: ::Array[MetronomeSDK::ContractV2::Credit]?
72
80
 
73
81
  def credits=: (
@@ -162,6 +170,12 @@ module MetronomeSDK
162
170
  ::Array[MetronomeSDK::ContractV2::ResellerRoyalty]
163
171
  ) -> ::Array[MetronomeSDK::ContractV2::ResellerRoyalty]
164
172
 
173
+ attr_reader revenue_system_configuration_schedule: ::Array[MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule]?
174
+
175
+ def revenue_system_configuration_schedule=: (
176
+ ::Array[MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule]
177
+ ) -> ::Array[MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule]
178
+
165
179
  attr_reader salesforce_opportunity_id: String?
166
180
 
167
181
  def salesforce_opportunity_id=: (String) -> String
@@ -211,6 +225,7 @@ module MetronomeSDK
211
225
  usage_filter: ::Array[MetronomeSDK::ContractV2::UsageFilter],
212
226
  usage_statement_schedule: MetronomeSDK::ContractV2::UsageStatementSchedule,
213
227
  ?archived_at: Time,
228
+ ?billing_provider_configuration_schedule: ::Array[MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule],
214
229
  ?credits: ::Array[MetronomeSDK::ContractV2::Credit],
215
230
  ?custom_fields: ::Hash[Symbol, String],
216
231
  ?customer_billing_provider_configuration: MetronomeSDK::ContractV2::CustomerBillingProviderConfiguration,
@@ -229,6 +244,7 @@ module MetronomeSDK
229
244
  ?recurring_commits: ::Array[MetronomeSDK::ContractV2::RecurringCommit],
230
245
  ?recurring_credits: ::Array[MetronomeSDK::ContractV2::RecurringCredit],
231
246
  ?reseller_royalties: ::Array[MetronomeSDK::ContractV2::ResellerRoyalty],
247
+ ?revenue_system_configuration_schedule: ::Array[MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule],
232
248
  ?salesforce_opportunity_id: String,
233
249
  ?scheduled_charges_on_usage_invoices: MetronomeSDK::Models::ContractV2::scheduled_charges_on_usage_invoices,
234
250
  ?spend_threshold_configuration: MetronomeSDK::SpendThresholdConfigurationV2,
@@ -251,6 +267,7 @@ module MetronomeSDK
251
267
  usage_filter: ::Array[MetronomeSDK::ContractV2::UsageFilter],
252
268
  usage_statement_schedule: MetronomeSDK::ContractV2::UsageStatementSchedule,
253
269
  archived_at: Time,
270
+ billing_provider_configuration_schedule: ::Array[MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule],
254
271
  credits: ::Array[MetronomeSDK::ContractV2::Credit],
255
272
  custom_fields: ::Hash[Symbol, String],
256
273
  customer_billing_provider_configuration: MetronomeSDK::ContractV2::CustomerBillingProviderConfiguration,
@@ -269,6 +286,7 @@ module MetronomeSDK
269
286
  recurring_commits: ::Array[MetronomeSDK::ContractV2::RecurringCommit],
270
287
  recurring_credits: ::Array[MetronomeSDK::ContractV2::RecurringCredit],
271
288
  reseller_royalties: ::Array[MetronomeSDK::ContractV2::ResellerRoyalty],
289
+ revenue_system_configuration_schedule: ::Array[MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule],
272
290
  salesforce_opportunity_id: String,
273
291
  scheduled_charges_on_usage_invoices: MetronomeSDK::Models::ContractV2::scheduled_charges_on_usage_invoices,
274
292
  spend_threshold_configuration: MetronomeSDK::SpendThresholdConfigurationV2,
@@ -291,6 +309,7 @@ module MetronomeSDK
291
309
  archived_at: Time,
292
310
  balance: Float,
293
311
  contract: MetronomeSDK::ContractV2::Commit::Contract,
312
+ created_by: String,
294
313
  custom_fields: ::Hash[Symbol, String],
295
314
  description: String,
296
315
  hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
@@ -351,6 +370,10 @@ module MetronomeSDK
351
370
  MetronomeSDK::ContractV2::Commit::Contract
352
371
  ) -> MetronomeSDK::ContractV2::Commit::Contract
353
372
 
373
+ attr_reader created_by: String?
374
+
375
+ def created_by=: (String) -> String
376
+
354
377
  attr_reader custom_fields: ::Hash[Symbol, String]?
355
378
 
356
379
  def custom_fields=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
@@ -449,6 +472,7 @@ module MetronomeSDK
449
472
  ?archived_at: Time,
450
473
  ?balance: Float,
451
474
  ?contract: MetronomeSDK::ContractV2::Commit::Contract,
475
+ ?created_by: String,
452
476
  ?custom_fields: ::Hash[Symbol, String],
453
477
  ?description: String,
454
478
  ?hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
@@ -480,6 +504,7 @@ module MetronomeSDK
480
504
  archived_at: Time,
481
505
  balance: Float,
482
506
  contract: MetronomeSDK::ContractV2::Commit::Contract,
507
+ created_by: String,
483
508
  custom_fields: ::Hash[Symbol, String],
484
509
  description: String,
485
510
  hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
@@ -1365,6 +1390,7 @@ module MetronomeSDK
1365
1390
 
1366
1391
  type override_specifier =
1367
1392
  {
1393
+ any_commit_or_credit_ids: ::Array[String],
1368
1394
  billing_frequency: MetronomeSDK::Models::ContractV2::Override::OverrideSpecifier::billing_frequency,
1369
1395
  commit_ids: ::Array[String],
1370
1396
  presentation_group_values: ::Hash[Symbol, String?],
@@ -1375,6 +1401,10 @@ module MetronomeSDK
1375
1401
  }
1376
1402
 
1377
1403
  class OverrideSpecifier < MetronomeSDK::Internal::Type::BaseModel
1404
+ attr_reader any_commit_or_credit_ids: ::Array[String]?
1405
+
1406
+ def any_commit_or_credit_ids=: (::Array[String]) -> ::Array[String]
1407
+
1378
1408
  attr_reader billing_frequency: MetronomeSDK::Models::ContractV2::Override::OverrideSpecifier::billing_frequency?
1379
1409
 
1380
1410
  def billing_frequency=: (
@@ -1410,6 +1440,7 @@ module MetronomeSDK
1410
1440
  def recurring_commit_ids=: (::Array[String]) -> ::Array[String]
1411
1441
 
1412
1442
  def initialize: (
1443
+ ?any_commit_or_credit_ids: ::Array[String],
1413
1444
  ?billing_frequency: MetronomeSDK::Models::ContractV2::Override::OverrideSpecifier::billing_frequency,
1414
1445
  ?commit_ids: ::Array[String],
1415
1446
  ?presentation_group_values: ::Hash[Symbol, String?],
@@ -1420,6 +1451,7 @@ module MetronomeSDK
1420
1451
  ) -> void
1421
1452
 
1422
1453
  def to_hash: -> {
1454
+ any_commit_or_credit_ids: ::Array[String],
1423
1455
  billing_frequency: MetronomeSDK::Models::ContractV2::Override::OverrideSpecifier::billing_frequency,
1424
1456
  commit_ids: ::Array[String],
1425
1457
  presentation_group_values: ::Hash[Symbol, String?],
@@ -1670,6 +1702,128 @@ module MetronomeSDK
1670
1702
  end
1671
1703
  end
1672
1704
 
1705
+ type billing_provider_configuration_schedule =
1706
+ {
1707
+ billing_provider_configuration: MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration,
1708
+ effective_at: Time,
1709
+ effective_until: Time
1710
+ }
1711
+
1712
+ class BillingProviderConfigurationSchedule < MetronomeSDK::Internal::Type::BaseModel
1713
+ attr_accessor billing_provider_configuration: MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration
1714
+
1715
+ attr_accessor effective_at: Time
1716
+
1717
+ attr_reader effective_until: Time?
1718
+
1719
+ def effective_until=: (Time) -> Time
1720
+
1721
+ def initialize: (
1722
+ billing_provider_configuration: MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration,
1723
+ effective_at: Time,
1724
+ ?effective_until: Time
1725
+ ) -> void
1726
+
1727
+ def to_hash: -> {
1728
+ billing_provider_configuration: MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration,
1729
+ effective_at: Time,
1730
+ effective_until: Time
1731
+ }
1732
+
1733
+ type billing_provider_configuration =
1734
+ {
1735
+ id: String,
1736
+ archived_at: Time?,
1737
+ billing_provider: MetronomeSDK::Models::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::billing_provider,
1738
+ configuration: ::Hash[Symbol, top],
1739
+ customer_id: String,
1740
+ delivery_method: MetronomeSDK::Models::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::delivery_method,
1741
+ delivery_method_configuration: ::Hash[Symbol, top],
1742
+ delivery_method_id: String
1743
+ }
1744
+
1745
+ class BillingProviderConfiguration < MetronomeSDK::Internal::Type::BaseModel
1746
+ attr_accessor id: String
1747
+
1748
+ attr_accessor archived_at: Time?
1749
+
1750
+ attr_accessor billing_provider: MetronomeSDK::Models::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::billing_provider
1751
+
1752
+ attr_accessor configuration: ::Hash[Symbol, top]
1753
+
1754
+ attr_accessor customer_id: String
1755
+
1756
+ attr_accessor delivery_method: MetronomeSDK::Models::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::delivery_method
1757
+
1758
+ attr_accessor delivery_method_configuration: ::Hash[Symbol, top]
1759
+
1760
+ attr_accessor delivery_method_id: String
1761
+
1762
+ def initialize: (
1763
+ id: String,
1764
+ archived_at: Time?,
1765
+ billing_provider: MetronomeSDK::Models::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::billing_provider,
1766
+ configuration: ::Hash[Symbol, top],
1767
+ customer_id: String,
1768
+ delivery_method: MetronomeSDK::Models::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::delivery_method,
1769
+ delivery_method_configuration: ::Hash[Symbol, top],
1770
+ delivery_method_id: String
1771
+ ) -> void
1772
+
1773
+ def to_hash: -> {
1774
+ id: String,
1775
+ archived_at: Time?,
1776
+ billing_provider: MetronomeSDK::Models::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::billing_provider,
1777
+ configuration: ::Hash[Symbol, top],
1778
+ customer_id: String,
1779
+ delivery_method: MetronomeSDK::Models::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::delivery_method,
1780
+ delivery_method_configuration: ::Hash[Symbol, top],
1781
+ delivery_method_id: String
1782
+ }
1783
+
1784
+ type billing_provider =
1785
+ :aws_marketplace
1786
+ | :stripe
1787
+ | :netsuite
1788
+ | :custom
1789
+ | :azure_marketplace
1790
+ | :quickbooks_online
1791
+ | :workday
1792
+ | :gcp_marketplace
1793
+ | :metronome
1794
+
1795
+ module BillingProvider
1796
+ extend MetronomeSDK::Internal::Type::Enum
1797
+
1798
+ AWS_MARKETPLACE: :aws_marketplace
1799
+ STRIPE: :stripe
1800
+ NETSUITE: :netsuite
1801
+ CUSTOM: :custom
1802
+ AZURE_MARKETPLACE: :azure_marketplace
1803
+ QUICKBOOKS_ONLINE: :quickbooks_online
1804
+ WORKDAY: :workday
1805
+ GCP_MARKETPLACE: :gcp_marketplace
1806
+ METRONOME: :metronome
1807
+
1808
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::billing_provider]
1809
+ end
1810
+
1811
+ type delivery_method =
1812
+ :direct_to_billing_provider | :aws_sqs | :tackle | :aws_sns
1813
+
1814
+ module DeliveryMethod
1815
+ extend MetronomeSDK::Internal::Type::Enum
1816
+
1817
+ DIRECT_TO_BILLING_PROVIDER: :direct_to_billing_provider
1818
+ AWS_SQS: :aws_sqs
1819
+ TACKLE: :tackle
1820
+ AWS_SNS: :aws_sns
1821
+
1822
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::delivery_method]
1823
+ end
1824
+ end
1825
+ end
1826
+
1673
1827
  type credit =
1674
1828
  {
1675
1829
  id: String,
@@ -1683,6 +1837,7 @@ module MetronomeSDK
1683
1837
  balance: Float,
1684
1838
  contract: MetronomeSDK::ContractV2::Credit::Contract,
1685
1839
  created_at: Time,
1840
+ created_by: String,
1686
1841
  custom_fields: ::Hash[Symbol, String],
1687
1842
  description: String,
1688
1843
  hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
@@ -1740,6 +1895,10 @@ module MetronomeSDK
1740
1895
 
1741
1896
  def created_at=: (Time) -> Time
1742
1897
 
1898
+ attr_reader created_by: String?
1899
+
1900
+ def created_by=: (String) -> String
1901
+
1743
1902
  attr_reader custom_fields: ::Hash[Symbol, String]?
1744
1903
 
1745
1904
  def custom_fields=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
@@ -1810,6 +1969,7 @@ module MetronomeSDK
1810
1969
  ?balance: Float,
1811
1970
  ?contract: MetronomeSDK::ContractV2::Credit::Contract,
1812
1971
  ?created_at: Time,
1972
+ ?created_by: String,
1813
1973
  ?custom_fields: ::Hash[Symbol, String],
1814
1974
  ?description: String,
1815
1975
  ?hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
@@ -1836,6 +1996,7 @@ module MetronomeSDK
1836
1996
  balance: Float,
1837
1997
  contract: MetronomeSDK::ContractV2::Credit::Contract,
1838
1998
  created_at: Time,
1999
+ created_by: String,
1839
2000
  custom_fields: ::Hash[Symbol, String],
1840
2001
  description: String,
1841
2002
  hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
@@ -2291,27 +2452,52 @@ module MetronomeSDK
2291
2452
  type customer_billing_provider_configuration =
2292
2453
  {
2293
2454
  id: String,
2455
+ archived_at: Time?,
2294
2456
  billing_provider: MetronomeSDK::Models::ContractV2::CustomerBillingProviderConfiguration::billing_provider,
2295
- delivery_method: MetronomeSDK::Models::ContractV2::CustomerBillingProviderConfiguration::delivery_method
2457
+ configuration: ::Hash[Symbol, top],
2458
+ customer_id: String,
2459
+ delivery_method: MetronomeSDK::Models::ContractV2::CustomerBillingProviderConfiguration::delivery_method,
2460
+ delivery_method_configuration: ::Hash[Symbol, top],
2461
+ delivery_method_id: String
2296
2462
  }
2297
2463
 
2298
2464
  class CustomerBillingProviderConfiguration < MetronomeSDK::Internal::Type::BaseModel
2299
2465
  attr_accessor id: String
2300
2466
 
2467
+ attr_accessor archived_at: Time?
2468
+
2301
2469
  attr_accessor billing_provider: MetronomeSDK::Models::ContractV2::CustomerBillingProviderConfiguration::billing_provider
2302
2470
 
2471
+ attr_accessor configuration: ::Hash[Symbol, top]
2472
+
2473
+ attr_accessor customer_id: String
2474
+
2303
2475
  attr_accessor delivery_method: MetronomeSDK::Models::ContractV2::CustomerBillingProviderConfiguration::delivery_method
2304
2476
 
2477
+ attr_accessor delivery_method_configuration: ::Hash[Symbol, top]
2478
+
2479
+ attr_accessor delivery_method_id: String
2480
+
2305
2481
  def initialize: (
2306
2482
  id: String,
2483
+ archived_at: Time?,
2307
2484
  billing_provider: MetronomeSDK::Models::ContractV2::CustomerBillingProviderConfiguration::billing_provider,
2308
- delivery_method: MetronomeSDK::Models::ContractV2::CustomerBillingProviderConfiguration::delivery_method
2485
+ configuration: ::Hash[Symbol, top],
2486
+ customer_id: String,
2487
+ delivery_method: MetronomeSDK::Models::ContractV2::CustomerBillingProviderConfiguration::delivery_method,
2488
+ delivery_method_configuration: ::Hash[Symbol, top],
2489
+ delivery_method_id: String
2309
2490
  ) -> void
2310
2491
 
2311
2492
  def to_hash: -> {
2312
2493
  id: String,
2494
+ archived_at: Time?,
2313
2495
  billing_provider: MetronomeSDK::Models::ContractV2::CustomerBillingProviderConfiguration::billing_provider,
2314
- delivery_method: MetronomeSDK::Models::ContractV2::CustomerBillingProviderConfiguration::delivery_method
2496
+ configuration: ::Hash[Symbol, top],
2497
+ customer_id: String,
2498
+ delivery_method: MetronomeSDK::Models::ContractV2::CustomerBillingProviderConfiguration::delivery_method,
2499
+ delivery_method_configuration: ::Hash[Symbol, top],
2500
+ delivery_method_id: String
2315
2501
  }
2316
2502
 
2317
2503
  type billing_provider =
@@ -2547,6 +2733,7 @@ module MetronomeSDK
2547
2733
  name: String,
2548
2734
  netsuite_sales_order_id: String,
2549
2735
  proration: MetronomeSDK::Models::ContractV2::RecurringCommit::proration,
2736
+ proration_rounding: MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding?,
2550
2737
  recurrence_frequency: MetronomeSDK::Models::ContractV2::RecurringCommit::recurrence_frequency,
2551
2738
  rollover_fraction: Float,
2552
2739
  specifiers: ::Array[MetronomeSDK::CommitSpecifier],
@@ -2616,6 +2803,8 @@ module MetronomeSDK
2616
2803
  MetronomeSDK::Models::ContractV2::RecurringCommit::proration
2617
2804
  ) -> MetronomeSDK::Models::ContractV2::RecurringCommit::proration
2618
2805
 
2806
+ attr_accessor proration_rounding: MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding?
2807
+
2619
2808
  attr_reader recurrence_frequency: MetronomeSDK::Models::ContractV2::RecurringCommit::recurrence_frequency?
2620
2809
 
2621
2810
  def recurrence_frequency=: (
@@ -2656,6 +2845,7 @@ module MetronomeSDK
2656
2845
  ?name: String,
2657
2846
  ?netsuite_sales_order_id: String,
2658
2847
  ?proration: MetronomeSDK::Models::ContractV2::RecurringCommit::proration,
2848
+ ?proration_rounding: MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding?,
2659
2849
  ?recurrence_frequency: MetronomeSDK::Models::ContractV2::RecurringCommit::recurrence_frequency,
2660
2850
  ?rollover_fraction: Float,
2661
2851
  ?specifiers: ::Array[MetronomeSDK::CommitSpecifier],
@@ -2680,6 +2870,7 @@ module MetronomeSDK
2680
2870
  name: String,
2681
2871
  netsuite_sales_order_id: String,
2682
2872
  proration: MetronomeSDK::Models::ContractV2::RecurringCommit::proration,
2873
+ proration_rounding: MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding?,
2683
2874
  recurrence_frequency: MetronomeSDK::Models::ContractV2::RecurringCommit::recurrence_frequency,
2684
2875
  rollover_fraction: Float,
2685
2876
  specifiers: ::Array[MetronomeSDK::CommitSpecifier],
@@ -2816,7 +3007,106 @@ module MetronomeSDK
2816
3007
  def self?.values: -> ::Array[MetronomeSDK::Models::ContractV2::RecurringCommit::proration]
2817
3008
  end
2818
3009
 
2819
- type recurrence_frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
3010
+ type proration_rounding =
3011
+ {
3012
+ access: MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Access,
3013
+ invoice: MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Invoice
3014
+ }
3015
+
3016
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
3017
+ attr_reader access: MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Access?
3018
+
3019
+ def access=: (
3020
+ MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Access
3021
+ ) -> MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Access
3022
+
3023
+ attr_reader invoice: MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Invoice?
3024
+
3025
+ def invoice=: (
3026
+ MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Invoice
3027
+ ) -> MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Invoice
3028
+
3029
+ def initialize: (
3030
+ ?access: MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Access,
3031
+ ?invoice: MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Invoice
3032
+ ) -> void
3033
+
3034
+ def to_hash: -> {
3035
+ access: MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Access,
3036
+ invoice: MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Invoice
3037
+ }
3038
+
3039
+ type access =
3040
+ {
3041
+ decimal_places: Float,
3042
+ rounding_method: MetronomeSDK::Models::ContractV2::RecurringCommit::ProrationRounding::Access::rounding_method
3043
+ }
3044
+
3045
+ class Access < MetronomeSDK::Internal::Type::BaseModel
3046
+ attr_accessor decimal_places: Float
3047
+
3048
+ attr_accessor rounding_method: MetronomeSDK::Models::ContractV2::RecurringCommit::ProrationRounding::Access::rounding_method
3049
+
3050
+ def initialize: (
3051
+ decimal_places: Float,
3052
+ rounding_method: MetronomeSDK::Models::ContractV2::RecurringCommit::ProrationRounding::Access::rounding_method
3053
+ ) -> void
3054
+
3055
+ def to_hash: -> {
3056
+ decimal_places: Float,
3057
+ rounding_method: MetronomeSDK::Models::ContractV2::RecurringCommit::ProrationRounding::Access::rounding_method
3058
+ }
3059
+
3060
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
3061
+
3062
+ module RoundingMethod
3063
+ extend MetronomeSDK::Internal::Type::Enum
3064
+
3065
+ HALF_UP: :HALF_UP
3066
+ FLOOR: :FLOOR
3067
+ CEILING: :CEILING
3068
+
3069
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractV2::RecurringCommit::ProrationRounding::Access::rounding_method]
3070
+ end
3071
+ end
3072
+
3073
+ type invoice =
3074
+ {
3075
+ decimal_places: Float,
3076
+ rounding_method: MetronomeSDK::Models::ContractV2::RecurringCommit::ProrationRounding::Invoice::rounding_method
3077
+ }
3078
+
3079
+ class Invoice < MetronomeSDK::Internal::Type::BaseModel
3080
+ attr_accessor decimal_places: Float
3081
+
3082
+ attr_accessor rounding_method: MetronomeSDK::Models::ContractV2::RecurringCommit::ProrationRounding::Invoice::rounding_method
3083
+
3084
+ def initialize: (
3085
+ decimal_places: Float,
3086
+ rounding_method: MetronomeSDK::Models::ContractV2::RecurringCommit::ProrationRounding::Invoice::rounding_method
3087
+ ) -> void
3088
+
3089
+ def to_hash: -> {
3090
+ decimal_places: Float,
3091
+ rounding_method: MetronomeSDK::Models::ContractV2::RecurringCommit::ProrationRounding::Invoice::rounding_method
3092
+ }
3093
+
3094
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
3095
+
3096
+ module RoundingMethod
3097
+ extend MetronomeSDK::Internal::Type::Enum
3098
+
3099
+ HALF_UP: :HALF_UP
3100
+ FLOOR: :FLOOR
3101
+ CEILING: :CEILING
3102
+
3103
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractV2::RecurringCommit::ProrationRounding::Invoice::rounding_method]
3104
+ end
3105
+ end
3106
+ end
3107
+
3108
+ type recurrence_frequency =
3109
+ :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY | :DAILY
2820
3110
 
2821
3111
  module RecurrenceFrequency
2822
3112
  extend MetronomeSDK::Internal::Type::Enum
@@ -2825,6 +3115,7 @@ module MetronomeSDK
2825
3115
  QUARTERLY: :QUARTERLY
2826
3116
  ANNUAL: :ANNUAL
2827
3117
  WEEKLY: :WEEKLY
3118
+ DAILY: :DAILY
2828
3119
 
2829
3120
  def self?.values: -> ::Array[MetronomeSDK::Models::ContractV2::RecurringCommit::recurrence_frequency]
2830
3121
  end
@@ -2848,6 +3139,7 @@ module MetronomeSDK
2848
3139
  name: String,
2849
3140
  netsuite_sales_order_id: String,
2850
3141
  proration: MetronomeSDK::Models::ContractV2::RecurringCredit::proration,
3142
+ proration_rounding: MetronomeSDK::ContractV2::RecurringCredit::ProrationRounding?,
2851
3143
  recurrence_frequency: MetronomeSDK::Models::ContractV2::RecurringCredit::recurrence_frequency,
2852
3144
  rollover_fraction: Float,
2853
3145
  specifiers: ::Array[MetronomeSDK::CommitSpecifier],
@@ -2911,6 +3203,8 @@ module MetronomeSDK
2911
3203
  MetronomeSDK::Models::ContractV2::RecurringCredit::proration
2912
3204
  ) -> MetronomeSDK::Models::ContractV2::RecurringCredit::proration
2913
3205
 
3206
+ attr_accessor proration_rounding: MetronomeSDK::ContractV2::RecurringCredit::ProrationRounding?
3207
+
2914
3208
  attr_reader recurrence_frequency: MetronomeSDK::Models::ContractV2::RecurringCredit::recurrence_frequency?
2915
3209
 
2916
3210
  def recurrence_frequency=: (
@@ -2950,6 +3244,7 @@ module MetronomeSDK
2950
3244
  ?name: String,
2951
3245
  ?netsuite_sales_order_id: String,
2952
3246
  ?proration: MetronomeSDK::Models::ContractV2::RecurringCredit::proration,
3247
+ ?proration_rounding: MetronomeSDK::ContractV2::RecurringCredit::ProrationRounding?,
2953
3248
  ?recurrence_frequency: MetronomeSDK::Models::ContractV2::RecurringCredit::recurrence_frequency,
2954
3249
  ?rollover_fraction: Float,
2955
3250
  ?specifiers: ::Array[MetronomeSDK::CommitSpecifier],
@@ -2973,6 +3268,7 @@ module MetronomeSDK
2973
3268
  name: String,
2974
3269
  netsuite_sales_order_id: String,
2975
3270
  proration: MetronomeSDK::Models::ContractV2::RecurringCredit::proration,
3271
+ proration_rounding: MetronomeSDK::ContractV2::RecurringCredit::ProrationRounding?,
2976
3272
  recurrence_frequency: MetronomeSDK::Models::ContractV2::RecurringCredit::recurrence_frequency,
2977
3273
  rollover_fraction: Float,
2978
3274
  specifiers: ::Array[MetronomeSDK::CommitSpecifier],
@@ -3086,7 +3382,63 @@ module MetronomeSDK
3086
3382
  def self?.values: -> ::Array[MetronomeSDK::Models::ContractV2::RecurringCredit::proration]
3087
3383
  end
3088
3384
 
3089
- type recurrence_frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
3385
+ type proration_rounding =
3386
+ {
3387
+ access: MetronomeSDK::ContractV2::RecurringCredit::ProrationRounding::Access
3388
+ }
3389
+
3390
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
3391
+ attr_reader access: MetronomeSDK::ContractV2::RecurringCredit::ProrationRounding::Access?
3392
+
3393
+ def access=: (
3394
+ MetronomeSDK::ContractV2::RecurringCredit::ProrationRounding::Access
3395
+ ) -> MetronomeSDK::ContractV2::RecurringCredit::ProrationRounding::Access
3396
+
3397
+ def initialize: (
3398
+ ?access: MetronomeSDK::ContractV2::RecurringCredit::ProrationRounding::Access
3399
+ ) -> void
3400
+
3401
+ def to_hash: -> {
3402
+ access: MetronomeSDK::ContractV2::RecurringCredit::ProrationRounding::Access
3403
+ }
3404
+
3405
+ type access =
3406
+ {
3407
+ decimal_places: Float,
3408
+ rounding_method: MetronomeSDK::Models::ContractV2::RecurringCredit::ProrationRounding::Access::rounding_method
3409
+ }
3410
+
3411
+ class Access < MetronomeSDK::Internal::Type::BaseModel
3412
+ attr_accessor decimal_places: Float
3413
+
3414
+ attr_accessor rounding_method: MetronomeSDK::Models::ContractV2::RecurringCredit::ProrationRounding::Access::rounding_method
3415
+
3416
+ def initialize: (
3417
+ decimal_places: Float,
3418
+ rounding_method: MetronomeSDK::Models::ContractV2::RecurringCredit::ProrationRounding::Access::rounding_method
3419
+ ) -> void
3420
+
3421
+ def to_hash: -> {
3422
+ decimal_places: Float,
3423
+ rounding_method: MetronomeSDK::Models::ContractV2::RecurringCredit::ProrationRounding::Access::rounding_method
3424
+ }
3425
+
3426
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
3427
+
3428
+ module RoundingMethod
3429
+ extend MetronomeSDK::Internal::Type::Enum
3430
+
3431
+ HALF_UP: :HALF_UP
3432
+ FLOOR: :FLOOR
3433
+ CEILING: :CEILING
3434
+
3435
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractV2::RecurringCredit::ProrationRounding::Access::rounding_method]
3436
+ end
3437
+ end
3438
+ end
3439
+
3440
+ type recurrence_frequency =
3441
+ :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY | :DAILY
3090
3442
 
3091
3443
  module RecurrenceFrequency
3092
3444
  extend MetronomeSDK::Internal::Type::Enum
@@ -3095,6 +3447,7 @@ module MetronomeSDK
3095
3447
  QUARTERLY: :QUARTERLY
3096
3448
  ANNUAL: :ANNUAL
3097
3449
  WEEKLY: :WEEKLY
3450
+ DAILY: :DAILY
3098
3451
 
3099
3452
  def self?.values: -> ::Array[MetronomeSDK::Models::ContractV2::RecurringCredit::recurrence_frequency]
3100
3453
  end
@@ -3243,6 +3596,119 @@ module MetronomeSDK
3243
3596
  end
3244
3597
  end
3245
3598
 
3599
+ type revenue_system_configuration_schedule =
3600
+ {
3601
+ effective_at: Time,
3602
+ revenue_system_configuration: MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration,
3603
+ effective_until: Time
3604
+ }
3605
+
3606
+ class RevenueSystemConfigurationSchedule < MetronomeSDK::Internal::Type::BaseModel
3607
+ attr_accessor effective_at: Time
3608
+
3609
+ attr_accessor revenue_system_configuration: MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration
3610
+
3611
+ attr_reader effective_until: Time?
3612
+
3613
+ def effective_until=: (Time) -> Time
3614
+
3615
+ def initialize: (
3616
+ effective_at: Time,
3617
+ revenue_system_configuration: MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration,
3618
+ ?effective_until: Time
3619
+ ) -> void
3620
+
3621
+ def to_hash: -> {
3622
+ effective_at: Time,
3623
+ revenue_system_configuration: MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration,
3624
+ effective_until: Time
3625
+ }
3626
+
3627
+ type revenue_system_configuration =
3628
+ {
3629
+ id: String,
3630
+ configuration: ::Hash[Symbol, top],
3631
+ customer_id: String,
3632
+ delivery_method_id: String,
3633
+ provider: MetronomeSDK::Models::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::provider,
3634
+ archived_at: Time?,
3635
+ delivery_method: MetronomeSDK::Models::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::delivery_method,
3636
+ delivery_method_configuration: ::Hash[Symbol, top]
3637
+ }
3638
+
3639
+ class RevenueSystemConfiguration < MetronomeSDK::Internal::Type::BaseModel
3640
+ attr_accessor id: String
3641
+
3642
+ attr_accessor configuration: ::Hash[Symbol, top]
3643
+
3644
+ attr_accessor customer_id: String
3645
+
3646
+ attr_accessor delivery_method_id: String
3647
+
3648
+ attr_accessor provider: MetronomeSDK::Models::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::provider
3649
+
3650
+ attr_accessor archived_at: Time?
3651
+
3652
+ attr_reader delivery_method: MetronomeSDK::Models::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::delivery_method?
3653
+
3654
+ def delivery_method=: (
3655
+ MetronomeSDK::Models::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::delivery_method
3656
+ ) -> MetronomeSDK::Models::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::delivery_method
3657
+
3658
+ attr_reader delivery_method_configuration: ::Hash[Symbol, top]?
3659
+
3660
+ def delivery_method_configuration=: (
3661
+ ::Hash[Symbol, top]
3662
+ ) -> ::Hash[Symbol, top]
3663
+
3664
+ def initialize: (
3665
+ id: String,
3666
+ configuration: ::Hash[Symbol, top],
3667
+ customer_id: String,
3668
+ delivery_method_id: String,
3669
+ provider: MetronomeSDK::Models::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::provider,
3670
+ ?archived_at: Time?,
3671
+ ?delivery_method: MetronomeSDK::Models::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::delivery_method,
3672
+ ?delivery_method_configuration: ::Hash[Symbol, top]
3673
+ ) -> void
3674
+
3675
+ def to_hash: -> {
3676
+ id: String,
3677
+ configuration: ::Hash[Symbol, top],
3678
+ customer_id: String,
3679
+ delivery_method_id: String,
3680
+ provider: MetronomeSDK::Models::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::provider,
3681
+ archived_at: Time?,
3682
+ delivery_method: MetronomeSDK::Models::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::delivery_method,
3683
+ delivery_method_configuration: ::Hash[Symbol, top]
3684
+ }
3685
+
3686
+ type provider = :netsuite
3687
+
3688
+ module Provider
3689
+ extend MetronomeSDK::Internal::Type::Enum
3690
+
3691
+ NETSUITE: :netsuite
3692
+
3693
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::provider]
3694
+ end
3695
+
3696
+ type delivery_method =
3697
+ :direct_to_billing_provider | :aws_sqs | :tackle | :aws_sns
3698
+
3699
+ module DeliveryMethod
3700
+ extend MetronomeSDK::Internal::Type::Enum
3701
+
3702
+ DIRECT_TO_BILLING_PROVIDER: :direct_to_billing_provider
3703
+ AWS_SQS: :aws_sqs
3704
+ TACKLE: :tackle
3705
+ AWS_SNS: :aws_sns
3706
+
3707
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::delivery_method]
3708
+ end
3709
+ end
3710
+ end
3711
+
3246
3712
  type scheduled_charges_on_usage_invoices = :ALL
3247
3713
 
3248
3714
  module ScheduledChargesOnUsageInvoices
@@ -3405,6 +3871,7 @@ module MetronomeSDK
3405
3871
  starting_at: Time,
3406
3872
  subscription_rate: MetronomeSDK::ContractV2::Subscription::SubscriptionRate,
3407
3873
  id: String,
3874
+ billing_cycle_config: MetronomeSDK::ContractV2::Subscription::BillingCycleConfig,
3408
3875
  custom_fields: ::Hash[Symbol, String],
3409
3876
  description: String,
3410
3877
  ending_before: Time,
@@ -3432,6 +3899,12 @@ module MetronomeSDK
3432
3899
 
3433
3900
  def id=: (String) -> String
3434
3901
 
3902
+ attr_reader billing_cycle_config: MetronomeSDK::ContractV2::Subscription::BillingCycleConfig?
3903
+
3904
+ def billing_cycle_config=: (
3905
+ MetronomeSDK::ContractV2::Subscription::BillingCycleConfig
3906
+ ) -> MetronomeSDK::ContractV2::Subscription::BillingCycleConfig
3907
+
3435
3908
  attr_reader custom_fields: ::Hash[Symbol, String]?
3436
3909
 
3437
3910
  def custom_fields=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
@@ -3467,6 +3940,7 @@ module MetronomeSDK
3467
3940
  starting_at: Time,
3468
3941
  subscription_rate: MetronomeSDK::ContractV2::Subscription::SubscriptionRate,
3469
3942
  ?id: String,
3943
+ ?billing_cycle_config: MetronomeSDK::ContractV2::Subscription::BillingCycleConfig,
3470
3944
  ?custom_fields: ::Hash[Symbol, String],
3471
3945
  ?description: String,
3472
3946
  ?ending_before: Time,
@@ -3484,6 +3958,7 @@ module MetronomeSDK
3484
3958
  starting_at: Time,
3485
3959
  subscription_rate: MetronomeSDK::ContractV2::Subscription::SubscriptionRate,
3486
3960
  id: String,
3961
+ billing_cycle_config: MetronomeSDK::ContractV2::Subscription::BillingCycleConfig,
3487
3962
  custom_fields: ::Hash[Symbol, String],
3488
3963
  description: String,
3489
3964
  ending_before: Time,
@@ -3581,7 +4056,8 @@ module MetronomeSDK
3581
4056
  type proration =
3582
4057
  {
3583
4058
  invoice_behavior: MetronomeSDK::Models::ContractV2::Subscription::Proration::invoice_behavior,
3584
- is_prorated: bool
4059
+ is_prorated: bool,
4060
+ rounding: MetronomeSDK::ContractV2::Subscription::Proration::Rounding
3585
4061
  }
3586
4062
 
3587
4063
  class Proration < MetronomeSDK::Internal::Type::BaseModel
@@ -3589,14 +4065,22 @@ module MetronomeSDK
3589
4065
 
3590
4066
  attr_accessor is_prorated: bool
3591
4067
 
4068
+ attr_reader rounding: MetronomeSDK::ContractV2::Subscription::Proration::Rounding?
4069
+
4070
+ def rounding=: (
4071
+ MetronomeSDK::ContractV2::Subscription::Proration::Rounding
4072
+ ) -> MetronomeSDK::ContractV2::Subscription::Proration::Rounding
4073
+
3592
4074
  def initialize: (
3593
4075
  invoice_behavior: MetronomeSDK::Models::ContractV2::Subscription::Proration::invoice_behavior,
3594
- is_prorated: bool
4076
+ is_prorated: bool,
4077
+ ?rounding: MetronomeSDK::ContractV2::Subscription::Proration::Rounding
3595
4078
  ) -> void
3596
4079
 
3597
4080
  def to_hash: -> {
3598
4081
  invoice_behavior: MetronomeSDK::Models::ContractV2::Subscription::Proration::invoice_behavior,
3599
- is_prorated: bool
4082
+ is_prorated: bool,
4083
+ rounding: MetronomeSDK::ContractV2::Subscription::Proration::Rounding
3600
4084
  }
3601
4085
 
3602
4086
  type invoice_behavior =
@@ -3610,6 +4094,40 @@ module MetronomeSDK
3610
4094
 
3611
4095
  def self?.values: -> ::Array[MetronomeSDK::Models::ContractV2::Subscription::Proration::invoice_behavior]
3612
4096
  end
4097
+
4098
+ type rounding =
4099
+ {
4100
+ decimal_places: Float,
4101
+ rounding_method: MetronomeSDK::Models::ContractV2::Subscription::Proration::Rounding::rounding_method
4102
+ }
4103
+
4104
+ class Rounding < MetronomeSDK::Internal::Type::BaseModel
4105
+ attr_accessor decimal_places: Float
4106
+
4107
+ attr_accessor rounding_method: MetronomeSDK::Models::ContractV2::Subscription::Proration::Rounding::rounding_method
4108
+
4109
+ def initialize: (
4110
+ decimal_places: Float,
4111
+ rounding_method: MetronomeSDK::Models::ContractV2::Subscription::Proration::Rounding::rounding_method
4112
+ ) -> void
4113
+
4114
+ def to_hash: -> {
4115
+ decimal_places: Float,
4116
+ rounding_method: MetronomeSDK::Models::ContractV2::Subscription::Proration::Rounding::rounding_method
4117
+ }
4118
+
4119
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
4120
+
4121
+ module RoundingMethod
4122
+ extend MetronomeSDK::Internal::Type::Enum
4123
+
4124
+ HALF_UP: :HALF_UP
4125
+ FLOOR: :FLOOR
4126
+ CEILING: :CEILING
4127
+
4128
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractV2::Subscription::Proration::Rounding::rounding_method]
4129
+ end
4130
+ end
3613
4131
  end
3614
4132
 
3615
4133
  type quantity_management_mode = :SEAT_BASED | :QUANTITY_ONLY
@@ -3695,6 +4213,39 @@ module MetronomeSDK
3695
4213
  end
3696
4214
  end
3697
4215
 
4216
+ type billing_cycle_config =
4217
+ {
4218
+ anchor_date: Time,
4219
+ invoice_placement: MetronomeSDK::Models::ContractV2::Subscription::BillingCycleConfig::invoice_placement
4220
+ }
4221
+
4222
+ class BillingCycleConfig < MetronomeSDK::Internal::Type::BaseModel
4223
+ attr_accessor anchor_date: Time
4224
+
4225
+ attr_accessor invoice_placement: MetronomeSDK::Models::ContractV2::Subscription::BillingCycleConfig::invoice_placement
4226
+
4227
+ def initialize: (
4228
+ anchor_date: Time,
4229
+ invoice_placement: MetronomeSDK::Models::ContractV2::Subscription::BillingCycleConfig::invoice_placement
4230
+ ) -> void
4231
+
4232
+ def to_hash: -> {
4233
+ anchor_date: Time,
4234
+ invoice_placement: MetronomeSDK::Models::ContractV2::Subscription::BillingCycleConfig::invoice_placement
4235
+ }
4236
+
4237
+ type invoice_placement = :ON_SCHEDULED_INVOICE | :ON_USAGE_INVOICE
4238
+
4239
+ module InvoicePlacement
4240
+ extend MetronomeSDK::Internal::Type::Enum
4241
+
4242
+ ON_SCHEDULED_INVOICE: :ON_SCHEDULED_INVOICE
4243
+ ON_USAGE_INVOICE: :ON_USAGE_INVOICE
4244
+
4245
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractV2::Subscription::BillingCycleConfig::invoice_placement]
4246
+ end
4247
+ end
4248
+
3698
4249
  type seat_config = { seat_group_key: String }
3699
4250
 
3700
4251
  class SeatConfig < MetronomeSDK::Internal::Type::BaseModel