metronome-sdk 3.7.0 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +38 -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_v2.rb +290 -7
  7. data/lib/metronome_sdk/models/contract_without_amendments.rb +178 -4
  8. data/lib/metronome_sdk/models/credit.rb +10 -1
  9. data/lib/metronome_sdk/models/override.rb +7 -1
  10. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +10 -2
  11. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +3 -1
  12. data/lib/metronome_sdk/models/subscription.rb +90 -2
  13. data/lib/metronome_sdk/models/v1/alert_create_params.rb +127 -1
  14. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +17 -4
  15. data/lib/metronome_sdk/models/v1/contract_create_params.rb +290 -10
  16. data/lib/metronome_sdk/models/v1/contract_create_response.rb +178 -4
  17. data/lib/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rb +88 -0
  18. data/lib/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rb +62 -0
  19. data/lib/metronome_sdk/models/v1/contract_list_seat_balances_params.rb +10 -1
  20. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +127 -1
  21. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +130 -3
  22. data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +10 -1
  23. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +2 -0
  24. data/lib/metronome_sdk/models/v1/package_create_params.rb +279 -10
  25. data/lib/metronome_sdk/models/v1/package_list_response.rb +264 -7
  26. data/lib/metronome_sdk/models/v1/package_retrieve_response.rb +264 -7
  27. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +515 -9
  28. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +456 -8
  29. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +456 -8
  30. data/lib/metronome_sdk/resources/v1/alerts.rb +3 -1
  31. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +4 -0
  32. data/lib/metronome_sdk/resources/v1/contracts.rb +68 -1
  33. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +4 -2
  34. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +3 -1
  35. data/lib/metronome_sdk/resources/v1/dashboards.rb +7 -2
  36. data/lib/metronome_sdk/version.rb +1 -1
  37. data/lib/metronome_sdk.rb +2 -0
  38. data/rbi/metronome_sdk/models/commit.rbi +13 -0
  39. data/rbi/metronome_sdk/models/contract_v2.rbi +715 -3
  40. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +463 -0
  41. data/rbi/metronome_sdk/models/credit.rbi +13 -0
  42. data/rbi/metronome_sdk/models/override.rbi +9 -0
  43. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +11 -1
  44. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +4 -0
  45. data/rbi/metronome_sdk/models/subscription.rbi +212 -3
  46. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +373 -0
  47. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +27 -6
  48. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +719 -9
  49. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +463 -0
  50. data/rbi/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rbi +112 -0
  51. data/rbi/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rbi +119 -0
  52. data/rbi/metronome_sdk/models/v1/contract_list_seat_balances_params.rbi +13 -0
  53. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +360 -0
  54. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +379 -2
  55. data/rbi/metronome_sdk/models/v1/customers/invoice_list_params.rbi +13 -0
  56. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +10 -0
  57. data/rbi/metronome_sdk/models/v1/package_create_params.rbi +706 -9
  58. data/rbi/metronome_sdk/models/v1/package_list_response.rbi +693 -3
  59. data/rbi/metronome_sdk/models/v1/package_retrieve_response.rbi +693 -3
  60. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +1333 -40
  61. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +1204 -67
  62. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1204 -67
  63. data/rbi/metronome_sdk/resources/v1/alerts.rbi +8 -0
  64. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +4 -0
  65. data/rbi/metronome_sdk/resources/v1/contracts.rbi +70 -0
  66. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +8 -1
  67. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +4 -0
  68. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +7 -2
  69. data/sig/metronome_sdk/models/commit.rbs +7 -0
  70. data/sig/metronome_sdk/models/contract_v2.rbs +278 -5
  71. data/sig/metronome_sdk/models/contract_without_amendments.rbs +169 -2
  72. data/sig/metronome_sdk/models/credit.rbs +7 -0
  73. data/sig/metronome_sdk/models/override.rbs +7 -0
  74. data/sig/metronome_sdk/models/subscription.rbs +88 -3
  75. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +144 -0
  76. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +7 -0
  77. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +278 -5
  78. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +167 -2
  79. data/sig/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rbs +63 -0
  80. data/sig/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rbs +59 -0
  81. data/sig/metronome_sdk/models/v1/contract_list_seat_balances_params.rbs +7 -0
  82. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +141 -0
  83. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +150 -0
  84. data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +8 -1
  85. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +4 -0
  86. data/sig/metronome_sdk/models/v1/package_create_params.rbs +271 -5
  87. data/sig/metronome_sdk/models/v1/package_list_response.rbs +265 -5
  88. data/sig/metronome_sdk/models/v1/package_retrieve_response.rbs +263 -5
  89. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +468 -5
  90. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +428 -5
  91. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +427 -5
  92. data/sig/metronome_sdk/resources/v1/alerts.rbs +1 -0
  93. data/sig/metronome_sdk/resources/v1/contracts.rbs +13 -0
  94. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +1 -0
  95. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -0
  96. metadata +8 -2
@@ -291,6 +291,7 @@ module MetronomeSDK
291
291
  archived_at: Time,
292
292
  balance: Float,
293
293
  contract: MetronomeSDK::ContractV2::Commit::Contract,
294
+ created_by: String,
294
295
  custom_fields: ::Hash[Symbol, String],
295
296
  description: String,
296
297
  hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
@@ -351,6 +352,10 @@ module MetronomeSDK
351
352
  MetronomeSDK::ContractV2::Commit::Contract
352
353
  ) -> MetronomeSDK::ContractV2::Commit::Contract
353
354
 
355
+ attr_reader created_by: String?
356
+
357
+ def created_by=: (String) -> String
358
+
354
359
  attr_reader custom_fields: ::Hash[Symbol, String]?
355
360
 
356
361
  def custom_fields=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
@@ -449,6 +454,7 @@ module MetronomeSDK
449
454
  ?archived_at: Time,
450
455
  ?balance: Float,
451
456
  ?contract: MetronomeSDK::ContractV2::Commit::Contract,
457
+ ?created_by: String,
452
458
  ?custom_fields: ::Hash[Symbol, String],
453
459
  ?description: String,
454
460
  ?hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
@@ -480,6 +486,7 @@ module MetronomeSDK
480
486
  archived_at: Time,
481
487
  balance: Float,
482
488
  contract: MetronomeSDK::ContractV2::Commit::Contract,
489
+ created_by: String,
483
490
  custom_fields: ::Hash[Symbol, String],
484
491
  description: String,
485
492
  hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
@@ -1365,6 +1372,7 @@ module MetronomeSDK
1365
1372
 
1366
1373
  type override_specifier =
1367
1374
  {
1375
+ any_commit_or_credit_ids: ::Array[String],
1368
1376
  billing_frequency: MetronomeSDK::Models::ContractV2::Override::OverrideSpecifier::billing_frequency,
1369
1377
  commit_ids: ::Array[String],
1370
1378
  presentation_group_values: ::Hash[Symbol, String?],
@@ -1375,6 +1383,10 @@ module MetronomeSDK
1375
1383
  }
1376
1384
 
1377
1385
  class OverrideSpecifier < MetronomeSDK::Internal::Type::BaseModel
1386
+ attr_reader any_commit_or_credit_ids: ::Array[String]?
1387
+
1388
+ def any_commit_or_credit_ids=: (::Array[String]) -> ::Array[String]
1389
+
1378
1390
  attr_reader billing_frequency: MetronomeSDK::Models::ContractV2::Override::OverrideSpecifier::billing_frequency?
1379
1391
 
1380
1392
  def billing_frequency=: (
@@ -1410,6 +1422,7 @@ module MetronomeSDK
1410
1422
  def recurring_commit_ids=: (::Array[String]) -> ::Array[String]
1411
1423
 
1412
1424
  def initialize: (
1425
+ ?any_commit_or_credit_ids: ::Array[String],
1413
1426
  ?billing_frequency: MetronomeSDK::Models::ContractV2::Override::OverrideSpecifier::billing_frequency,
1414
1427
  ?commit_ids: ::Array[String],
1415
1428
  ?presentation_group_values: ::Hash[Symbol, String?],
@@ -1420,6 +1433,7 @@ module MetronomeSDK
1420
1433
  ) -> void
1421
1434
 
1422
1435
  def to_hash: -> {
1436
+ any_commit_or_credit_ids: ::Array[String],
1423
1437
  billing_frequency: MetronomeSDK::Models::ContractV2::Override::OverrideSpecifier::billing_frequency,
1424
1438
  commit_ids: ::Array[String],
1425
1439
  presentation_group_values: ::Hash[Symbol, String?],
@@ -1683,6 +1697,7 @@ module MetronomeSDK
1683
1697
  balance: Float,
1684
1698
  contract: MetronomeSDK::ContractV2::Credit::Contract,
1685
1699
  created_at: Time,
1700
+ created_by: String,
1686
1701
  custom_fields: ::Hash[Symbol, String],
1687
1702
  description: String,
1688
1703
  hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
@@ -1740,6 +1755,10 @@ module MetronomeSDK
1740
1755
 
1741
1756
  def created_at=: (Time) -> Time
1742
1757
 
1758
+ attr_reader created_by: String?
1759
+
1760
+ def created_by=: (String) -> String
1761
+
1743
1762
  attr_reader custom_fields: ::Hash[Symbol, String]?
1744
1763
 
1745
1764
  def custom_fields=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
@@ -1810,6 +1829,7 @@ module MetronomeSDK
1810
1829
  ?balance: Float,
1811
1830
  ?contract: MetronomeSDK::ContractV2::Credit::Contract,
1812
1831
  ?created_at: Time,
1832
+ ?created_by: String,
1813
1833
  ?custom_fields: ::Hash[Symbol, String],
1814
1834
  ?description: String,
1815
1835
  ?hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
@@ -1836,6 +1856,7 @@ module MetronomeSDK
1836
1856
  balance: Float,
1837
1857
  contract: MetronomeSDK::ContractV2::Credit::Contract,
1838
1858
  created_at: Time,
1859
+ created_by: String,
1839
1860
  custom_fields: ::Hash[Symbol, String],
1840
1861
  description: String,
1841
1862
  hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
@@ -2547,6 +2568,7 @@ module MetronomeSDK
2547
2568
  name: String,
2548
2569
  netsuite_sales_order_id: String,
2549
2570
  proration: MetronomeSDK::Models::ContractV2::RecurringCommit::proration,
2571
+ proration_rounding: MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding?,
2550
2572
  recurrence_frequency: MetronomeSDK::Models::ContractV2::RecurringCommit::recurrence_frequency,
2551
2573
  rollover_fraction: Float,
2552
2574
  specifiers: ::Array[MetronomeSDK::CommitSpecifier],
@@ -2616,6 +2638,8 @@ module MetronomeSDK
2616
2638
  MetronomeSDK::Models::ContractV2::RecurringCommit::proration
2617
2639
  ) -> MetronomeSDK::Models::ContractV2::RecurringCommit::proration
2618
2640
 
2641
+ attr_accessor proration_rounding: MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding?
2642
+
2619
2643
  attr_reader recurrence_frequency: MetronomeSDK::Models::ContractV2::RecurringCommit::recurrence_frequency?
2620
2644
 
2621
2645
  def recurrence_frequency=: (
@@ -2656,6 +2680,7 @@ module MetronomeSDK
2656
2680
  ?name: String,
2657
2681
  ?netsuite_sales_order_id: String,
2658
2682
  ?proration: MetronomeSDK::Models::ContractV2::RecurringCommit::proration,
2683
+ ?proration_rounding: MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding?,
2659
2684
  ?recurrence_frequency: MetronomeSDK::Models::ContractV2::RecurringCommit::recurrence_frequency,
2660
2685
  ?rollover_fraction: Float,
2661
2686
  ?specifiers: ::Array[MetronomeSDK::CommitSpecifier],
@@ -2680,6 +2705,7 @@ module MetronomeSDK
2680
2705
  name: String,
2681
2706
  netsuite_sales_order_id: String,
2682
2707
  proration: MetronomeSDK::Models::ContractV2::RecurringCommit::proration,
2708
+ proration_rounding: MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding?,
2683
2709
  recurrence_frequency: MetronomeSDK::Models::ContractV2::RecurringCommit::recurrence_frequency,
2684
2710
  rollover_fraction: Float,
2685
2711
  specifiers: ::Array[MetronomeSDK::CommitSpecifier],
@@ -2816,7 +2842,106 @@ module MetronomeSDK
2816
2842
  def self?.values: -> ::Array[MetronomeSDK::Models::ContractV2::RecurringCommit::proration]
2817
2843
  end
2818
2844
 
2819
- type recurrence_frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
2845
+ type proration_rounding =
2846
+ {
2847
+ access: MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Access,
2848
+ invoice: MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Invoice
2849
+ }
2850
+
2851
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
2852
+ attr_reader access: MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Access?
2853
+
2854
+ def access=: (
2855
+ MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Access
2856
+ ) -> MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Access
2857
+
2858
+ attr_reader invoice: MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Invoice?
2859
+
2860
+ def invoice=: (
2861
+ MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Invoice
2862
+ ) -> MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Invoice
2863
+
2864
+ def initialize: (
2865
+ ?access: MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Access,
2866
+ ?invoice: MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Invoice
2867
+ ) -> void
2868
+
2869
+ def to_hash: -> {
2870
+ access: MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Access,
2871
+ invoice: MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Invoice
2872
+ }
2873
+
2874
+ type access =
2875
+ {
2876
+ decimal_places: Float,
2877
+ rounding_method: MetronomeSDK::Models::ContractV2::RecurringCommit::ProrationRounding::Access::rounding_method
2878
+ }
2879
+
2880
+ class Access < MetronomeSDK::Internal::Type::BaseModel
2881
+ attr_accessor decimal_places: Float
2882
+
2883
+ attr_accessor rounding_method: MetronomeSDK::Models::ContractV2::RecurringCommit::ProrationRounding::Access::rounding_method
2884
+
2885
+ def initialize: (
2886
+ decimal_places: Float,
2887
+ rounding_method: MetronomeSDK::Models::ContractV2::RecurringCommit::ProrationRounding::Access::rounding_method
2888
+ ) -> void
2889
+
2890
+ def to_hash: -> {
2891
+ decimal_places: Float,
2892
+ rounding_method: MetronomeSDK::Models::ContractV2::RecurringCommit::ProrationRounding::Access::rounding_method
2893
+ }
2894
+
2895
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
2896
+
2897
+ module RoundingMethod
2898
+ extend MetronomeSDK::Internal::Type::Enum
2899
+
2900
+ HALF_UP: :HALF_UP
2901
+ FLOOR: :FLOOR
2902
+ CEILING: :CEILING
2903
+
2904
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractV2::RecurringCommit::ProrationRounding::Access::rounding_method]
2905
+ end
2906
+ end
2907
+
2908
+ type invoice =
2909
+ {
2910
+ decimal_places: Float,
2911
+ rounding_method: MetronomeSDK::Models::ContractV2::RecurringCommit::ProrationRounding::Invoice::rounding_method
2912
+ }
2913
+
2914
+ class Invoice < MetronomeSDK::Internal::Type::BaseModel
2915
+ attr_accessor decimal_places: Float
2916
+
2917
+ attr_accessor rounding_method: MetronomeSDK::Models::ContractV2::RecurringCommit::ProrationRounding::Invoice::rounding_method
2918
+
2919
+ def initialize: (
2920
+ decimal_places: Float,
2921
+ rounding_method: MetronomeSDK::Models::ContractV2::RecurringCommit::ProrationRounding::Invoice::rounding_method
2922
+ ) -> void
2923
+
2924
+ def to_hash: -> {
2925
+ decimal_places: Float,
2926
+ rounding_method: MetronomeSDK::Models::ContractV2::RecurringCommit::ProrationRounding::Invoice::rounding_method
2927
+ }
2928
+
2929
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
2930
+
2931
+ module RoundingMethod
2932
+ extend MetronomeSDK::Internal::Type::Enum
2933
+
2934
+ HALF_UP: :HALF_UP
2935
+ FLOOR: :FLOOR
2936
+ CEILING: :CEILING
2937
+
2938
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractV2::RecurringCommit::ProrationRounding::Invoice::rounding_method]
2939
+ end
2940
+ end
2941
+ end
2942
+
2943
+ type recurrence_frequency =
2944
+ :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY | :DAILY
2820
2945
 
2821
2946
  module RecurrenceFrequency
2822
2947
  extend MetronomeSDK::Internal::Type::Enum
@@ -2825,6 +2950,7 @@ module MetronomeSDK
2825
2950
  QUARTERLY: :QUARTERLY
2826
2951
  ANNUAL: :ANNUAL
2827
2952
  WEEKLY: :WEEKLY
2953
+ DAILY: :DAILY
2828
2954
 
2829
2955
  def self?.values: -> ::Array[MetronomeSDK::Models::ContractV2::RecurringCommit::recurrence_frequency]
2830
2956
  end
@@ -2848,6 +2974,7 @@ module MetronomeSDK
2848
2974
  name: String,
2849
2975
  netsuite_sales_order_id: String,
2850
2976
  proration: MetronomeSDK::Models::ContractV2::RecurringCredit::proration,
2977
+ proration_rounding: MetronomeSDK::ContractV2::RecurringCredit::ProrationRounding?,
2851
2978
  recurrence_frequency: MetronomeSDK::Models::ContractV2::RecurringCredit::recurrence_frequency,
2852
2979
  rollover_fraction: Float,
2853
2980
  specifiers: ::Array[MetronomeSDK::CommitSpecifier],
@@ -2911,6 +3038,8 @@ module MetronomeSDK
2911
3038
  MetronomeSDK::Models::ContractV2::RecurringCredit::proration
2912
3039
  ) -> MetronomeSDK::Models::ContractV2::RecurringCredit::proration
2913
3040
 
3041
+ attr_accessor proration_rounding: MetronomeSDK::ContractV2::RecurringCredit::ProrationRounding?
3042
+
2914
3043
  attr_reader recurrence_frequency: MetronomeSDK::Models::ContractV2::RecurringCredit::recurrence_frequency?
2915
3044
 
2916
3045
  def recurrence_frequency=: (
@@ -2950,6 +3079,7 @@ module MetronomeSDK
2950
3079
  ?name: String,
2951
3080
  ?netsuite_sales_order_id: String,
2952
3081
  ?proration: MetronomeSDK::Models::ContractV2::RecurringCredit::proration,
3082
+ ?proration_rounding: MetronomeSDK::ContractV2::RecurringCredit::ProrationRounding?,
2953
3083
  ?recurrence_frequency: MetronomeSDK::Models::ContractV2::RecurringCredit::recurrence_frequency,
2954
3084
  ?rollover_fraction: Float,
2955
3085
  ?specifiers: ::Array[MetronomeSDK::CommitSpecifier],
@@ -2973,6 +3103,7 @@ module MetronomeSDK
2973
3103
  name: String,
2974
3104
  netsuite_sales_order_id: String,
2975
3105
  proration: MetronomeSDK::Models::ContractV2::RecurringCredit::proration,
3106
+ proration_rounding: MetronomeSDK::ContractV2::RecurringCredit::ProrationRounding?,
2976
3107
  recurrence_frequency: MetronomeSDK::Models::ContractV2::RecurringCredit::recurrence_frequency,
2977
3108
  rollover_fraction: Float,
2978
3109
  specifiers: ::Array[MetronomeSDK::CommitSpecifier],
@@ -3086,7 +3217,63 @@ module MetronomeSDK
3086
3217
  def self?.values: -> ::Array[MetronomeSDK::Models::ContractV2::RecurringCredit::proration]
3087
3218
  end
3088
3219
 
3089
- type recurrence_frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
3220
+ type proration_rounding =
3221
+ {
3222
+ access: MetronomeSDK::ContractV2::RecurringCredit::ProrationRounding::Access
3223
+ }
3224
+
3225
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
3226
+ attr_reader access: MetronomeSDK::ContractV2::RecurringCredit::ProrationRounding::Access?
3227
+
3228
+ def access=: (
3229
+ MetronomeSDK::ContractV2::RecurringCredit::ProrationRounding::Access
3230
+ ) -> MetronomeSDK::ContractV2::RecurringCredit::ProrationRounding::Access
3231
+
3232
+ def initialize: (
3233
+ ?access: MetronomeSDK::ContractV2::RecurringCredit::ProrationRounding::Access
3234
+ ) -> void
3235
+
3236
+ def to_hash: -> {
3237
+ access: MetronomeSDK::ContractV2::RecurringCredit::ProrationRounding::Access
3238
+ }
3239
+
3240
+ type access =
3241
+ {
3242
+ decimal_places: Float,
3243
+ rounding_method: MetronomeSDK::Models::ContractV2::RecurringCredit::ProrationRounding::Access::rounding_method
3244
+ }
3245
+
3246
+ class Access < MetronomeSDK::Internal::Type::BaseModel
3247
+ attr_accessor decimal_places: Float
3248
+
3249
+ attr_accessor rounding_method: MetronomeSDK::Models::ContractV2::RecurringCredit::ProrationRounding::Access::rounding_method
3250
+
3251
+ def initialize: (
3252
+ decimal_places: Float,
3253
+ rounding_method: MetronomeSDK::Models::ContractV2::RecurringCredit::ProrationRounding::Access::rounding_method
3254
+ ) -> void
3255
+
3256
+ def to_hash: -> {
3257
+ decimal_places: Float,
3258
+ rounding_method: MetronomeSDK::Models::ContractV2::RecurringCredit::ProrationRounding::Access::rounding_method
3259
+ }
3260
+
3261
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
3262
+
3263
+ module RoundingMethod
3264
+ extend MetronomeSDK::Internal::Type::Enum
3265
+
3266
+ HALF_UP: :HALF_UP
3267
+ FLOOR: :FLOOR
3268
+ CEILING: :CEILING
3269
+
3270
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractV2::RecurringCredit::ProrationRounding::Access::rounding_method]
3271
+ end
3272
+ end
3273
+ end
3274
+
3275
+ type recurrence_frequency =
3276
+ :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY | :DAILY
3090
3277
 
3091
3278
  module RecurrenceFrequency
3092
3279
  extend MetronomeSDK::Internal::Type::Enum
@@ -3095,6 +3282,7 @@ module MetronomeSDK
3095
3282
  QUARTERLY: :QUARTERLY
3096
3283
  ANNUAL: :ANNUAL
3097
3284
  WEEKLY: :WEEKLY
3285
+ DAILY: :DAILY
3098
3286
 
3099
3287
  def self?.values: -> ::Array[MetronomeSDK::Models::ContractV2::RecurringCredit::recurrence_frequency]
3100
3288
  end
@@ -3405,6 +3593,7 @@ module MetronomeSDK
3405
3593
  starting_at: Time,
3406
3594
  subscription_rate: MetronomeSDK::ContractV2::Subscription::SubscriptionRate,
3407
3595
  id: String,
3596
+ billing_cycle_config: MetronomeSDK::ContractV2::Subscription::BillingCycleConfig,
3408
3597
  custom_fields: ::Hash[Symbol, String],
3409
3598
  description: String,
3410
3599
  ending_before: Time,
@@ -3432,6 +3621,12 @@ module MetronomeSDK
3432
3621
 
3433
3622
  def id=: (String) -> String
3434
3623
 
3624
+ attr_reader billing_cycle_config: MetronomeSDK::ContractV2::Subscription::BillingCycleConfig?
3625
+
3626
+ def billing_cycle_config=: (
3627
+ MetronomeSDK::ContractV2::Subscription::BillingCycleConfig
3628
+ ) -> MetronomeSDK::ContractV2::Subscription::BillingCycleConfig
3629
+
3435
3630
  attr_reader custom_fields: ::Hash[Symbol, String]?
3436
3631
 
3437
3632
  def custom_fields=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
@@ -3467,6 +3662,7 @@ module MetronomeSDK
3467
3662
  starting_at: Time,
3468
3663
  subscription_rate: MetronomeSDK::ContractV2::Subscription::SubscriptionRate,
3469
3664
  ?id: String,
3665
+ ?billing_cycle_config: MetronomeSDK::ContractV2::Subscription::BillingCycleConfig,
3470
3666
  ?custom_fields: ::Hash[Symbol, String],
3471
3667
  ?description: String,
3472
3668
  ?ending_before: Time,
@@ -3484,6 +3680,7 @@ module MetronomeSDK
3484
3680
  starting_at: Time,
3485
3681
  subscription_rate: MetronomeSDK::ContractV2::Subscription::SubscriptionRate,
3486
3682
  id: String,
3683
+ billing_cycle_config: MetronomeSDK::ContractV2::Subscription::BillingCycleConfig,
3487
3684
  custom_fields: ::Hash[Symbol, String],
3488
3685
  description: String,
3489
3686
  ending_before: Time,
@@ -3581,7 +3778,8 @@ module MetronomeSDK
3581
3778
  type proration =
3582
3779
  {
3583
3780
  invoice_behavior: MetronomeSDK::Models::ContractV2::Subscription::Proration::invoice_behavior,
3584
- is_prorated: bool
3781
+ is_prorated: bool,
3782
+ rounding: MetronomeSDK::ContractV2::Subscription::Proration::Rounding
3585
3783
  }
3586
3784
 
3587
3785
  class Proration < MetronomeSDK::Internal::Type::BaseModel
@@ -3589,14 +3787,22 @@ module MetronomeSDK
3589
3787
 
3590
3788
  attr_accessor is_prorated: bool
3591
3789
 
3790
+ attr_reader rounding: MetronomeSDK::ContractV2::Subscription::Proration::Rounding?
3791
+
3792
+ def rounding=: (
3793
+ MetronomeSDK::ContractV2::Subscription::Proration::Rounding
3794
+ ) -> MetronomeSDK::ContractV2::Subscription::Proration::Rounding
3795
+
3592
3796
  def initialize: (
3593
3797
  invoice_behavior: MetronomeSDK::Models::ContractV2::Subscription::Proration::invoice_behavior,
3594
- is_prorated: bool
3798
+ is_prorated: bool,
3799
+ ?rounding: MetronomeSDK::ContractV2::Subscription::Proration::Rounding
3595
3800
  ) -> void
3596
3801
 
3597
3802
  def to_hash: -> {
3598
3803
  invoice_behavior: MetronomeSDK::Models::ContractV2::Subscription::Proration::invoice_behavior,
3599
- is_prorated: bool
3804
+ is_prorated: bool,
3805
+ rounding: MetronomeSDK::ContractV2::Subscription::Proration::Rounding
3600
3806
  }
3601
3807
 
3602
3808
  type invoice_behavior =
@@ -3610,6 +3816,40 @@ module MetronomeSDK
3610
3816
 
3611
3817
  def self?.values: -> ::Array[MetronomeSDK::Models::ContractV2::Subscription::Proration::invoice_behavior]
3612
3818
  end
3819
+
3820
+ type rounding =
3821
+ {
3822
+ decimal_places: Float,
3823
+ rounding_method: MetronomeSDK::Models::ContractV2::Subscription::Proration::Rounding::rounding_method
3824
+ }
3825
+
3826
+ class Rounding < MetronomeSDK::Internal::Type::BaseModel
3827
+ attr_accessor decimal_places: Float
3828
+
3829
+ attr_accessor rounding_method: MetronomeSDK::Models::ContractV2::Subscription::Proration::Rounding::rounding_method
3830
+
3831
+ def initialize: (
3832
+ decimal_places: Float,
3833
+ rounding_method: MetronomeSDK::Models::ContractV2::Subscription::Proration::Rounding::rounding_method
3834
+ ) -> void
3835
+
3836
+ def to_hash: -> {
3837
+ decimal_places: Float,
3838
+ rounding_method: MetronomeSDK::Models::ContractV2::Subscription::Proration::Rounding::rounding_method
3839
+ }
3840
+
3841
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
3842
+
3843
+ module RoundingMethod
3844
+ extend MetronomeSDK::Internal::Type::Enum
3845
+
3846
+ HALF_UP: :HALF_UP
3847
+ FLOOR: :FLOOR
3848
+ CEILING: :CEILING
3849
+
3850
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractV2::Subscription::Proration::Rounding::rounding_method]
3851
+ end
3852
+ end
3613
3853
  end
3614
3854
 
3615
3855
  type quantity_management_mode = :SEAT_BASED | :QUANTITY_ONLY
@@ -3695,6 +3935,39 @@ module MetronomeSDK
3695
3935
  end
3696
3936
  end
3697
3937
 
3938
+ type billing_cycle_config =
3939
+ {
3940
+ anchor_date: Time,
3941
+ invoice_placement: MetronomeSDK::Models::ContractV2::Subscription::BillingCycleConfig::invoice_placement
3942
+ }
3943
+
3944
+ class BillingCycleConfig < MetronomeSDK::Internal::Type::BaseModel
3945
+ attr_accessor anchor_date: Time
3946
+
3947
+ attr_accessor invoice_placement: MetronomeSDK::Models::ContractV2::Subscription::BillingCycleConfig::invoice_placement
3948
+
3949
+ def initialize: (
3950
+ anchor_date: Time,
3951
+ invoice_placement: MetronomeSDK::Models::ContractV2::Subscription::BillingCycleConfig::invoice_placement
3952
+ ) -> void
3953
+
3954
+ def to_hash: -> {
3955
+ anchor_date: Time,
3956
+ invoice_placement: MetronomeSDK::Models::ContractV2::Subscription::BillingCycleConfig::invoice_placement
3957
+ }
3958
+
3959
+ type invoice_placement = :ON_SCHEDULED_INVOICE | :ON_USAGE_INVOICE
3960
+
3961
+ module InvoicePlacement
3962
+ extend MetronomeSDK::Internal::Type::Enum
3963
+
3964
+ ON_SCHEDULED_INVOICE: :ON_SCHEDULED_INVOICE
3965
+ ON_USAGE_INVOICE: :ON_USAGE_INVOICE
3966
+
3967
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractV2::Subscription::BillingCycleConfig::invoice_placement]
3968
+ end
3969
+ end
3970
+
3698
3971
  type seat_config = { seat_group_key: String }
3699
3972
 
3700
3973
  class SeatConfig < MetronomeSDK::Internal::Type::BaseModel