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
@@ -300,6 +300,7 @@ module MetronomeSDK
300
300
  name: String,
301
301
  netsuite_sales_order_id: String,
302
302
  proration: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::proration,
303
+ proration_rounding: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::ProrationRounding?,
303
304
  recurrence_frequency: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::recurrence_frequency,
304
305
  rollover_fraction: Float,
305
306
  specifiers: ::Array[MetronomeSDK::CommitSpecifier],
@@ -369,6 +370,8 @@ module MetronomeSDK
369
370
  MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::proration
370
371
  ) -> MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::proration
371
372
 
373
+ attr_accessor proration_rounding: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::ProrationRounding?
374
+
372
375
  attr_reader recurrence_frequency: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::recurrence_frequency?
373
376
 
374
377
  def recurrence_frequency=: (
@@ -409,6 +412,7 @@ module MetronomeSDK
409
412
  ?name: String,
410
413
  ?netsuite_sales_order_id: String,
411
414
  ?proration: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::proration,
415
+ ?proration_rounding: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::ProrationRounding?,
412
416
  ?recurrence_frequency: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::recurrence_frequency,
413
417
  ?rollover_fraction: Float,
414
418
  ?specifiers: ::Array[MetronomeSDK::CommitSpecifier],
@@ -433,6 +437,7 @@ module MetronomeSDK
433
437
  name: String,
434
438
  netsuite_sales_order_id: String,
435
439
  proration: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::proration,
440
+ proration_rounding: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::ProrationRounding?,
436
441
  recurrence_frequency: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::recurrence_frequency,
437
442
  rollover_fraction: Float,
438
443
  specifiers: ::Array[MetronomeSDK::CommitSpecifier],
@@ -569,7 +574,106 @@ module MetronomeSDK
569
574
  def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::proration]
570
575
  end
571
576
 
572
- type recurrence_frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
577
+ type proration_rounding =
578
+ {
579
+ access: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::ProrationRounding::Access,
580
+ invoice: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::ProrationRounding::Invoice
581
+ }
582
+
583
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
584
+ attr_reader access: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::ProrationRounding::Access?
585
+
586
+ def access=: (
587
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::ProrationRounding::Access
588
+ ) -> MetronomeSDK::ContractWithoutAmendments::RecurringCommit::ProrationRounding::Access
589
+
590
+ attr_reader invoice: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::ProrationRounding::Invoice?
591
+
592
+ def invoice=: (
593
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::ProrationRounding::Invoice
594
+ ) -> MetronomeSDK::ContractWithoutAmendments::RecurringCommit::ProrationRounding::Invoice
595
+
596
+ def initialize: (
597
+ ?access: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::ProrationRounding::Access,
598
+ ?invoice: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::ProrationRounding::Invoice
599
+ ) -> void
600
+
601
+ def to_hash: -> {
602
+ access: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::ProrationRounding::Access,
603
+ invoice: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::ProrationRounding::Invoice
604
+ }
605
+
606
+ type access =
607
+ {
608
+ decimal_places: Float,
609
+ rounding_method: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::ProrationRounding::Access::rounding_method
610
+ }
611
+
612
+ class Access < MetronomeSDK::Internal::Type::BaseModel
613
+ attr_accessor decimal_places: Float
614
+
615
+ attr_accessor rounding_method: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::ProrationRounding::Access::rounding_method
616
+
617
+ def initialize: (
618
+ decimal_places: Float,
619
+ rounding_method: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::ProrationRounding::Access::rounding_method
620
+ ) -> void
621
+
622
+ def to_hash: -> {
623
+ decimal_places: Float,
624
+ rounding_method: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::ProrationRounding::Access::rounding_method
625
+ }
626
+
627
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
628
+
629
+ module RoundingMethod
630
+ extend MetronomeSDK::Internal::Type::Enum
631
+
632
+ HALF_UP: :HALF_UP
633
+ FLOOR: :FLOOR
634
+ CEILING: :CEILING
635
+
636
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::ProrationRounding::Access::rounding_method]
637
+ end
638
+ end
639
+
640
+ type invoice =
641
+ {
642
+ decimal_places: Float,
643
+ rounding_method: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::ProrationRounding::Invoice::rounding_method
644
+ }
645
+
646
+ class Invoice < MetronomeSDK::Internal::Type::BaseModel
647
+ attr_accessor decimal_places: Float
648
+
649
+ attr_accessor rounding_method: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::ProrationRounding::Invoice::rounding_method
650
+
651
+ def initialize: (
652
+ decimal_places: Float,
653
+ rounding_method: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::ProrationRounding::Invoice::rounding_method
654
+ ) -> void
655
+
656
+ def to_hash: -> {
657
+ decimal_places: Float,
658
+ rounding_method: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::ProrationRounding::Invoice::rounding_method
659
+ }
660
+
661
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
662
+
663
+ module RoundingMethod
664
+ extend MetronomeSDK::Internal::Type::Enum
665
+
666
+ HALF_UP: :HALF_UP
667
+ FLOOR: :FLOOR
668
+ CEILING: :CEILING
669
+
670
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::ProrationRounding::Invoice::rounding_method]
671
+ end
672
+ end
673
+ end
674
+
675
+ type recurrence_frequency =
676
+ :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY | :DAILY
573
677
 
574
678
  module RecurrenceFrequency
575
679
  extend MetronomeSDK::Internal::Type::Enum
@@ -578,6 +682,7 @@ module MetronomeSDK
578
682
  QUARTERLY: :QUARTERLY
579
683
  ANNUAL: :ANNUAL
580
684
  WEEKLY: :WEEKLY
685
+ DAILY: :DAILY
581
686
 
582
687
  def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::recurrence_frequency]
583
688
  end
@@ -601,6 +706,7 @@ module MetronomeSDK
601
706
  name: String,
602
707
  netsuite_sales_order_id: String,
603
708
  proration: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::proration,
709
+ proration_rounding: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::ProrationRounding?,
604
710
  recurrence_frequency: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::recurrence_frequency,
605
711
  rollover_fraction: Float,
606
712
  specifiers: ::Array[MetronomeSDK::CommitSpecifier],
@@ -664,6 +770,8 @@ module MetronomeSDK
664
770
  MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::proration
665
771
  ) -> MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::proration
666
772
 
773
+ attr_accessor proration_rounding: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::ProrationRounding?
774
+
667
775
  attr_reader recurrence_frequency: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::recurrence_frequency?
668
776
 
669
777
  def recurrence_frequency=: (
@@ -703,6 +811,7 @@ module MetronomeSDK
703
811
  ?name: String,
704
812
  ?netsuite_sales_order_id: String,
705
813
  ?proration: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::proration,
814
+ ?proration_rounding: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::ProrationRounding?,
706
815
  ?recurrence_frequency: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::recurrence_frequency,
707
816
  ?rollover_fraction: Float,
708
817
  ?specifiers: ::Array[MetronomeSDK::CommitSpecifier],
@@ -726,6 +835,7 @@ module MetronomeSDK
726
835
  name: String,
727
836
  netsuite_sales_order_id: String,
728
837
  proration: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::proration,
838
+ proration_rounding: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::ProrationRounding?,
729
839
  recurrence_frequency: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::recurrence_frequency,
730
840
  rollover_fraction: Float,
731
841
  specifiers: ::Array[MetronomeSDK::CommitSpecifier],
@@ -839,7 +949,63 @@ module MetronomeSDK
839
949
  def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::proration]
840
950
  end
841
951
 
842
- type recurrence_frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
952
+ type proration_rounding =
953
+ {
954
+ access: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::ProrationRounding::Access
955
+ }
956
+
957
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
958
+ attr_reader access: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::ProrationRounding::Access?
959
+
960
+ def access=: (
961
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::ProrationRounding::Access
962
+ ) -> MetronomeSDK::ContractWithoutAmendments::RecurringCredit::ProrationRounding::Access
963
+
964
+ def initialize: (
965
+ ?access: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::ProrationRounding::Access
966
+ ) -> void
967
+
968
+ def to_hash: -> {
969
+ access: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::ProrationRounding::Access
970
+ }
971
+
972
+ type access =
973
+ {
974
+ decimal_places: Float,
975
+ rounding_method: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::ProrationRounding::Access::rounding_method
976
+ }
977
+
978
+ class Access < MetronomeSDK::Internal::Type::BaseModel
979
+ attr_accessor decimal_places: Float
980
+
981
+ attr_accessor rounding_method: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::ProrationRounding::Access::rounding_method
982
+
983
+ def initialize: (
984
+ decimal_places: Float,
985
+ rounding_method: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::ProrationRounding::Access::rounding_method
986
+ ) -> void
987
+
988
+ def to_hash: -> {
989
+ decimal_places: Float,
990
+ rounding_method: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::ProrationRounding::Access::rounding_method
991
+ }
992
+
993
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
994
+
995
+ module RoundingMethod
996
+ extend MetronomeSDK::Internal::Type::Enum
997
+
998
+ HALF_UP: :HALF_UP
999
+ FLOOR: :FLOOR
1000
+ CEILING: :CEILING
1001
+
1002
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::ProrationRounding::Access::rounding_method]
1003
+ end
1004
+ end
1005
+ end
1006
+
1007
+ type recurrence_frequency =
1008
+ :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY | :DAILY
843
1009
 
844
1010
  module RecurrenceFrequency
845
1011
  extend MetronomeSDK::Internal::Type::Enum
@@ -848,6 +1014,7 @@ module MetronomeSDK
848
1014
  QUARTERLY: :QUARTERLY
849
1015
  ANNUAL: :ANNUAL
850
1016
  WEEKLY: :WEEKLY
1017
+ DAILY: :DAILY
851
1018
 
852
1019
  def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::recurrence_frequency]
853
1020
  end
@@ -11,6 +11,7 @@ module MetronomeSDK
11
11
  applicable_product_tags: ::Array[String],
12
12
  balance: Float,
13
13
  contract: MetronomeSDK::Credit::Contract,
14
+ created_by: String,
14
15
  custom_fields: ::Hash[Symbol, String],
15
16
  description: String,
16
17
  hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
@@ -62,6 +63,10 @@ module MetronomeSDK
62
63
  MetronomeSDK::Credit::Contract
63
64
  ) -> MetronomeSDK::Credit::Contract
64
65
 
66
+ attr_reader created_by: String?
67
+
68
+ def created_by=: (String) -> String
69
+
65
70
  attr_reader custom_fields: ::Hash[Symbol, String]?
66
71
 
67
72
  def custom_fields=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
@@ -140,6 +145,7 @@ module MetronomeSDK
140
145
  ?applicable_product_tags: ::Array[String],
141
146
  ?balance: Float,
142
147
  ?contract: MetronomeSDK::Credit::Contract,
148
+ ?created_by: String,
143
149
  ?custom_fields: ::Hash[Symbol, String],
144
150
  ?description: String,
145
151
  ?hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
@@ -166,6 +172,7 @@ module MetronomeSDK
166
172
  applicable_product_tags: ::Array[String],
167
173
  balance: Float,
168
174
  contract: MetronomeSDK::Credit::Contract,
175
+ created_by: String,
169
176
  custom_fields: ::Hash[Symbol, String],
170
177
  description: String,
171
178
  hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
@@ -177,6 +177,7 @@ module MetronomeSDK
177
177
 
178
178
  type override_specifier =
179
179
  {
180
+ any_commit_or_credit_ids: ::Array[String],
180
181
  billing_frequency: MetronomeSDK::Models::Override::OverrideSpecifier::billing_frequency,
181
182
  commit_ids: ::Array[String],
182
183
  presentation_group_values: ::Hash[Symbol, String?],
@@ -187,6 +188,10 @@ module MetronomeSDK
187
188
  }
188
189
 
189
190
  class OverrideSpecifier < MetronomeSDK::Internal::Type::BaseModel
191
+ attr_reader any_commit_or_credit_ids: ::Array[String]?
192
+
193
+ def any_commit_or_credit_ids=: (::Array[String]) -> ::Array[String]
194
+
190
195
  attr_reader billing_frequency: MetronomeSDK::Models::Override::OverrideSpecifier::billing_frequency?
191
196
 
192
197
  def billing_frequency=: (
@@ -222,6 +227,7 @@ module MetronomeSDK
222
227
  def recurring_commit_ids=: (::Array[String]) -> ::Array[String]
223
228
 
224
229
  def initialize: (
230
+ ?any_commit_or_credit_ids: ::Array[String],
225
231
  ?billing_frequency: MetronomeSDK::Models::Override::OverrideSpecifier::billing_frequency,
226
232
  ?commit_ids: ::Array[String],
227
233
  ?presentation_group_values: ::Hash[Symbol, String?],
@@ -232,6 +238,7 @@ module MetronomeSDK
232
238
  ) -> void
233
239
 
234
240
  def to_hash: -> {
241
+ any_commit_or_credit_ids: ::Array[String],
235
242
  billing_frequency: MetronomeSDK::Models::Override::OverrideSpecifier::billing_frequency,
236
243
  commit_ids: ::Array[String],
237
244
  presentation_group_values: ::Hash[Symbol, String?],
@@ -10,6 +10,7 @@ module MetronomeSDK
10
10
  starting_at: Time,
11
11
  subscription_rate: MetronomeSDK::Subscription::SubscriptionRate,
12
12
  id: String,
13
+ billing_cycle_config: MetronomeSDK::Subscription::BillingCycleConfig,
13
14
  custom_fields: ::Hash[Symbol, String],
14
15
  description: String,
15
16
  ending_before: Time,
@@ -37,6 +38,12 @@ module MetronomeSDK
37
38
 
38
39
  def id=: (String) -> String
39
40
 
41
+ attr_reader billing_cycle_config: MetronomeSDK::Subscription::BillingCycleConfig?
42
+
43
+ def billing_cycle_config=: (
44
+ MetronomeSDK::Subscription::BillingCycleConfig
45
+ ) -> MetronomeSDK::Subscription::BillingCycleConfig
46
+
40
47
  attr_reader custom_fields: ::Hash[Symbol, String]?
41
48
 
42
49
  def custom_fields=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
@@ -72,6 +79,7 @@ module MetronomeSDK
72
79
  starting_at: Time,
73
80
  subscription_rate: MetronomeSDK::Subscription::SubscriptionRate,
74
81
  ?id: String,
82
+ ?billing_cycle_config: MetronomeSDK::Subscription::BillingCycleConfig,
75
83
  ?custom_fields: ::Hash[Symbol, String],
76
84
  ?description: String,
77
85
  ?ending_before: Time,
@@ -89,6 +97,7 @@ module MetronomeSDK
89
97
  starting_at: Time,
90
98
  subscription_rate: MetronomeSDK::Subscription::SubscriptionRate,
91
99
  id: String,
100
+ billing_cycle_config: MetronomeSDK::Subscription::BillingCycleConfig,
92
101
  custom_fields: ::Hash[Symbol, String],
93
102
  description: String,
94
103
  ending_before: Time,
@@ -186,7 +195,8 @@ module MetronomeSDK
186
195
  type proration =
187
196
  {
188
197
  invoice_behavior: MetronomeSDK::Models::Subscription::Proration::invoice_behavior,
189
- is_prorated: bool
198
+ is_prorated: bool,
199
+ rounding: MetronomeSDK::Subscription::Proration::Rounding
190
200
  }
191
201
 
192
202
  class Proration < MetronomeSDK::Internal::Type::BaseModel
@@ -194,14 +204,22 @@ module MetronomeSDK
194
204
 
195
205
  attr_accessor is_prorated: bool
196
206
 
207
+ attr_reader rounding: MetronomeSDK::Subscription::Proration::Rounding?
208
+
209
+ def rounding=: (
210
+ MetronomeSDK::Subscription::Proration::Rounding
211
+ ) -> MetronomeSDK::Subscription::Proration::Rounding
212
+
197
213
  def initialize: (
198
214
  invoice_behavior: MetronomeSDK::Models::Subscription::Proration::invoice_behavior,
199
- is_prorated: bool
215
+ is_prorated: bool,
216
+ ?rounding: MetronomeSDK::Subscription::Proration::Rounding
200
217
  ) -> void
201
218
 
202
219
  def to_hash: -> {
203
220
  invoice_behavior: MetronomeSDK::Models::Subscription::Proration::invoice_behavior,
204
- is_prorated: bool
221
+ is_prorated: bool,
222
+ rounding: MetronomeSDK::Subscription::Proration::Rounding
205
223
  }
206
224
 
207
225
  type invoice_behavior =
@@ -215,6 +233,40 @@ module MetronomeSDK
215
233
 
216
234
  def self?.values: -> ::Array[MetronomeSDK::Models::Subscription::Proration::invoice_behavior]
217
235
  end
236
+
237
+ type rounding =
238
+ {
239
+ decimal_places: Float,
240
+ rounding_method: MetronomeSDK::Models::Subscription::Proration::Rounding::rounding_method
241
+ }
242
+
243
+ class Rounding < MetronomeSDK::Internal::Type::BaseModel
244
+ attr_accessor decimal_places: Float
245
+
246
+ attr_accessor rounding_method: MetronomeSDK::Models::Subscription::Proration::Rounding::rounding_method
247
+
248
+ def initialize: (
249
+ decimal_places: Float,
250
+ rounding_method: MetronomeSDK::Models::Subscription::Proration::Rounding::rounding_method
251
+ ) -> void
252
+
253
+ def to_hash: -> {
254
+ decimal_places: Float,
255
+ rounding_method: MetronomeSDK::Models::Subscription::Proration::Rounding::rounding_method
256
+ }
257
+
258
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
259
+
260
+ module RoundingMethod
261
+ extend MetronomeSDK::Internal::Type::Enum
262
+
263
+ HALF_UP: :HALF_UP
264
+ FLOOR: :FLOOR
265
+ CEILING: :CEILING
266
+
267
+ def self?.values: -> ::Array[MetronomeSDK::Models::Subscription::Proration::Rounding::rounding_method]
268
+ end
269
+ end
218
270
  end
219
271
 
220
272
  type quantity_management_mode = :SEAT_BASED | :QUANTITY_ONLY
@@ -300,6 +352,39 @@ module MetronomeSDK
300
352
  end
301
353
  end
302
354
 
355
+ type billing_cycle_config =
356
+ {
357
+ anchor_date: Time,
358
+ invoice_placement: MetronomeSDK::Models::Subscription::BillingCycleConfig::invoice_placement
359
+ }
360
+
361
+ class BillingCycleConfig < MetronomeSDK::Internal::Type::BaseModel
362
+ attr_accessor anchor_date: Time
363
+
364
+ attr_accessor invoice_placement: MetronomeSDK::Models::Subscription::BillingCycleConfig::invoice_placement
365
+
366
+ def initialize: (
367
+ anchor_date: Time,
368
+ invoice_placement: MetronomeSDK::Models::Subscription::BillingCycleConfig::invoice_placement
369
+ ) -> void
370
+
371
+ def to_hash: -> {
372
+ anchor_date: Time,
373
+ invoice_placement: MetronomeSDK::Models::Subscription::BillingCycleConfig::invoice_placement
374
+ }
375
+
376
+ type invoice_placement = :ON_SCHEDULED_INVOICE | :ON_USAGE_INVOICE
377
+
378
+ module InvoicePlacement
379
+ extend MetronomeSDK::Internal::Type::Enum
380
+
381
+ ON_SCHEDULED_INVOICE: :ON_SCHEDULED_INVOICE
382
+ ON_USAGE_INVOICE: :ON_USAGE_INVOICE
383
+
384
+ def self?.values: -> ::Array[MetronomeSDK::Models::Subscription::BillingCycleConfig::invoice_placement]
385
+ end
386
+ end
387
+
303
388
  type seat_config = { seat_group_key: String }
304
389
 
305
390
  class SeatConfig < MetronomeSDK::Internal::Type::BaseModel
@@ -6,6 +6,7 @@ module MetronomeSDK
6
6
  alert_type: MetronomeSDK::Models::V1::AlertCreateParams::alert_type,
7
7
  name: String,
8
8
  threshold: Float,
9
+ alert_specifiers: ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier],
9
10
  billable_metric_id: String,
10
11
  credit_grant_type_filters: ::Array[String],
11
12
  credit_type_id: String,
@@ -30,6 +31,12 @@ module MetronomeSDK
30
31
 
31
32
  attr_accessor threshold: Float
32
33
 
34
+ attr_reader alert_specifiers: ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier]?
35
+
36
+ def alert_specifiers=: (
37
+ ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier]
38
+ ) -> ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier]
39
+
33
40
  attr_reader billable_metric_id: String?
34
41
 
35
42
  def billable_metric_id=: (String) -> String
@@ -84,6 +91,7 @@ module MetronomeSDK
84
91
  alert_type: MetronomeSDK::Models::V1::AlertCreateParams::alert_type,
85
92
  name: String,
86
93
  threshold: Float,
94
+ ?alert_specifiers: ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier],
87
95
  ?billable_metric_id: String,
88
96
  ?credit_grant_type_filters: ::Array[String],
89
97
  ?credit_type_id: String,
@@ -102,6 +110,7 @@ module MetronomeSDK
102
110
  alert_type: MetronomeSDK::Models::V1::AlertCreateParams::alert_type,
103
111
  name: String,
104
112
  threshold: Float,
113
+ alert_specifiers: ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier],
105
114
  billable_metric_id: String,
106
115
  credit_grant_type_filters: ::Array[String],
107
116
  credit_type_id: String,
@@ -155,6 +164,141 @@ module MetronomeSDK
155
164
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::AlertCreateParams::alert_type]
156
165
  end
157
166
 
167
+ type alert_specifier =
168
+ {
169
+ custom_field_filters: ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::CustomFieldFilter],
170
+ exclude: ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::Exclude]
171
+ }
172
+
173
+ class AlertSpecifier < MetronomeSDK::Internal::Type::BaseModel
174
+ attr_reader custom_field_filters: ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::CustomFieldFilter]?
175
+
176
+ def custom_field_filters=: (
177
+ ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::CustomFieldFilter]
178
+ ) -> ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::CustomFieldFilter]
179
+
180
+ attr_reader exclude: ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::Exclude]?
181
+
182
+ def exclude=: (
183
+ ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::Exclude]
184
+ ) -> ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::Exclude]
185
+
186
+ def initialize: (
187
+ ?custom_field_filters: ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::CustomFieldFilter],
188
+ ?exclude: ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::Exclude]
189
+ ) -> void
190
+
191
+ def to_hash: -> {
192
+ custom_field_filters: ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::CustomFieldFilter],
193
+ exclude: ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::Exclude]
194
+ }
195
+
196
+ type custom_field_filter =
197
+ {
198
+ entity: MetronomeSDK::Models::V1::AlertCreateParams::AlertSpecifier::CustomFieldFilter::entity,
199
+ key: String,
200
+ value: String
201
+ }
202
+
203
+ class CustomFieldFilter < MetronomeSDK::Internal::Type::BaseModel
204
+ attr_accessor entity: MetronomeSDK::Models::V1::AlertCreateParams::AlertSpecifier::CustomFieldFilter::entity
205
+
206
+ attr_accessor key: String
207
+
208
+ attr_reader value: String?
209
+
210
+ def value=: (String) -> String
211
+
212
+ def initialize: (
213
+ entity: MetronomeSDK::Models::V1::AlertCreateParams::AlertSpecifier::CustomFieldFilter::entity,
214
+ key: String,
215
+ ?value: String
216
+ ) -> void
217
+
218
+ def to_hash: -> {
219
+ entity: MetronomeSDK::Models::V1::AlertCreateParams::AlertSpecifier::CustomFieldFilter::entity,
220
+ key: String,
221
+ value: String
222
+ }
223
+
224
+ type entity =
225
+ :Contract | :Commit | :ContractCredit | :ContractCreditOrCommit
226
+
227
+ module Entity
228
+ extend MetronomeSDK::Internal::Type::Enum
229
+
230
+ CONTRACT: :Contract
231
+ COMMIT: :Commit
232
+ CONTRACT_CREDIT: :ContractCredit
233
+ CONTRACT_CREDIT_OR_COMMIT: :ContractCreditOrCommit
234
+
235
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::AlertCreateParams::AlertSpecifier::CustomFieldFilter::entity]
236
+ end
237
+ end
238
+
239
+ type exclude =
240
+ {
241
+ custom_field_filters: ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::Exclude::CustomFieldFilter]
242
+ }
243
+
244
+ class Exclude < MetronomeSDK::Internal::Type::BaseModel
245
+ attr_reader custom_field_filters: ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::Exclude::CustomFieldFilter]?
246
+
247
+ def custom_field_filters=: (
248
+ ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::Exclude::CustomFieldFilter]
249
+ ) -> ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::Exclude::CustomFieldFilter]
250
+
251
+ def initialize: (
252
+ ?custom_field_filters: ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::Exclude::CustomFieldFilter]
253
+ ) -> void
254
+
255
+ def to_hash: -> {
256
+ custom_field_filters: ::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::Exclude::CustomFieldFilter]
257
+ }
258
+
259
+ type custom_field_filter =
260
+ {
261
+ entity: MetronomeSDK::Models::V1::AlertCreateParams::AlertSpecifier::Exclude::CustomFieldFilter::entity,
262
+ key: String,
263
+ value: String
264
+ }
265
+
266
+ class CustomFieldFilter < MetronomeSDK::Internal::Type::BaseModel
267
+ attr_accessor entity: MetronomeSDK::Models::V1::AlertCreateParams::AlertSpecifier::Exclude::CustomFieldFilter::entity
268
+
269
+ attr_accessor key: String
270
+
271
+ attr_accessor value: String
272
+
273
+ def initialize: (
274
+ entity: MetronomeSDK::Models::V1::AlertCreateParams::AlertSpecifier::Exclude::CustomFieldFilter::entity,
275
+ key: String,
276
+ value: String
277
+ ) -> void
278
+
279
+ def to_hash: -> {
280
+ entity: MetronomeSDK::Models::V1::AlertCreateParams::AlertSpecifier::Exclude::CustomFieldFilter::entity,
281
+ key: String,
282
+ value: String
283
+ }
284
+
285
+ type entity =
286
+ :Contract | :Commit | :ContractCredit | :ContractCreditOrCommit
287
+
288
+ module Entity
289
+ extend MetronomeSDK::Internal::Type::Enum
290
+
291
+ CONTRACT: :Contract
292
+ COMMIT: :Commit
293
+ CONTRACT_CREDIT: :ContractCredit
294
+ CONTRACT_CREDIT_OR_COMMIT: :ContractCreditOrCommit
295
+
296
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::AlertCreateParams::AlertSpecifier::Exclude::CustomFieldFilter::entity]
297
+ end
298
+ end
299
+ end
300
+ end
301
+
158
302
  type custom_field_filter =
159
303
  {
160
304
  entity: MetronomeSDK::Models::V1::AlertCreateParams::CustomFieldFilter::entity,
@@ -987,6 +987,7 @@ module MetronomeSDK
987
987
 
988
988
  type override_specifier =
989
989
  {
990
+ any_commit_or_credit_ids: ::Array[String],
990
991
  billing_frequency: MetronomeSDK::Models::V1::ContractAmendParams::Override::OverrideSpecifier::billing_frequency,
991
992
  commit_ids: ::Array[String],
992
993
  presentation_group_values: ::Hash[Symbol, String],
@@ -997,6 +998,10 @@ module MetronomeSDK
997
998
  }
998
999
 
999
1000
  class OverrideSpecifier < MetronomeSDK::Internal::Type::BaseModel
1001
+ attr_reader any_commit_or_credit_ids: ::Array[String]?
1002
+
1003
+ def any_commit_or_credit_ids=: (::Array[String]) -> ::Array[String]
1004
+
1000
1005
  attr_reader billing_frequency: MetronomeSDK::Models::V1::ContractAmendParams::Override::OverrideSpecifier::billing_frequency?
1001
1006
 
1002
1007
  def billing_frequency=: (
@@ -1032,6 +1037,7 @@ module MetronomeSDK
1032
1037
  def recurring_commit_ids=: (::Array[String]) -> ::Array[String]
1033
1038
 
1034
1039
  def initialize: (
1040
+ ?any_commit_or_credit_ids: ::Array[String],
1035
1041
  ?billing_frequency: MetronomeSDK::Models::V1::ContractAmendParams::Override::OverrideSpecifier::billing_frequency,
1036
1042
  ?commit_ids: ::Array[String],
1037
1043
  ?presentation_group_values: ::Hash[Symbol, String],
@@ -1042,6 +1048,7 @@ module MetronomeSDK
1042
1048
  ) -> void
1043
1049
 
1044
1050
  def to_hash: -> {
1051
+ any_commit_or_credit_ids: ::Array[String],
1045
1052
  billing_frequency: MetronomeSDK::Models::V1::ContractAmendParams::Override::OverrideSpecifier::billing_frequency,
1046
1053
  commit_ids: ::Array[String],
1047
1054
  presentation_group_values: ::Hash[Symbol, String],