metronome-sdk 3.4.0 → 3.6.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 (95) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +84 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/client.rb +15 -1
  5. data/lib/metronome_sdk/internal/transport/base_client.rb +2 -0
  6. data/lib/metronome_sdk/internal/util.rb +22 -7
  7. data/lib/metronome_sdk/models/base_threshold_commit.rb +10 -1
  8. data/lib/metronome_sdk/models/contract_v2.rb +443 -15
  9. data/lib/metronome_sdk/models/credit.rb +74 -4
  10. data/lib/metronome_sdk/models/override.rb +9 -8
  11. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +27 -1
  12. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +28 -2
  13. data/lib/metronome_sdk/models/spend_threshold_configuration.rb +26 -1
  14. data/lib/metronome_sdk/models/spend_threshold_configuration_v2.rb +30 -4
  15. data/lib/metronome_sdk/models/update_base_threshold_commit.rb +11 -1
  16. data/lib/metronome_sdk/models/v1/alert_create_params.rb +1 -0
  17. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +2 -189
  18. data/lib/metronome_sdk/models/v1/contract_create_params.rb +3 -191
  19. data/lib/metronome_sdk/models/v1/contract_list_seat_balances_params.rb +119 -0
  20. data/lib/metronome_sdk/models/v1/contract_list_seat_balances_response.rb +315 -0
  21. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +31 -1
  22. data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +31 -1
  23. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +1 -0
  24. data/lib/metronome_sdk/models/v1/customers/invoice.rb +8 -1
  25. data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +29 -1
  26. data/lib/metronome_sdk/models/v1/package_create_params.rb +2 -30
  27. data/lib/metronome_sdk/models/v1/package_list_response.rb +28 -9
  28. data/lib/metronome_sdk/models/v1/package_retrieve_response.rb +29 -9
  29. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +67 -20
  30. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +496 -15
  31. data/lib/metronome_sdk/resources/v1/contracts/products.rb +6 -2
  32. data/lib/metronome_sdk/resources/v1/contracts.rb +76 -2
  33. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +5 -1
  34. data/lib/metronome_sdk/resources/v1/packages.rb +1 -3
  35. data/lib/metronome_sdk/version.rb +1 -1
  36. data/lib/metronome_sdk.rb +3 -1
  37. data/rbi/metronome_sdk/internal/util.rbi +8 -0
  38. data/rbi/metronome_sdk/models/base_threshold_commit.rbi +24 -5
  39. data/rbi/metronome_sdk/models/contract_v2.rbi +916 -19
  40. data/rbi/metronome_sdk/models/credit.rbi +139 -3
  41. data/rbi/metronome_sdk/models/override.rbi +9 -12
  42. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +54 -3
  43. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +55 -4
  44. data/rbi/metronome_sdk/models/spend_threshold_configuration.rbi +54 -3
  45. data/rbi/metronome_sdk/models/spend_threshold_configuration_v2.rbi +58 -9
  46. data/rbi/metronome_sdk/models/update_base_threshold_commit.rbi +22 -4
  47. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +5 -0
  48. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +3 -416
  49. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +5 -418
  50. data/rbi/metronome_sdk/models/v1/contract_list_seat_balances_params.rbi +179 -0
  51. data/rbi/metronome_sdk/models/v1/contract_list_seat_balances_response.rbi +714 -0
  52. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +74 -0
  53. data/rbi/metronome_sdk/models/v1/contracts/product_update_params.rbi +74 -0
  54. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +5 -0
  55. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +9 -0
  56. data/rbi/metronome_sdk/models/v1/customers/invoice_list_params.rbi +75 -0
  57. data/rbi/metronome_sdk/models/v1/package_create_params.rbi +3 -76
  58. data/rbi/metronome_sdk/models/v1/package_list_response.rbi +72 -15
  59. data/rbi/metronome_sdk/models/v1/package_retrieve_response.rbi +72 -17
  60. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +133 -28
  61. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1174 -145
  62. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +18 -0
  63. data/rbi/metronome_sdk/resources/v1/contracts.rbi +88 -3
  64. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +7 -0
  65. data/rbi/metronome_sdk/resources/v1/packages.rbi +0 -3
  66. data/sig/metronome_sdk/internal/util.rbs +4 -0
  67. data/sig/metronome_sdk/models/base_threshold_commit.rbs +13 -3
  68. data/sig/metronome_sdk/models/contract_v2.rbs +401 -16
  69. data/sig/metronome_sdk/models/credit.rbs +69 -0
  70. data/sig/metronome_sdk/models/override.rbs +8 -10
  71. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration.rbs +22 -3
  72. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbs +23 -4
  73. data/sig/metronome_sdk/models/spend_threshold_configuration.rbs +22 -3
  74. data/sig/metronome_sdk/models/spend_threshold_configuration_v2.rbs +26 -7
  75. data/sig/metronome_sdk/models/update_base_threshold_commit.rbs +15 -2
  76. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +3 -1
  77. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +3 -147
  78. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +3 -147
  79. data/sig/metronome_sdk/models/v1/contract_list_seat_balances_params.rbs +96 -0
  80. data/sig/metronome_sdk/models/v1/contract_list_seat_balances_response.rbs +299 -0
  81. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +20 -0
  82. data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +20 -0
  83. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +3 -1
  84. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +7 -0
  85. data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +29 -1
  86. data/sig/metronome_sdk/models/v1/package_create_params.rbs +3 -30
  87. data/sig/metronome_sdk/models/v1/package_list_response.rbs +33 -15
  88. data/sig/metronome_sdk/models/v1/package_retrieve_response.rbs +33 -15
  89. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +33 -10
  90. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +409 -19
  91. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +2 -0
  92. data/sig/metronome_sdk/resources/v1/contracts.rbs +15 -0
  93. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +2 -0
  94. data/sig/metronome_sdk/resources/v1/packages.rbs +0 -1
  95. metadata +8 -2
@@ -31,7 +31,7 @@ module MetronomeSDK
31
31
  add_reseller_royalties: ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddResellerRoyalty],
32
32
  add_scheduled_charges: ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge],
33
33
  add_spend_threshold_configuration: MetronomeSDK::SpendThresholdConfigurationV2,
34
- add_subscriptions: ::Array[MetronomeSDK::Subscription],
34
+ add_subscriptions: ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription],
35
35
  add_usage_filters: ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddUsageFilter],
36
36
  archive_commits: ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::ArchiveCommit],
37
37
  archive_credits: ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::ArchiveCredit],
@@ -122,11 +122,11 @@ module MetronomeSDK
122
122
  MetronomeSDK::SpendThresholdConfigurationV2
123
123
  ) -> MetronomeSDK::SpendThresholdConfigurationV2
124
124
 
125
- attr_reader add_subscriptions: ::Array[MetronomeSDK::Subscription]?
125
+ attr_reader add_subscriptions: ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription]?
126
126
 
127
127
  def add_subscriptions=: (
128
- ::Array[MetronomeSDK::Subscription]
129
- ) -> ::Array[MetronomeSDK::Subscription]
128
+ ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription]
129
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription]
130
130
 
131
131
  attr_reader add_usage_filters: ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddUsageFilter]?
132
132
 
@@ -245,7 +245,7 @@ module MetronomeSDK
245
245
  ?add_reseller_royalties: ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddResellerRoyalty],
246
246
  ?add_scheduled_charges: ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge],
247
247
  ?add_spend_threshold_configuration: MetronomeSDK::SpendThresholdConfigurationV2,
248
- ?add_subscriptions: ::Array[MetronomeSDK::Subscription],
248
+ ?add_subscriptions: ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription],
249
249
  ?add_usage_filters: ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddUsageFilter],
250
250
  ?archive_commits: ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::ArchiveCommit],
251
251
  ?archive_credits: ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::ArchiveCredit],
@@ -280,7 +280,7 @@ module MetronomeSDK
280
280
  add_reseller_royalties: ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddResellerRoyalty],
281
281
  add_scheduled_charges: ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge],
282
282
  add_spend_threshold_configuration: MetronomeSDK::SpendThresholdConfigurationV2,
283
- add_subscriptions: ::Array[MetronomeSDK::Subscription],
283
+ add_subscriptions: ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription],
284
284
  add_usage_filters: ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddUsageFilter],
285
285
  archive_commits: ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::ArchiveCommit],
286
286
  archive_credits: ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::ArchiveCredit],
@@ -562,6 +562,8 @@ module MetronomeSDK
562
562
  name: String,
563
563
  netsuite_sales_order_id: String,
564
564
  priority: Float,
565
+ rate_type: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::rate_type,
566
+ rollover_fraction: Float,
565
567
  salesforce_opportunity_id: String,
566
568
  specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]
567
569
  }
@@ -609,6 +611,16 @@ module MetronomeSDK
609
611
 
610
612
  def priority=: (Float) -> Float
611
613
 
614
+ attr_reader rate_type: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::rate_type?
615
+
616
+ def rate_type=: (
617
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::rate_type
618
+ ) -> MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::rate_type
619
+
620
+ attr_reader rollover_fraction: Float?
621
+
622
+ def rollover_fraction=: (Float) -> Float
623
+
612
624
  attr_reader salesforce_opportunity_id: String?
613
625
 
614
626
  def salesforce_opportunity_id=: (String) -> String
@@ -631,6 +643,8 @@ module MetronomeSDK
631
643
  ?name: String,
632
644
  ?netsuite_sales_order_id: String,
633
645
  ?priority: Float,
646
+ ?rate_type: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::rate_type,
647
+ ?rollover_fraction: Float,
634
648
  ?salesforce_opportunity_id: String,
635
649
  ?specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]
636
650
  ) -> void
@@ -647,6 +661,8 @@ module MetronomeSDK
647
661
  name: String,
648
662
  netsuite_sales_order_id: String,
649
663
  priority: Float,
664
+ rate_type: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::rate_type,
665
+ rollover_fraction: Float,
650
666
  salesforce_opportunity_id: String,
651
667
  specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]
652
668
  }
@@ -672,11 +688,23 @@ module MetronomeSDK
672
688
 
673
689
  def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::type_]
674
690
  end
691
+
692
+ type rate_type = :COMMIT_RATE | :LIST_RATE
693
+
694
+ module RateType
695
+ extend MetronomeSDK::Internal::Type::Enum
696
+
697
+ COMMIT_RATE: :COMMIT_RATE
698
+ LIST_RATE: :LIST_RATE
699
+
700
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::rate_type]
701
+ end
675
702
  end
676
703
 
677
704
  type add_override =
678
705
  {
679
706
  id: String,
707
+ created_at: Time,
680
708
  starting_at: Time,
681
709
  applicable_product_tags: ::Array[String],
682
710
  ending_before: Time,
@@ -695,6 +723,8 @@ module MetronomeSDK
695
723
  class AddOverride < MetronomeSDK::Internal::Type::BaseModel
696
724
  attr_accessor id: String
697
725
 
726
+ attr_accessor created_at: Time
727
+
698
728
  attr_accessor starting_at: Time
699
729
 
700
730
  attr_reader applicable_product_tags: ::Array[String]?
@@ -759,6 +789,7 @@ module MetronomeSDK
759
789
 
760
790
  def initialize: (
761
791
  id: String,
792
+ created_at: Time,
762
793
  starting_at: Time,
763
794
  ?applicable_product_tags: ::Array[String],
764
795
  ?ending_before: Time,
@@ -776,6 +807,7 @@ module MetronomeSDK
776
807
 
777
808
  def to_hash: -> {
778
809
  id: String,
810
+ created_at: Time,
779
811
  starting_at: Time,
780
812
  applicable_product_tags: ::Array[String],
781
813
  ending_before: Time,
@@ -799,8 +831,7 @@ module MetronomeSDK
799
831
  pricing_group_values: ::Hash[Symbol, String],
800
832
  product_id: String,
801
833
  product_tags: ::Array[String],
802
- recurring_commit_ids: ::Array[String],
803
- recurring_credit_ids: ::Array[String]
834
+ recurring_commit_ids: ::Array[String]
804
835
  }
805
836
 
806
837
  class OverrideSpecifier < MetronomeSDK::Internal::Type::BaseModel
@@ -838,10 +869,6 @@ module MetronomeSDK
838
869
 
839
870
  def recurring_commit_ids=: (::Array[String]) -> ::Array[String]
840
871
 
841
- attr_reader recurring_credit_ids: ::Array[String]?
842
-
843
- def recurring_credit_ids=: (::Array[String]) -> ::Array[String]
844
-
845
872
  def initialize: (
846
873
  ?billing_frequency: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverrideSpecifier::billing_frequency,
847
874
  ?commit_ids: ::Array[String],
@@ -849,8 +876,7 @@ module MetronomeSDK
849
876
  ?pricing_group_values: ::Hash[Symbol, String],
850
877
  ?product_id: String,
851
878
  ?product_tags: ::Array[String],
852
- ?recurring_commit_ids: ::Array[String],
853
- ?recurring_credit_ids: ::Array[String]
879
+ ?recurring_commit_ids: ::Array[String]
854
880
  ) -> void
855
881
 
856
882
  def to_hash: -> {
@@ -860,8 +886,7 @@ module MetronomeSDK
860
886
  pricing_group_values: ::Hash[Symbol, String],
861
887
  product_id: String,
862
888
  product_tags: ::Array[String],
863
- recurring_commit_ids: ::Array[String],
864
- recurring_credit_ids: ::Array[String]
889
+ recurring_commit_ids: ::Array[String]
865
890
  }
866
891
 
867
892
  type billing_frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
@@ -1738,6 +1763,319 @@ module MetronomeSDK
1738
1763
  end
1739
1764
  end
1740
1765
 
1766
+ type add_subscription =
1767
+ {
1768
+ billing_periods: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::BillingPeriods,
1769
+ collection_schedule: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::collection_schedule,
1770
+ proration: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration,
1771
+ quantity_management_mode: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::quantity_management_mode,
1772
+ quantity_schedule: ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::QuantitySchedule],
1773
+ starting_at: Time,
1774
+ subscription_rate: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SubscriptionRate,
1775
+ id: String,
1776
+ custom_fields: ::Hash[Symbol, String],
1777
+ description: String,
1778
+ ending_before: Time,
1779
+ fiat_credit_type_id: String,
1780
+ name: String,
1781
+ seat_config: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SeatConfig
1782
+ }
1783
+
1784
+ class AddSubscription < MetronomeSDK::Internal::Type::BaseModel
1785
+ attr_accessor billing_periods: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::BillingPeriods
1786
+
1787
+ attr_accessor collection_schedule: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::collection_schedule
1788
+
1789
+ attr_accessor proration: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration
1790
+
1791
+ attr_accessor quantity_management_mode: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::quantity_management_mode
1792
+
1793
+ attr_accessor quantity_schedule: ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::QuantitySchedule]
1794
+
1795
+ attr_accessor starting_at: Time
1796
+
1797
+ attr_accessor subscription_rate: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SubscriptionRate
1798
+
1799
+ attr_reader id: String?
1800
+
1801
+ def id=: (String) -> String
1802
+
1803
+ attr_reader custom_fields: ::Hash[Symbol, String]?
1804
+
1805
+ def custom_fields=: (
1806
+ ::Hash[Symbol, String]
1807
+ ) -> ::Hash[Symbol, String]
1808
+
1809
+ attr_reader description: String?
1810
+
1811
+ def description=: (String) -> String
1812
+
1813
+ attr_reader ending_before: Time?
1814
+
1815
+ def ending_before=: (Time) -> Time
1816
+
1817
+ attr_reader fiat_credit_type_id: String?
1818
+
1819
+ def fiat_credit_type_id=: (String) -> String
1820
+
1821
+ attr_reader name: String?
1822
+
1823
+ def name=: (String) -> String
1824
+
1825
+ attr_reader seat_config: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SeatConfig?
1826
+
1827
+ def seat_config=: (
1828
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SeatConfig
1829
+ ) -> MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SeatConfig
1830
+
1831
+ def initialize: (
1832
+ billing_periods: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::BillingPeriods,
1833
+ collection_schedule: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::collection_schedule,
1834
+ proration: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration,
1835
+ quantity_management_mode: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::quantity_management_mode,
1836
+ quantity_schedule: ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::QuantitySchedule],
1837
+ starting_at: Time,
1838
+ subscription_rate: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SubscriptionRate,
1839
+ ?id: String,
1840
+ ?custom_fields: ::Hash[Symbol, String],
1841
+ ?description: String,
1842
+ ?ending_before: Time,
1843
+ ?fiat_credit_type_id: String,
1844
+ ?name: String,
1845
+ ?seat_config: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SeatConfig
1846
+ ) -> void
1847
+
1848
+ def to_hash: -> {
1849
+ billing_periods: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::BillingPeriods,
1850
+ collection_schedule: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::collection_schedule,
1851
+ proration: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration,
1852
+ quantity_management_mode: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::quantity_management_mode,
1853
+ quantity_schedule: ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::QuantitySchedule],
1854
+ starting_at: Time,
1855
+ subscription_rate: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SubscriptionRate,
1856
+ id: String,
1857
+ custom_fields: ::Hash[Symbol, String],
1858
+ description: String,
1859
+ ending_before: Time,
1860
+ fiat_credit_type_id: String,
1861
+ name: String,
1862
+ seat_config: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SeatConfig
1863
+ }
1864
+
1865
+ type billing_periods =
1866
+ {
1867
+ current: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::BillingPeriods::Current,
1868
+ next_: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::BillingPeriods::Next,
1869
+ previous: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::BillingPeriods::Previous
1870
+ }
1871
+
1872
+ class BillingPeriods < MetronomeSDK::Internal::Type::BaseModel
1873
+ attr_reader current: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::BillingPeriods::Current?
1874
+
1875
+ def current=: (
1876
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::BillingPeriods::Current
1877
+ ) -> MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::BillingPeriods::Current
1878
+
1879
+ attr_reader next_: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::BillingPeriods::Next?
1880
+
1881
+ def next_=: (
1882
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::BillingPeriods::Next
1883
+ ) -> MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::BillingPeriods::Next
1884
+
1885
+ attr_reader previous: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::BillingPeriods::Previous?
1886
+
1887
+ def previous=: (
1888
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::BillingPeriods::Previous
1889
+ ) -> MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::BillingPeriods::Previous
1890
+
1891
+ def initialize: (
1892
+ ?current: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::BillingPeriods::Current,
1893
+ ?next_: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::BillingPeriods::Next,
1894
+ ?previous: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::BillingPeriods::Previous
1895
+ ) -> void
1896
+
1897
+ def to_hash: -> {
1898
+ current: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::BillingPeriods::Current,
1899
+ next_: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::BillingPeriods::Next,
1900
+ previous: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::BillingPeriods::Previous
1901
+ }
1902
+
1903
+ type current = { ending_before: Time, starting_at: Time }
1904
+
1905
+ class Current < MetronomeSDK::Internal::Type::BaseModel
1906
+ attr_accessor ending_before: Time
1907
+
1908
+ attr_accessor starting_at: Time
1909
+
1910
+ def initialize: (ending_before: Time, starting_at: Time) -> void
1911
+
1912
+ def to_hash: -> { ending_before: Time, starting_at: Time }
1913
+ end
1914
+
1915
+ type next_ = { ending_before: Time, starting_at: Time }
1916
+
1917
+ class Next < MetronomeSDK::Internal::Type::BaseModel
1918
+ attr_accessor ending_before: Time
1919
+
1920
+ attr_accessor starting_at: Time
1921
+
1922
+ def initialize: (ending_before: Time, starting_at: Time) -> void
1923
+
1924
+ def to_hash: -> { ending_before: Time, starting_at: Time }
1925
+ end
1926
+
1927
+ type previous = { ending_before: Time, starting_at: Time }
1928
+
1929
+ class Previous < MetronomeSDK::Internal::Type::BaseModel
1930
+ attr_accessor ending_before: Time
1931
+
1932
+ attr_accessor starting_at: Time
1933
+
1934
+ def initialize: (ending_before: Time, starting_at: Time) -> void
1935
+
1936
+ def to_hash: -> { ending_before: Time, starting_at: Time }
1937
+ end
1938
+ end
1939
+
1940
+ type collection_schedule = :ADVANCE | :ARREARS
1941
+
1942
+ module CollectionSchedule
1943
+ extend MetronomeSDK::Internal::Type::Enum
1944
+
1945
+ ADVANCE: :ADVANCE
1946
+ ARREARS: :ARREARS
1947
+
1948
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::collection_schedule]
1949
+ end
1950
+
1951
+ type proration =
1952
+ {
1953
+ invoice_behavior: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration::invoice_behavior,
1954
+ is_prorated: bool
1955
+ }
1956
+
1957
+ class Proration < MetronomeSDK::Internal::Type::BaseModel
1958
+ attr_accessor invoice_behavior: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration::invoice_behavior
1959
+
1960
+ attr_accessor is_prorated: bool
1961
+
1962
+ def initialize: (
1963
+ invoice_behavior: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration::invoice_behavior,
1964
+ is_prorated: bool
1965
+ ) -> void
1966
+
1967
+ def to_hash: -> {
1968
+ invoice_behavior: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration::invoice_behavior,
1969
+ is_prorated: bool
1970
+ }
1971
+
1972
+ type invoice_behavior =
1973
+ :BILL_IMMEDIATELY | :BILL_ON_NEXT_COLLECTION_DATE
1974
+
1975
+ module InvoiceBehavior
1976
+ extend MetronomeSDK::Internal::Type::Enum
1977
+
1978
+ BILL_IMMEDIATELY: :BILL_IMMEDIATELY
1979
+ BILL_ON_NEXT_COLLECTION_DATE: :BILL_ON_NEXT_COLLECTION_DATE
1980
+
1981
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration::invoice_behavior]
1982
+ end
1983
+ end
1984
+
1985
+ type quantity_management_mode = :SEAT_BASED | :QUANTITY_ONLY
1986
+
1987
+ module QuantityManagementMode
1988
+ extend MetronomeSDK::Internal::Type::Enum
1989
+
1990
+ SEAT_BASED: :SEAT_BASED
1991
+ QUANTITY_ONLY: :QUANTITY_ONLY
1992
+
1993
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::quantity_management_mode]
1994
+ end
1995
+
1996
+ type quantity_schedule =
1997
+ { quantity: Float, starting_at: Time, ending_before: Time }
1998
+
1999
+ class QuantitySchedule < MetronomeSDK::Internal::Type::BaseModel
2000
+ attr_accessor quantity: Float
2001
+
2002
+ attr_accessor starting_at: Time
2003
+
2004
+ attr_reader ending_before: Time?
2005
+
2006
+ def ending_before=: (Time) -> Time
2007
+
2008
+ def initialize: (
2009
+ quantity: Float,
2010
+ starting_at: Time,
2011
+ ?ending_before: Time
2012
+ ) -> void
2013
+
2014
+ def to_hash: -> {
2015
+ quantity: Float,
2016
+ starting_at: Time,
2017
+ ending_before: Time
2018
+ }
2019
+ end
2020
+
2021
+ type subscription_rate =
2022
+ {
2023
+ billing_frequency: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SubscriptionRate::billing_frequency,
2024
+ product: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SubscriptionRate::Product
2025
+ }
2026
+
2027
+ class SubscriptionRate < MetronomeSDK::Internal::Type::BaseModel
2028
+ attr_accessor billing_frequency: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SubscriptionRate::billing_frequency
2029
+
2030
+ attr_accessor product: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SubscriptionRate::Product
2031
+
2032
+ def initialize: (
2033
+ billing_frequency: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SubscriptionRate::billing_frequency,
2034
+ product: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SubscriptionRate::Product
2035
+ ) -> void
2036
+
2037
+ def to_hash: -> {
2038
+ billing_frequency: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SubscriptionRate::billing_frequency,
2039
+ product: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SubscriptionRate::Product
2040
+ }
2041
+
2042
+ type billing_frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
2043
+
2044
+ module BillingFrequency
2045
+ extend MetronomeSDK::Internal::Type::Enum
2046
+
2047
+ MONTHLY: :MONTHLY
2048
+ QUARTERLY: :QUARTERLY
2049
+ ANNUAL: :ANNUAL
2050
+ WEEKLY: :WEEKLY
2051
+
2052
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SubscriptionRate::billing_frequency]
2053
+ end
2054
+
2055
+ type product = { id: String, name: String }
2056
+
2057
+ class Product < MetronomeSDK::Internal::Type::BaseModel
2058
+ attr_accessor id: String
2059
+
2060
+ attr_accessor name: String
2061
+
2062
+ def initialize: (id: String, name: String) -> void
2063
+
2064
+ def to_hash: -> { id: String, name: String }
2065
+ end
2066
+ end
2067
+
2068
+ type seat_config = { seat_group_key: String }
2069
+
2070
+ class SeatConfig < MetronomeSDK::Internal::Type::BaseModel
2071
+ attr_accessor seat_group_key: String
2072
+
2073
+ def initialize: (seat_group_key: String) -> void
2074
+
2075
+ def to_hash: -> { seat_group_key: String }
2076
+ end
2077
+ end
2078
+
1741
2079
  type add_usage_filter =
1742
2080
  {
1743
2081
  group_key: String,
@@ -2173,13 +2511,17 @@ module MetronomeSDK
2173
2511
  {
2174
2512
  id: String,
2175
2513
  access_schedule: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::AccessSchedule,
2514
+ applicable_product_ids: ::Array[String]?,
2515
+ applicable_product_tags: ::Array[String]?,
2176
2516
  description: String,
2177
2517
  hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
2178
2518
  name: String,
2179
2519
  netsuite_sales_order_id: String?,
2180
2520
  priority: Float?,
2521
+ product_id: String,
2181
2522
  rate_type: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::rate_type,
2182
- rollover_fraction: Float?
2523
+ rollover_fraction: Float?,
2524
+ specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]?
2183
2525
  }
2184
2526
 
2185
2527
  class UpdateCredit < MetronomeSDK::Internal::Type::BaseModel
@@ -2191,6 +2533,10 @@ module MetronomeSDK
2191
2533
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::AccessSchedule
2192
2534
  ) -> MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::AccessSchedule
2193
2535
 
2536
+ attr_accessor applicable_product_ids: ::Array[String]?
2537
+
2538
+ attr_accessor applicable_product_tags: ::Array[String]?
2539
+
2194
2540
  attr_reader description: String?
2195
2541
 
2196
2542
  def description=: (String) -> String
@@ -2209,6 +2555,10 @@ module MetronomeSDK
2209
2555
 
2210
2556
  attr_accessor priority: Float?
2211
2557
 
2558
+ attr_reader product_id: String?
2559
+
2560
+ def product_id=: (String) -> String
2561
+
2212
2562
  attr_reader rate_type: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::rate_type?
2213
2563
 
2214
2564
  def rate_type=: (
@@ -2217,28 +2567,38 @@ module MetronomeSDK
2217
2567
 
2218
2568
  attr_accessor rollover_fraction: Float?
2219
2569
 
2570
+ attr_accessor specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]?
2571
+
2220
2572
  def initialize: (
2221
2573
  id: String,
2222
2574
  ?access_schedule: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::AccessSchedule,
2575
+ ?applicable_product_ids: ::Array[String]?,
2576
+ ?applicable_product_tags: ::Array[String]?,
2223
2577
  ?description: String,
2224
2578
  ?hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
2225
2579
  ?name: String,
2226
2580
  ?netsuite_sales_order_id: String?,
2227
2581
  ?priority: Float?,
2582
+ ?product_id: String,
2228
2583
  ?rate_type: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::rate_type,
2229
- ?rollover_fraction: Float?
2584
+ ?rollover_fraction: Float?,
2585
+ ?specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]?
2230
2586
  ) -> void
2231
2587
 
2232
2588
  def to_hash: -> {
2233
2589
  id: String,
2234
2590
  access_schedule: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::AccessSchedule,
2591
+ applicable_product_ids: ::Array[String]?,
2592
+ applicable_product_tags: ::Array[String]?,
2235
2593
  description: String,
2236
2594
  hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
2237
2595
  name: String,
2238
2596
  netsuite_sales_order_id: String?,
2239
2597
  priority: Float?,
2598
+ product_id: String,
2240
2599
  rate_type: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::rate_type,
2241
- rollover_fraction: Float?
2600
+ rollover_fraction: Float?,
2601
+ specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]?
2242
2602
  }
2243
2603
 
2244
2604
  type access_schedule =
@@ -2578,6 +2938,7 @@ module MetronomeSDK
2578
2938
  {
2579
2939
  commit: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::Commit,
2580
2940
  custom_credit_type_id: String?,
2941
+ discount_configuration: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::DiscountConfiguration?,
2581
2942
  is_enabled: bool,
2582
2943
  payment_gate_config: MetronomeSDK::PaymentGateConfigV2,
2583
2944
  recharge_to_amount: Float,
@@ -2593,6 +2954,8 @@ module MetronomeSDK
2593
2954
 
2594
2955
  attr_accessor custom_credit_type_id: String?
2595
2956
 
2957
+ attr_accessor discount_configuration: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::DiscountConfiguration?
2958
+
2596
2959
  attr_reader is_enabled: bool?
2597
2960
 
2598
2961
  def is_enabled=: (bool) -> bool
@@ -2614,6 +2977,7 @@ module MetronomeSDK
2614
2977
  def initialize: (
2615
2978
  ?commit: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::Commit,
2616
2979
  ?custom_credit_type_id: String?,
2980
+ ?discount_configuration: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::DiscountConfiguration?,
2617
2981
  ?is_enabled: bool,
2618
2982
  ?payment_gate_config: MetronomeSDK::PaymentGateConfigV2,
2619
2983
  ?recharge_to_amount: Float,
@@ -2623,6 +2987,7 @@ module MetronomeSDK
2623
2987
  def to_hash: -> {
2624
2988
  commit: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::Commit,
2625
2989
  custom_credit_type_id: String?,
2990
+ discount_configuration: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::DiscountConfiguration?,
2626
2991
  is_enabled: bool,
2627
2992
  payment_gate_config: MetronomeSDK::PaymentGateConfigV2,
2628
2993
  recharge_to_amount: Float,
@@ -2667,6 +3032,16 @@ module MetronomeSDK
2667
3032
  specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]?
2668
3033
  }
2669
3034
  end
3035
+
3036
+ type discount_configuration = { payment_fraction: Float? }
3037
+
3038
+ class DiscountConfiguration < MetronomeSDK::Internal::Type::BaseModel
3039
+ attr_accessor payment_fraction: Float?
3040
+
3041
+ def initialize: (?payment_fraction: Float?) -> void
3042
+
3043
+ def to_hash: -> { payment_fraction: Float? }
3044
+ end
2670
3045
  end
2671
3046
 
2672
3047
  type update_recurring_commit =
@@ -3017,6 +3392,7 @@ module MetronomeSDK
3017
3392
  type update_spend_threshold_configuration =
3018
3393
  {
3019
3394
  commit: MetronomeSDK::UpdateBaseThresholdCommit,
3395
+ discount_configuration: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::DiscountConfiguration?,
3020
3396
  is_enabled: bool,
3021
3397
  payment_gate_config: MetronomeSDK::PaymentGateConfigV2,
3022
3398
  threshold_amount: Float
@@ -3029,6 +3405,8 @@ module MetronomeSDK
3029
3405
  MetronomeSDK::UpdateBaseThresholdCommit
3030
3406
  ) -> MetronomeSDK::UpdateBaseThresholdCommit
3031
3407
 
3408
+ attr_accessor discount_configuration: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::DiscountConfiguration?
3409
+
3032
3410
  attr_reader is_enabled: bool?
3033
3411
 
3034
3412
  def is_enabled=: (bool) -> bool
@@ -3045,6 +3423,7 @@ module MetronomeSDK
3045
3423
 
3046
3424
  def initialize: (
3047
3425
  ?commit: MetronomeSDK::UpdateBaseThresholdCommit,
3426
+ ?discount_configuration: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::DiscountConfiguration?,
3048
3427
  ?is_enabled: bool,
3049
3428
  ?payment_gate_config: MetronomeSDK::PaymentGateConfigV2,
3050
3429
  ?threshold_amount: Float
@@ -3052,10 +3431,21 @@ module MetronomeSDK
3052
3431
 
3053
3432
  def to_hash: -> {
3054
3433
  commit: MetronomeSDK::UpdateBaseThresholdCommit,
3434
+ discount_configuration: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::DiscountConfiguration?,
3055
3435
  is_enabled: bool,
3056
3436
  payment_gate_config: MetronomeSDK::PaymentGateConfigV2,
3057
3437
  threshold_amount: Float
3058
3438
  }
3439
+
3440
+ type discount_configuration = { payment_fraction: Float? }
3441
+
3442
+ class DiscountConfiguration < MetronomeSDK::Internal::Type::BaseModel
3443
+ attr_accessor payment_fraction: Float?
3444
+
3445
+ def initialize: (?payment_fraction: Float?) -> void
3446
+
3447
+ def to_hash: -> { payment_fraction: Float? }
3448
+ end
3059
3449
  end
3060
3450
 
3061
3451
  type update_subscription =
@@ -18,6 +18,7 @@ module MetronomeSDK
18
18
  ?pricing_group_key: ::Array[String],
19
19
  ?quantity_conversion: MetronomeSDK::V1::Contracts::QuantityConversion?,
20
20
  ?quantity_rounding: MetronomeSDK::V1::Contracts::QuantityRounding?,
21
+ ?sql_breakdown_granularity: MetronomeSDK::Models::V1::Contracts::ProductCreateParams::sql_breakdown_granularity,
21
22
  ?tags: ::Array[String],
22
23
  ?request_options: MetronomeSDK::request_opts
23
24
  ) -> MetronomeSDK::Models::V1::Contracts::ProductCreateResponse
@@ -42,6 +43,7 @@ module MetronomeSDK
42
43
  ?pricing_group_key: ::Array[String],
43
44
  ?quantity_conversion: MetronomeSDK::V1::Contracts::QuantityConversion?,
44
45
  ?quantity_rounding: MetronomeSDK::V1::Contracts::QuantityRounding?,
46
+ ?sql_breakdown_granularity: MetronomeSDK::Models::V1::Contracts::ProductUpdateParams::sql_breakdown_granularity,
45
47
  ?tags: ::Array[String],
46
48
  ?request_options: MetronomeSDK::request_opts
47
49
  ) -> MetronomeSDK::Models::V1::Contracts::ProductUpdateResponse