metronome-sdk 0.1.0 → 0.3.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 (80) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +39 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/internal/transport/base_client.rb +1 -1
  5. data/lib/metronome_sdk/internal/type/array_of.rb +1 -0
  6. data/lib/metronome_sdk/internal/type/base_model.rb +3 -1
  7. data/lib/metronome_sdk/internal/type/converter.rb +27 -0
  8. data/lib/metronome_sdk/internal/type/hash_of.rb +1 -0
  9. data/lib/metronome_sdk/internal/type/union.rb +9 -7
  10. data/lib/metronome_sdk/models/commit.rb +35 -5
  11. data/lib/metronome_sdk/models/contract_without_amendments.rb +128 -2
  12. data/lib/metronome_sdk/models/credit.rb +21 -3
  13. data/lib/metronome_sdk/models/schedule_point_in_time.rb +14 -1
  14. data/lib/metronome_sdk/models/v1/alert_create_params.rb +9 -11
  15. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +54 -5
  16. data/lib/metronome_sdk/models/v1/contract_create_params.rb +219 -23
  17. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +8 -1
  18. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +10 -1
  19. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +29 -1
  20. data/lib/metronome_sdk/models/v1/customers/invoice.rb +13 -1
  21. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +2 -0
  22. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +12 -1
  23. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +12 -1
  24. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +259 -37
  25. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +602 -15
  26. data/lib/metronome_sdk/models/v2/contract_list_response.rb +194 -17
  27. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +194 -17
  28. data/lib/metronome_sdk/resources/v1/alerts.rb +2 -2
  29. data/lib/metronome_sdk/resources/v1/contracts/products.rb +3 -1
  30. data/lib/metronome_sdk/resources/v2/contracts.rb +6 -2
  31. data/lib/metronome_sdk/version.rb +1 -1
  32. data/rbi/metronome_sdk/internal/transport/base_client.rbi +1 -1
  33. data/rbi/metronome_sdk/internal/type/converter.rbi +58 -0
  34. data/rbi/metronome_sdk/internal/type/union.rbi +9 -2
  35. data/rbi/metronome_sdk/models/commit.rbi +89 -15
  36. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +304 -6
  37. data/rbi/metronome_sdk/models/credit.rbi +54 -9
  38. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +17 -1
  39. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +16 -18
  40. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +76 -3
  41. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +433 -26
  42. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +9 -0
  43. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +13 -0
  44. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +60 -0
  45. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +16 -0
  46. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +10 -0
  47. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +14 -0
  48. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +14 -0
  49. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +481 -38
  50. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1565 -42
  51. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +431 -37
  52. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +431 -37
  53. data/rbi/metronome_sdk/resources/v1/alerts.rbi +5 -5
  54. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +2 -0
  55. data/rbi/metronome_sdk/resources/v2/contracts.rbi +12 -0
  56. data/sig/metronome_sdk/internal/transport/base_client.rbs +1 -1
  57. data/sig/metronome_sdk/internal/type/converter.rbs +17 -0
  58. data/sig/metronome_sdk/internal/type/union.rbs +2 -2
  59. data/sig/metronome_sdk/models/commit.rbs +50 -15
  60. data/sig/metronome_sdk/models/contract_without_amendments.rbs +120 -6
  61. data/sig/metronome_sdk/models/credit.rbs +30 -9
  62. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +7 -0
  63. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +9 -9
  64. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +38 -3
  65. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +168 -6
  66. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +7 -0
  67. data/sig/metronome_sdk/models/v1/customers/commit_create_params.rbs +7 -0
  68. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +21 -0
  69. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +5 -0
  70. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +4 -0
  71. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +5 -0
  72. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +5 -0
  73. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +178 -6
  74. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +629 -6
  75. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +205 -30
  76. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +205 -30
  77. data/sig/metronome_sdk/resources/v1/alerts.rbs +1 -1
  78. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +1 -0
  79. data/sig/metronome_sdk/resources/v2/contracts.rbs +2 -0
  80. metadata +2 -2
@@ -1621,6 +1621,12 @@ module MetronomeSDK
1621
1621
  end
1622
1622
  attr_accessor :type
1623
1623
 
1624
+ sig { returns(T.nilable(String)) }
1625
+ attr_reader :contract_id
1626
+
1627
+ sig { params(contract_id: String).void }
1628
+ attr_writer :contract_id
1629
+
1624
1630
  sig do
1625
1631
  params(
1626
1632
  amount: Float,
@@ -1628,7 +1634,8 @@ module MetronomeSDK
1628
1634
  segment_id: String,
1629
1635
  timestamp: Time,
1630
1636
  type:
1631
- MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::OrSymbol
1637
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::OrSymbol,
1638
+ contract_id: String
1632
1639
  ).returns(T.attached_class)
1633
1640
  end
1634
1641
  def self.new(
@@ -1636,7 +1643,8 @@ module MetronomeSDK
1636
1643
  invoice_id:,
1637
1644
  segment_id:,
1638
1645
  timestamp:,
1639
- type:
1646
+ type:,
1647
+ contract_id: nil
1640
1648
  )
1641
1649
  end
1642
1650
 
@@ -1648,7 +1656,8 @@ module MetronomeSDK
1648
1656
  segment_id: String,
1649
1657
  timestamp: Time,
1650
1658
  type:
1651
- MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::TaggedSymbol
1659
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::TaggedSymbol,
1660
+ contract_id: String
1652
1661
  }
1653
1662
  )
1654
1663
  end
@@ -1886,6 +1895,12 @@ module MetronomeSDK
1886
1895
  end
1887
1896
  attr_accessor :type
1888
1897
 
1898
+ sig { returns(T.nilable(String)) }
1899
+ attr_reader :contract_id
1900
+
1901
+ sig { params(contract_id: String).void }
1902
+ attr_writer :contract_id
1903
+
1889
1904
  sig do
1890
1905
  params(
1891
1906
  amount: Float,
@@ -1893,7 +1908,8 @@ module MetronomeSDK
1893
1908
  segment_id: String,
1894
1909
  timestamp: Time,
1895
1910
  type:
1896
- MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type::OrSymbol
1911
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type::OrSymbol,
1912
+ contract_id: String
1897
1913
  ).returns(T.attached_class)
1898
1914
  end
1899
1915
  def self.new(
@@ -1901,7 +1917,8 @@ module MetronomeSDK
1901
1917
  invoice_id:,
1902
1918
  segment_id:,
1903
1919
  timestamp:,
1904
- type:
1920
+ type:,
1921
+ contract_id: nil
1905
1922
  )
1906
1923
  end
1907
1924
 
@@ -1913,7 +1930,8 @@ module MetronomeSDK
1913
1930
  segment_id: String,
1914
1931
  timestamp: Time,
1915
1932
  type:
1916
- MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type::TaggedSymbol
1933
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type::TaggedSymbol,
1934
+ contract_id: String
1917
1935
  }
1918
1936
  )
1919
1937
  end
@@ -1978,6 +1996,12 @@ module MetronomeSDK
1978
1996
  end
1979
1997
  attr_accessor :type
1980
1998
 
1999
+ sig { returns(T.nilable(String)) }
2000
+ attr_reader :contract_id
2001
+
2002
+ sig { params(contract_id: String).void }
2003
+ attr_writer :contract_id
2004
+
1981
2005
  sig do
1982
2006
  params(
1983
2007
  amount: Float,
@@ -1985,7 +2009,8 @@ module MetronomeSDK
1985
2009
  segment_id: String,
1986
2010
  timestamp: Time,
1987
2011
  type:
1988
- MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type::OrSymbol
2012
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type::OrSymbol,
2013
+ contract_id: String
1989
2014
  ).returns(T.attached_class)
1990
2015
  end
1991
2016
  def self.new(
@@ -1993,7 +2018,8 @@ module MetronomeSDK
1993
2018
  invoice_id:,
1994
2019
  segment_id:,
1995
2020
  timestamp:,
1996
- type:
2021
+ type:,
2022
+ contract_id: nil
1997
2023
  )
1998
2024
  end
1999
2025
 
@@ -2005,7 +2031,8 @@ module MetronomeSDK
2005
2031
  segment_id: String,
2006
2032
  timestamp: Time,
2007
2033
  type:
2008
- MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type::TaggedSymbol
2034
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type::TaggedSymbol,
2035
+ contract_id: String
2009
2036
  }
2010
2037
  )
2011
2038
  end
@@ -2227,6 +2254,12 @@ module MetronomeSDK
2227
2254
  end
2228
2255
  attr_accessor :type
2229
2256
 
2257
+ sig { returns(T.nilable(String)) }
2258
+ attr_reader :contract_id
2259
+
2260
+ sig { params(contract_id: String).void }
2261
+ attr_writer :contract_id
2262
+
2230
2263
  sig do
2231
2264
  params(
2232
2265
  amount: Float,
@@ -2234,7 +2267,8 @@ module MetronomeSDK
2234
2267
  segment_id: String,
2235
2268
  timestamp: Time,
2236
2269
  type:
2237
- MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::OrSymbol
2270
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::OrSymbol,
2271
+ contract_id: String
2238
2272
  ).returns(T.attached_class)
2239
2273
  end
2240
2274
  def self.new(
@@ -2242,7 +2276,8 @@ module MetronomeSDK
2242
2276
  invoice_id:,
2243
2277
  segment_id:,
2244
2278
  timestamp:,
2245
- type:
2279
+ type:,
2280
+ contract_id: nil
2246
2281
  )
2247
2282
  end
2248
2283
 
@@ -2254,7 +2289,8 @@ module MetronomeSDK
2254
2289
  segment_id: String,
2255
2290
  timestamp: Time,
2256
2291
  type:
2257
- MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::TaggedSymbol
2292
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::TaggedSymbol,
2293
+ contract_id: String
2258
2294
  }
2259
2295
  )
2260
2296
  end
@@ -2408,16 +2444,29 @@ module MetronomeSDK
2408
2444
  end
2409
2445
  attr_accessor :type
2410
2446
 
2447
+ sig { returns(T.nilable(String)) }
2448
+ attr_reader :contract_id
2449
+
2450
+ sig { params(contract_id: String).void }
2451
+ attr_writer :contract_id
2452
+
2411
2453
  sig do
2412
2454
  params(
2413
2455
  amount: Float,
2414
2456
  invoice_id: String,
2415
2457
  timestamp: Time,
2416
2458
  type:
2417
- MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type::OrSymbol
2459
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type::OrSymbol,
2460
+ contract_id: String
2418
2461
  ).returns(T.attached_class)
2419
2462
  end
2420
- def self.new(amount:, invoice_id:, timestamp:, type:)
2463
+ def self.new(
2464
+ amount:,
2465
+ invoice_id:,
2466
+ timestamp:,
2467
+ type:,
2468
+ contract_id: nil
2469
+ )
2421
2470
  end
2422
2471
 
2423
2472
  sig do
@@ -2427,7 +2476,8 @@ module MetronomeSDK
2427
2476
  invoice_id: String,
2428
2477
  timestamp: Time,
2429
2478
  type:
2430
- MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type::TaggedSymbol
2479
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type::TaggedSymbol,
2480
+ contract_id: String
2431
2481
  }
2432
2482
  )
2433
2483
  end
@@ -4563,6 +4613,12 @@ module MetronomeSDK
4563
4613
  end
4564
4614
  attr_accessor :type
4565
4615
 
4616
+ sig { returns(T.nilable(String)) }
4617
+ attr_reader :contract_id
4618
+
4619
+ sig { params(contract_id: String).void }
4620
+ attr_writer :contract_id
4621
+
4566
4622
  sig do
4567
4623
  params(
4568
4624
  amount: Float,
@@ -4570,7 +4626,8 @@ module MetronomeSDK
4570
4626
  segment_id: String,
4571
4627
  timestamp: Time,
4572
4628
  type:
4573
- MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type::OrSymbol
4629
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type::OrSymbol,
4630
+ contract_id: String
4574
4631
  ).returns(T.attached_class)
4575
4632
  end
4576
4633
  def self.new(
@@ -4578,7 +4635,8 @@ module MetronomeSDK
4578
4635
  invoice_id:,
4579
4636
  segment_id:,
4580
4637
  timestamp:,
4581
- type:
4638
+ type:,
4639
+ contract_id: nil
4582
4640
  )
4583
4641
  end
4584
4642
 
@@ -4590,7 +4648,8 @@ module MetronomeSDK
4590
4648
  segment_id: String,
4591
4649
  timestamp: Time,
4592
4650
  type:
4593
- MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type::TaggedSymbol
4651
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type::TaggedSymbol,
4652
+ contract_id: String
4594
4653
  }
4595
4654
  )
4596
4655
  end
@@ -4736,6 +4795,12 @@ module MetronomeSDK
4736
4795
  end
4737
4796
  attr_accessor :type
4738
4797
 
4798
+ sig { returns(T.nilable(String)) }
4799
+ attr_reader :contract_id
4800
+
4801
+ sig { params(contract_id: String).void }
4802
+ attr_writer :contract_id
4803
+
4739
4804
  sig do
4740
4805
  params(
4741
4806
  amount: Float,
@@ -4743,7 +4808,8 @@ module MetronomeSDK
4743
4808
  segment_id: String,
4744
4809
  timestamp: Time,
4745
4810
  type:
4746
- MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type::OrSymbol
4811
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type::OrSymbol,
4812
+ contract_id: String
4747
4813
  ).returns(T.attached_class)
4748
4814
  end
4749
4815
  def self.new(
@@ -4751,7 +4817,8 @@ module MetronomeSDK
4751
4817
  invoice_id:,
4752
4818
  segment_id:,
4753
4819
  timestamp:,
4754
- type:
4820
+ type:,
4821
+ contract_id: nil
4755
4822
  )
4756
4823
  end
4757
4824
 
@@ -4763,7 +4830,8 @@ module MetronomeSDK
4763
4830
  segment_id: String,
4764
4831
  timestamp: Time,
4765
4832
  type:
4766
- MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type::TaggedSymbol
4833
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type::TaggedSymbol,
4834
+ contract_id: String
4767
4835
  }
4768
4836
  )
4769
4837
  end
@@ -4828,6 +4896,12 @@ module MetronomeSDK
4828
4896
  end
4829
4897
  attr_accessor :type
4830
4898
 
4899
+ sig { returns(T.nilable(String)) }
4900
+ attr_reader :contract_id
4901
+
4902
+ sig { params(contract_id: String).void }
4903
+ attr_writer :contract_id
4904
+
4831
4905
  sig do
4832
4906
  params(
4833
4907
  amount: Float,
@@ -4835,7 +4909,8 @@ module MetronomeSDK
4835
4909
  segment_id: String,
4836
4910
  timestamp: Time,
4837
4911
  type:
4838
- MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type::OrSymbol
4912
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type::OrSymbol,
4913
+ contract_id: String
4839
4914
  ).returns(T.attached_class)
4840
4915
  end
4841
4916
  def self.new(
@@ -4843,7 +4918,8 @@ module MetronomeSDK
4843
4918
  invoice_id:,
4844
4919
  segment_id:,
4845
4920
  timestamp:,
4846
- type:
4921
+ type:,
4922
+ contract_id: nil
4847
4923
  )
4848
4924
  end
4849
4925
 
@@ -4855,7 +4931,8 @@ module MetronomeSDK
4855
4931
  segment_id: String,
4856
4932
  timestamp: Time,
4857
4933
  type:
4858
- MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type::TaggedSymbol
4934
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type::TaggedSymbol,
4935
+ contract_id: String
4859
4936
  }
4860
4937
  )
4861
4938
  end
@@ -5146,6 +5223,10 @@ module MetronomeSDK
5146
5223
  )
5147
5224
  end
5148
5225
 
5226
+ # ID of Customer's billing provider configuration.
5227
+ sig { returns(String) }
5228
+ attr_accessor :id
5229
+
5149
5230
  sig do
5150
5231
  returns(
5151
5232
  MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::CustomerBillingProviderConfiguration::BillingProvider::TaggedSymbol
@@ -5163,18 +5244,25 @@ module MetronomeSDK
5163
5244
  # This field's availability is dependent on your client's configuration.
5164
5245
  sig do
5165
5246
  params(
5247
+ id: String,
5166
5248
  billing_provider:
5167
5249
  MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::CustomerBillingProviderConfiguration::BillingProvider::OrSymbol,
5168
5250
  delivery_method:
5169
5251
  MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::CustomerBillingProviderConfiguration::DeliveryMethod::OrSymbol
5170
5252
  ).returns(T.attached_class)
5171
5253
  end
5172
- def self.new(billing_provider:, delivery_method:)
5254
+ def self.new(
5255
+ # ID of Customer's billing provider configuration.
5256
+ id:,
5257
+ billing_provider:,
5258
+ delivery_method:
5259
+ )
5173
5260
  end
5174
5261
 
5175
5262
  sig do
5176
5263
  override.returns(
5177
5264
  {
5265
+ id: String,
5178
5266
  billing_provider:
5179
5267
  MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::CustomerBillingProviderConfiguration::BillingProvider::TaggedSymbol,
5180
5268
  delivery_method:
@@ -5719,6 +5807,8 @@ module MetronomeSDK
5719
5807
  # or credit. A customer's usage needs to meet the condition of at least one of the
5720
5808
  # specifiers to contribute to a commit's or credit's drawdown. This field cannot
5721
5809
  # be used together with `applicable_product_ids` or `applicable_product_tags`.
5810
+ # Instead, to target usage by product or product tag, pass those values in the
5811
+ # body of `specifiers`.
5722
5812
  sig do
5723
5813
  returns(
5724
5814
  T.nilable(
@@ -5773,6 +5863,8 @@ module MetronomeSDK
5773
5863
  # or credit. A customer's usage needs to meet the condition of at least one of the
5774
5864
  # specifiers to contribute to a commit's or credit's drawdown. This field cannot
5775
5865
  # be used together with `applicable_product_ids` or `applicable_product_tags`.
5866
+ # Instead, to target usage by product or product tag, pass those values in the
5867
+ # body of `specifiers`.
5776
5868
  specifiers: nil
5777
5869
  )
5778
5870
  end
@@ -6340,7 +6432,7 @@ module MetronomeSDK
6340
6432
  sig { params(ending_before: Time).void }
6341
6433
  attr_writer :ending_before
6342
6434
 
6343
- # Optional configuration for recurring commit/credit hierarchy access control
6435
+ # Optional configuration for recurring credit hierarchy access control
6344
6436
  sig do
6345
6437
  returns(
6346
6438
  T.nilable(
@@ -6464,6 +6556,24 @@ module MetronomeSDK
6464
6556
  end
6465
6557
  attr_writer :specifiers
6466
6558
 
6559
+ # Attach a subscription to the recurring commit/credit.
6560
+ sig do
6561
+ returns(
6562
+ T.nilable(
6563
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::SubscriptionConfig
6564
+ )
6565
+ )
6566
+ end
6567
+ attr_reader :subscription_config
6568
+
6569
+ sig do
6570
+ params(
6571
+ subscription_config:
6572
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::SubscriptionConfig::OrHash
6573
+ ).void
6574
+ end
6575
+ attr_writer :subscription_config
6576
+
6467
6577
  sig do
6468
6578
  params(
6469
6579
  id: String,
@@ -6497,7 +6607,9 @@ module MetronomeSDK
6497
6607
  specifiers:
6498
6608
  T::Array[
6499
6609
  MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::Specifier::OrHash
6500
- ]
6610
+ ],
6611
+ subscription_config:
6612
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::SubscriptionConfig::OrHash
6501
6613
  ).returns(T.attached_class)
6502
6614
  end
6503
6615
  def self.new(
@@ -6522,7 +6634,7 @@ module MetronomeSDK
6522
6634
  description: nil,
6523
6635
  # Determines when the contract will stop creating recurring commits. Optional
6524
6636
  ending_before: nil,
6525
- # Optional configuration for recurring commit/credit hierarchy access control
6637
+ # Optional configuration for recurring credit hierarchy access control
6526
6638
  hierarchy_configuration: nil,
6527
6639
  # The amount the customer should be billed for the commit. Not required.
6528
6640
  invoice_amount: nil,
@@ -6546,7 +6658,9 @@ module MetronomeSDK
6546
6658
  # List of filters that determine what kind of customer usage draws down a commit
6547
6659
  # or credit. A customer's usage needs to meet the condition of at least one of the
6548
6660
  # specifiers to contribute to a commit's or credit's drawdown.
6549
- specifiers: nil
6661
+ specifiers: nil,
6662
+ # Attach a subscription to the recurring commit/credit.
6663
+ subscription_config: nil
6550
6664
  )
6551
6665
  end
6552
6666
 
@@ -6584,7 +6698,9 @@ module MetronomeSDK
6584
6698
  specifiers:
6585
6699
  T::Array[
6586
6700
  MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::Specifier
6587
- ]
6701
+ ],
6702
+ subscription_config:
6703
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::SubscriptionConfig
6588
6704
  }
6589
6705
  )
6590
6706
  end
@@ -6810,7 +6926,7 @@ module MetronomeSDK
6810
6926
  end
6811
6927
  attr_accessor :child_access
6812
6928
 
6813
- # Optional configuration for recurring commit/credit hierarchy access control
6929
+ # Optional configuration for recurring credit hierarchy access control
6814
6930
  sig do
6815
6931
  params(
6816
6932
  child_access:
@@ -7265,6 +7381,133 @@ module MetronomeSDK
7265
7381
  def to_hash
7266
7382
  end
7267
7383
  end
7384
+
7385
+ class SubscriptionConfig < MetronomeSDK::Internal::Type::BaseModel
7386
+ OrHash =
7387
+ T.type_alias do
7388
+ T.any(
7389
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::SubscriptionConfig,
7390
+ MetronomeSDK::Internal::AnyHash
7391
+ )
7392
+ end
7393
+
7394
+ sig do
7395
+ returns(
7396
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::SubscriptionConfig::Allocation::TaggedSymbol
7397
+ )
7398
+ end
7399
+ attr_accessor :allocation
7400
+
7401
+ sig do
7402
+ returns(
7403
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig
7404
+ )
7405
+ end
7406
+ attr_reader :apply_seat_increase_config
7407
+
7408
+ sig do
7409
+ params(
7410
+ apply_seat_increase_config:
7411
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig::OrHash
7412
+ ).void
7413
+ end
7414
+ attr_writer :apply_seat_increase_config
7415
+
7416
+ sig { returns(String) }
7417
+ attr_accessor :subscription_id
7418
+
7419
+ # Attach a subscription to the recurring commit/credit.
7420
+ sig do
7421
+ params(
7422
+ allocation:
7423
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::SubscriptionConfig::Allocation::OrSymbol,
7424
+ apply_seat_increase_config:
7425
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig::OrHash,
7426
+ subscription_id: String
7427
+ ).returns(T.attached_class)
7428
+ end
7429
+ def self.new(
7430
+ allocation:,
7431
+ apply_seat_increase_config:,
7432
+ subscription_id:
7433
+ )
7434
+ end
7435
+
7436
+ sig do
7437
+ override.returns(
7438
+ {
7439
+ allocation:
7440
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::SubscriptionConfig::Allocation::TaggedSymbol,
7441
+ apply_seat_increase_config:
7442
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig,
7443
+ subscription_id: String
7444
+ }
7445
+ )
7446
+ end
7447
+ def to_hash
7448
+ end
7449
+
7450
+ module Allocation
7451
+ extend MetronomeSDK::Internal::Type::Enum
7452
+
7453
+ TaggedSymbol =
7454
+ T.type_alias do
7455
+ T.all(
7456
+ Symbol,
7457
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::SubscriptionConfig::Allocation
7458
+ )
7459
+ end
7460
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
7461
+
7462
+ INDIVIDUAL =
7463
+ T.let(
7464
+ :INDIVIDUAL,
7465
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::SubscriptionConfig::Allocation::TaggedSymbol
7466
+ )
7467
+ POOLED =
7468
+ T.let(
7469
+ :POOLED,
7470
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::SubscriptionConfig::Allocation::TaggedSymbol
7471
+ )
7472
+
7473
+ sig do
7474
+ override.returns(
7475
+ T::Array[
7476
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::SubscriptionConfig::Allocation::TaggedSymbol
7477
+ ]
7478
+ )
7479
+ end
7480
+ def self.values
7481
+ end
7482
+ end
7483
+
7484
+ class ApplySeatIncreaseConfig < MetronomeSDK::Internal::Type::BaseModel
7485
+ OrHash =
7486
+ T.type_alias do
7487
+ T.any(
7488
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig,
7489
+ MetronomeSDK::Internal::AnyHash
7490
+ )
7491
+ end
7492
+
7493
+ # Indicates whether a mid-period seat increase should be prorated.
7494
+ sig { returns(T::Boolean) }
7495
+ attr_accessor :is_prorated
7496
+
7497
+ sig do
7498
+ params(is_prorated: T::Boolean).returns(T.attached_class)
7499
+ end
7500
+ def self.new(
7501
+ # Indicates whether a mid-period seat increase should be prorated.
7502
+ is_prorated:
7503
+ )
7504
+ end
7505
+
7506
+ sig { override.returns({ is_prorated: T::Boolean }) }
7507
+ def to_hash
7508
+ end
7509
+ end
7510
+ end
7268
7511
  end
7269
7512
 
7270
7513
  class RecurringCredit < MetronomeSDK::Internal::Type::BaseModel
@@ -7387,7 +7630,7 @@ module MetronomeSDK
7387
7630
  sig { params(ending_before: Time).void }
7388
7631
  attr_writer :ending_before
7389
7632
 
7390
- # Optional configuration for recurring commit/credit hierarchy access control
7633
+ # Optional configuration for recurring credit hierarchy access control
7391
7634
  sig do
7392
7635
  returns(
7393
7636
  T.nilable(
@@ -7493,6 +7736,24 @@ module MetronomeSDK
7493
7736
  end
7494
7737
  attr_writer :specifiers
7495
7738
 
7739
+ # Attach a subscription to the recurring commit/credit.
7740
+ sig do
7741
+ returns(
7742
+ T.nilable(
7743
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::SubscriptionConfig
7744
+ )
7745
+ )
7746
+ end
7747
+ attr_reader :subscription_config
7748
+
7749
+ sig do
7750
+ params(
7751
+ subscription_config:
7752
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::SubscriptionConfig::OrHash
7753
+ ).void
7754
+ end
7755
+ attr_writer :subscription_config
7756
+
7496
7757
  sig do
7497
7758
  params(
7498
7759
  id: String,
@@ -7524,7 +7785,9 @@ module MetronomeSDK
7524
7785
  specifiers:
7525
7786
  T::Array[
7526
7787
  MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::Specifier::OrHash
7527
- ]
7788
+ ],
7789
+ subscription_config:
7790
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::SubscriptionConfig::OrHash
7528
7791
  ).returns(T.attached_class)
7529
7792
  end
7530
7793
  def self.new(
@@ -7549,7 +7812,7 @@ module MetronomeSDK
7549
7812
  description: nil,
7550
7813
  # Determines when the contract will stop creating recurring commits. Optional
7551
7814
  ending_before: nil,
7552
- # Optional configuration for recurring commit/credit hierarchy access control
7815
+ # Optional configuration for recurring credit hierarchy access control
7553
7816
  hierarchy_configuration: nil,
7554
7817
  # Displayed on invoices. Will be passed through to the individual commits
7555
7818
  name: nil,
@@ -7571,7 +7834,9 @@ module MetronomeSDK
7571
7834
  # List of filters that determine what kind of customer usage draws down a commit
7572
7835
  # or credit. A customer's usage needs to meet the condition of at least one of the
7573
7836
  # specifiers to contribute to a commit's or credit's drawdown.
7574
- specifiers: nil
7837
+ specifiers: nil,
7838
+ # Attach a subscription to the recurring commit/credit.
7839
+ subscription_config: nil
7575
7840
  )
7576
7841
  end
7577
7842
 
@@ -7607,7 +7872,9 @@ module MetronomeSDK
7607
7872
  specifiers:
7608
7873
  T::Array[
7609
7874
  MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::Specifier
7610
- ]
7875
+ ],
7876
+ subscription_config:
7877
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::SubscriptionConfig
7611
7878
  }
7612
7879
  )
7613
7880
  end
@@ -7833,7 +8100,7 @@ module MetronomeSDK
7833
8100
  end
7834
8101
  attr_accessor :child_access
7835
8102
 
7836
- # Optional configuration for recurring commit/credit hierarchy access control
8103
+ # Optional configuration for recurring credit hierarchy access control
7837
8104
  sig do
7838
8105
  params(
7839
8106
  child_access:
@@ -8250,6 +8517,133 @@ module MetronomeSDK
8250
8517
  def to_hash
8251
8518
  end
8252
8519
  end
8520
+
8521
+ class SubscriptionConfig < MetronomeSDK::Internal::Type::BaseModel
8522
+ OrHash =
8523
+ T.type_alias do
8524
+ T.any(
8525
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::SubscriptionConfig,
8526
+ MetronomeSDK::Internal::AnyHash
8527
+ )
8528
+ end
8529
+
8530
+ sig do
8531
+ returns(
8532
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::SubscriptionConfig::Allocation::TaggedSymbol
8533
+ )
8534
+ end
8535
+ attr_accessor :allocation
8536
+
8537
+ sig do
8538
+ returns(
8539
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig
8540
+ )
8541
+ end
8542
+ attr_reader :apply_seat_increase_config
8543
+
8544
+ sig do
8545
+ params(
8546
+ apply_seat_increase_config:
8547
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig::OrHash
8548
+ ).void
8549
+ end
8550
+ attr_writer :apply_seat_increase_config
8551
+
8552
+ sig { returns(String) }
8553
+ attr_accessor :subscription_id
8554
+
8555
+ # Attach a subscription to the recurring commit/credit.
8556
+ sig do
8557
+ params(
8558
+ allocation:
8559
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::SubscriptionConfig::Allocation::OrSymbol,
8560
+ apply_seat_increase_config:
8561
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig::OrHash,
8562
+ subscription_id: String
8563
+ ).returns(T.attached_class)
8564
+ end
8565
+ def self.new(
8566
+ allocation:,
8567
+ apply_seat_increase_config:,
8568
+ subscription_id:
8569
+ )
8570
+ end
8571
+
8572
+ sig do
8573
+ override.returns(
8574
+ {
8575
+ allocation:
8576
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::SubscriptionConfig::Allocation::TaggedSymbol,
8577
+ apply_seat_increase_config:
8578
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig,
8579
+ subscription_id: String
8580
+ }
8581
+ )
8582
+ end
8583
+ def to_hash
8584
+ end
8585
+
8586
+ module Allocation
8587
+ extend MetronomeSDK::Internal::Type::Enum
8588
+
8589
+ TaggedSymbol =
8590
+ T.type_alias do
8591
+ T.all(
8592
+ Symbol,
8593
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::SubscriptionConfig::Allocation
8594
+ )
8595
+ end
8596
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
8597
+
8598
+ INDIVIDUAL =
8599
+ T.let(
8600
+ :INDIVIDUAL,
8601
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::SubscriptionConfig::Allocation::TaggedSymbol
8602
+ )
8603
+ POOLED =
8604
+ T.let(
8605
+ :POOLED,
8606
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::SubscriptionConfig::Allocation::TaggedSymbol
8607
+ )
8608
+
8609
+ sig do
8610
+ override.returns(
8611
+ T::Array[
8612
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::SubscriptionConfig::Allocation::TaggedSymbol
8613
+ ]
8614
+ )
8615
+ end
8616
+ def self.values
8617
+ end
8618
+ end
8619
+
8620
+ class ApplySeatIncreaseConfig < MetronomeSDK::Internal::Type::BaseModel
8621
+ OrHash =
8622
+ T.type_alias do
8623
+ T.any(
8624
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig,
8625
+ MetronomeSDK::Internal::AnyHash
8626
+ )
8627
+ end
8628
+
8629
+ # Indicates whether a mid-period seat increase should be prorated.
8630
+ sig { returns(T::Boolean) }
8631
+ attr_accessor :is_prorated
8632
+
8633
+ sig do
8634
+ params(is_prorated: T::Boolean).returns(T.attached_class)
8635
+ end
8636
+ def self.new(
8637
+ # Indicates whether a mid-period seat increase should be prorated.
8638
+ is_prorated:
8639
+ )
8640
+ end
8641
+
8642
+ sig { override.returns({ is_prorated: T::Boolean }) }
8643
+ def to_hash
8644
+ end
8645
+ end
8646
+ end
8253
8647
  end
8254
8648
 
8255
8649
  class ResellerRoyalty < MetronomeSDK::Internal::Type::BaseModel