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
@@ -1620,6 +1620,12 @@ module MetronomeSDK
1620
1620
  end
1621
1621
  attr_accessor :type
1622
1622
 
1623
+ sig { returns(T.nilable(String)) }
1624
+ attr_reader :contract_id
1625
+
1626
+ sig { params(contract_id: String).void }
1627
+ attr_writer :contract_id
1628
+
1623
1629
  sig do
1624
1630
  params(
1625
1631
  amount: Float,
@@ -1627,7 +1633,8 @@ module MetronomeSDK
1627
1633
  segment_id: String,
1628
1634
  timestamp: Time,
1629
1635
  type:
1630
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::OrSymbol
1636
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::OrSymbol,
1637
+ contract_id: String
1631
1638
  ).returns(T.attached_class)
1632
1639
  end
1633
1640
  def self.new(
@@ -1635,7 +1642,8 @@ module MetronomeSDK
1635
1642
  invoice_id:,
1636
1643
  segment_id:,
1637
1644
  timestamp:,
1638
- type:
1645
+ type:,
1646
+ contract_id: nil
1639
1647
  )
1640
1648
  end
1641
1649
 
@@ -1647,7 +1655,8 @@ module MetronomeSDK
1647
1655
  segment_id: String,
1648
1656
  timestamp: Time,
1649
1657
  type:
1650
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::TaggedSymbol
1658
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::TaggedSymbol,
1659
+ contract_id: String
1651
1660
  }
1652
1661
  )
1653
1662
  end
@@ -1885,6 +1894,12 @@ module MetronomeSDK
1885
1894
  end
1886
1895
  attr_accessor :type
1887
1896
 
1897
+ sig { returns(T.nilable(String)) }
1898
+ attr_reader :contract_id
1899
+
1900
+ sig { params(contract_id: String).void }
1901
+ attr_writer :contract_id
1902
+
1888
1903
  sig do
1889
1904
  params(
1890
1905
  amount: Float,
@@ -1892,7 +1907,8 @@ module MetronomeSDK
1892
1907
  segment_id: String,
1893
1908
  timestamp: Time,
1894
1909
  type:
1895
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type::OrSymbol
1910
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type::OrSymbol,
1911
+ contract_id: String
1896
1912
  ).returns(T.attached_class)
1897
1913
  end
1898
1914
  def self.new(
@@ -1900,7 +1916,8 @@ module MetronomeSDK
1900
1916
  invoice_id:,
1901
1917
  segment_id:,
1902
1918
  timestamp:,
1903
- type:
1919
+ type:,
1920
+ contract_id: nil
1904
1921
  )
1905
1922
  end
1906
1923
 
@@ -1912,7 +1929,8 @@ module MetronomeSDK
1912
1929
  segment_id: String,
1913
1930
  timestamp: Time,
1914
1931
  type:
1915
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type::TaggedSymbol
1932
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type::TaggedSymbol,
1933
+ contract_id: String
1916
1934
  }
1917
1935
  )
1918
1936
  end
@@ -1977,6 +1995,12 @@ module MetronomeSDK
1977
1995
  end
1978
1996
  attr_accessor :type
1979
1997
 
1998
+ sig { returns(T.nilable(String)) }
1999
+ attr_reader :contract_id
2000
+
2001
+ sig { params(contract_id: String).void }
2002
+ attr_writer :contract_id
2003
+
1980
2004
  sig do
1981
2005
  params(
1982
2006
  amount: Float,
@@ -1984,7 +2008,8 @@ module MetronomeSDK
1984
2008
  segment_id: String,
1985
2009
  timestamp: Time,
1986
2010
  type:
1987
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type::OrSymbol
2011
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type::OrSymbol,
2012
+ contract_id: String
1988
2013
  ).returns(T.attached_class)
1989
2014
  end
1990
2015
  def self.new(
@@ -1992,7 +2017,8 @@ module MetronomeSDK
1992
2017
  invoice_id:,
1993
2018
  segment_id:,
1994
2019
  timestamp:,
1995
- type:
2020
+ type:,
2021
+ contract_id: nil
1996
2022
  )
1997
2023
  end
1998
2024
 
@@ -2004,7 +2030,8 @@ module MetronomeSDK
2004
2030
  segment_id: String,
2005
2031
  timestamp: Time,
2006
2032
  type:
2007
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type::TaggedSymbol
2033
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type::TaggedSymbol,
2034
+ contract_id: String
2008
2035
  }
2009
2036
  )
2010
2037
  end
@@ -2226,6 +2253,12 @@ module MetronomeSDK
2226
2253
  end
2227
2254
  attr_accessor :type
2228
2255
 
2256
+ sig { returns(T.nilable(String)) }
2257
+ attr_reader :contract_id
2258
+
2259
+ sig { params(contract_id: String).void }
2260
+ attr_writer :contract_id
2261
+
2229
2262
  sig do
2230
2263
  params(
2231
2264
  amount: Float,
@@ -2233,7 +2266,8 @@ module MetronomeSDK
2233
2266
  segment_id: String,
2234
2267
  timestamp: Time,
2235
2268
  type:
2236
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::OrSymbol
2269
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::OrSymbol,
2270
+ contract_id: String
2237
2271
  ).returns(T.attached_class)
2238
2272
  end
2239
2273
  def self.new(
@@ -2241,7 +2275,8 @@ module MetronomeSDK
2241
2275
  invoice_id:,
2242
2276
  segment_id:,
2243
2277
  timestamp:,
2244
- type:
2278
+ type:,
2279
+ contract_id: nil
2245
2280
  )
2246
2281
  end
2247
2282
 
@@ -2253,7 +2288,8 @@ module MetronomeSDK
2253
2288
  segment_id: String,
2254
2289
  timestamp: Time,
2255
2290
  type:
2256
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::TaggedSymbol
2291
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::TaggedSymbol,
2292
+ contract_id: String
2257
2293
  }
2258
2294
  )
2259
2295
  end
@@ -2407,16 +2443,29 @@ module MetronomeSDK
2407
2443
  end
2408
2444
  attr_accessor :type
2409
2445
 
2446
+ sig { returns(T.nilable(String)) }
2447
+ attr_reader :contract_id
2448
+
2449
+ sig { params(contract_id: String).void }
2450
+ attr_writer :contract_id
2451
+
2410
2452
  sig do
2411
2453
  params(
2412
2454
  amount: Float,
2413
2455
  invoice_id: String,
2414
2456
  timestamp: Time,
2415
2457
  type:
2416
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type::OrSymbol
2458
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type::OrSymbol,
2459
+ contract_id: String
2417
2460
  ).returns(T.attached_class)
2418
2461
  end
2419
- def self.new(amount:, invoice_id:, timestamp:, type:)
2462
+ def self.new(
2463
+ amount:,
2464
+ invoice_id:,
2465
+ timestamp:,
2466
+ type:,
2467
+ contract_id: nil
2468
+ )
2420
2469
  end
2421
2470
 
2422
2471
  sig do
@@ -2426,7 +2475,8 @@ module MetronomeSDK
2426
2475
  invoice_id: String,
2427
2476
  timestamp: Time,
2428
2477
  type:
2429
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type::TaggedSymbol
2478
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type::TaggedSymbol,
2479
+ contract_id: String
2430
2480
  }
2431
2481
  )
2432
2482
  end
@@ -4562,6 +4612,12 @@ module MetronomeSDK
4562
4612
  end
4563
4613
  attr_accessor :type
4564
4614
 
4615
+ sig { returns(T.nilable(String)) }
4616
+ attr_reader :contract_id
4617
+
4618
+ sig { params(contract_id: String).void }
4619
+ attr_writer :contract_id
4620
+
4565
4621
  sig do
4566
4622
  params(
4567
4623
  amount: Float,
@@ -4569,7 +4625,8 @@ module MetronomeSDK
4569
4625
  segment_id: String,
4570
4626
  timestamp: Time,
4571
4627
  type:
4572
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type::OrSymbol
4628
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type::OrSymbol,
4629
+ contract_id: String
4573
4630
  ).returns(T.attached_class)
4574
4631
  end
4575
4632
  def self.new(
@@ -4577,7 +4634,8 @@ module MetronomeSDK
4577
4634
  invoice_id:,
4578
4635
  segment_id:,
4579
4636
  timestamp:,
4580
- type:
4637
+ type:,
4638
+ contract_id: nil
4581
4639
  )
4582
4640
  end
4583
4641
 
@@ -4589,7 +4647,8 @@ module MetronomeSDK
4589
4647
  segment_id: String,
4590
4648
  timestamp: Time,
4591
4649
  type:
4592
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type::TaggedSymbol
4650
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type::TaggedSymbol,
4651
+ contract_id: String
4593
4652
  }
4594
4653
  )
4595
4654
  end
@@ -4735,6 +4794,12 @@ module MetronomeSDK
4735
4794
  end
4736
4795
  attr_accessor :type
4737
4796
 
4797
+ sig { returns(T.nilable(String)) }
4798
+ attr_reader :contract_id
4799
+
4800
+ sig { params(contract_id: String).void }
4801
+ attr_writer :contract_id
4802
+
4738
4803
  sig do
4739
4804
  params(
4740
4805
  amount: Float,
@@ -4742,7 +4807,8 @@ module MetronomeSDK
4742
4807
  segment_id: String,
4743
4808
  timestamp: Time,
4744
4809
  type:
4745
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type::OrSymbol
4810
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type::OrSymbol,
4811
+ contract_id: String
4746
4812
  ).returns(T.attached_class)
4747
4813
  end
4748
4814
  def self.new(
@@ -4750,7 +4816,8 @@ module MetronomeSDK
4750
4816
  invoice_id:,
4751
4817
  segment_id:,
4752
4818
  timestamp:,
4753
- type:
4819
+ type:,
4820
+ contract_id: nil
4754
4821
  )
4755
4822
  end
4756
4823
 
@@ -4762,7 +4829,8 @@ module MetronomeSDK
4762
4829
  segment_id: String,
4763
4830
  timestamp: Time,
4764
4831
  type:
4765
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type::TaggedSymbol
4832
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type::TaggedSymbol,
4833
+ contract_id: String
4766
4834
  }
4767
4835
  )
4768
4836
  end
@@ -4827,6 +4895,12 @@ module MetronomeSDK
4827
4895
  end
4828
4896
  attr_accessor :type
4829
4897
 
4898
+ sig { returns(T.nilable(String)) }
4899
+ attr_reader :contract_id
4900
+
4901
+ sig { params(contract_id: String).void }
4902
+ attr_writer :contract_id
4903
+
4830
4904
  sig do
4831
4905
  params(
4832
4906
  amount: Float,
@@ -4834,7 +4908,8 @@ module MetronomeSDK
4834
4908
  segment_id: String,
4835
4909
  timestamp: Time,
4836
4910
  type:
4837
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type::OrSymbol
4911
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type::OrSymbol,
4912
+ contract_id: String
4838
4913
  ).returns(T.attached_class)
4839
4914
  end
4840
4915
  def self.new(
@@ -4842,7 +4917,8 @@ module MetronomeSDK
4842
4917
  invoice_id:,
4843
4918
  segment_id:,
4844
4919
  timestamp:,
4845
- type:
4920
+ type:,
4921
+ contract_id: nil
4846
4922
  )
4847
4923
  end
4848
4924
 
@@ -4854,7 +4930,8 @@ module MetronomeSDK
4854
4930
  segment_id: String,
4855
4931
  timestamp: Time,
4856
4932
  type:
4857
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type::TaggedSymbol
4933
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type::TaggedSymbol,
4934
+ contract_id: String
4858
4935
  }
4859
4936
  )
4860
4937
  end
@@ -5145,6 +5222,10 @@ module MetronomeSDK
5145
5222
  )
5146
5223
  end
5147
5224
 
5225
+ # ID of Customer's billing provider configuration.
5226
+ sig { returns(String) }
5227
+ attr_accessor :id
5228
+
5148
5229
  sig do
5149
5230
  returns(
5150
5231
  MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration::BillingProvider::TaggedSymbol
@@ -5162,18 +5243,25 @@ module MetronomeSDK
5162
5243
  # This field's availability is dependent on your client's configuration.
5163
5244
  sig do
5164
5245
  params(
5246
+ id: String,
5165
5247
  billing_provider:
5166
5248
  MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration::BillingProvider::OrSymbol,
5167
5249
  delivery_method:
5168
5250
  MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration::DeliveryMethod::OrSymbol
5169
5251
  ).returns(T.attached_class)
5170
5252
  end
5171
- def self.new(billing_provider:, delivery_method:)
5253
+ def self.new(
5254
+ # ID of Customer's billing provider configuration.
5255
+ id:,
5256
+ billing_provider:,
5257
+ delivery_method:
5258
+ )
5172
5259
  end
5173
5260
 
5174
5261
  sig do
5175
5262
  override.returns(
5176
5263
  {
5264
+ id: String,
5177
5265
  billing_provider:
5178
5266
  MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration::BillingProvider::TaggedSymbol,
5179
5267
  delivery_method:
@@ -5718,6 +5806,8 @@ module MetronomeSDK
5718
5806
  # or credit. A customer's usage needs to meet the condition of at least one of the
5719
5807
  # specifiers to contribute to a commit's or credit's drawdown. This field cannot
5720
5808
  # be used together with `applicable_product_ids` or `applicable_product_tags`.
5809
+ # Instead, to target usage by product or product tag, pass those values in the
5810
+ # body of `specifiers`.
5721
5811
  sig do
5722
5812
  returns(
5723
5813
  T.nilable(
@@ -5772,6 +5862,8 @@ module MetronomeSDK
5772
5862
  # or credit. A customer's usage needs to meet the condition of at least one of the
5773
5863
  # specifiers to contribute to a commit's or credit's drawdown. This field cannot
5774
5864
  # be used together with `applicable_product_ids` or `applicable_product_tags`.
5865
+ # Instead, to target usage by product or product tag, pass those values in the
5866
+ # body of `specifiers`.
5775
5867
  specifiers: nil
5776
5868
  )
5777
5869
  end
@@ -6339,7 +6431,7 @@ module MetronomeSDK
6339
6431
  sig { params(ending_before: Time).void }
6340
6432
  attr_writer :ending_before
6341
6433
 
6342
- # Optional configuration for recurring commit/credit hierarchy access control
6434
+ # Optional configuration for recurring credit hierarchy access control
6343
6435
  sig do
6344
6436
  returns(
6345
6437
  T.nilable(
@@ -6463,6 +6555,24 @@ module MetronomeSDK
6463
6555
  end
6464
6556
  attr_writer :specifiers
6465
6557
 
6558
+ # Attach a subscription to the recurring commit/credit.
6559
+ sig do
6560
+ returns(
6561
+ T.nilable(
6562
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::SubscriptionConfig
6563
+ )
6564
+ )
6565
+ end
6566
+ attr_reader :subscription_config
6567
+
6568
+ sig do
6569
+ params(
6570
+ subscription_config:
6571
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::SubscriptionConfig::OrHash
6572
+ ).void
6573
+ end
6574
+ attr_writer :subscription_config
6575
+
6466
6576
  sig do
6467
6577
  params(
6468
6578
  id: String,
@@ -6496,7 +6606,9 @@ module MetronomeSDK
6496
6606
  specifiers:
6497
6607
  T::Array[
6498
6608
  MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Specifier::OrHash
6499
- ]
6609
+ ],
6610
+ subscription_config:
6611
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::SubscriptionConfig::OrHash
6500
6612
  ).returns(T.attached_class)
6501
6613
  end
6502
6614
  def self.new(
@@ -6521,7 +6633,7 @@ module MetronomeSDK
6521
6633
  description: nil,
6522
6634
  # Determines when the contract will stop creating recurring commits. Optional
6523
6635
  ending_before: nil,
6524
- # Optional configuration for recurring commit/credit hierarchy access control
6636
+ # Optional configuration for recurring credit hierarchy access control
6525
6637
  hierarchy_configuration: nil,
6526
6638
  # The amount the customer should be billed for the commit. Not required.
6527
6639
  invoice_amount: nil,
@@ -6545,7 +6657,9 @@ module MetronomeSDK
6545
6657
  # List of filters that determine what kind of customer usage draws down a commit
6546
6658
  # or credit. A customer's usage needs to meet the condition of at least one of the
6547
6659
  # specifiers to contribute to a commit's or credit's drawdown.
6548
- specifiers: nil
6660
+ specifiers: nil,
6661
+ # Attach a subscription to the recurring commit/credit.
6662
+ subscription_config: nil
6549
6663
  )
6550
6664
  end
6551
6665
 
@@ -6583,7 +6697,9 @@ module MetronomeSDK
6583
6697
  specifiers:
6584
6698
  T::Array[
6585
6699
  MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Specifier
6586
- ]
6700
+ ],
6701
+ subscription_config:
6702
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::SubscriptionConfig
6587
6703
  }
6588
6704
  )
6589
6705
  end
@@ -6809,7 +6925,7 @@ module MetronomeSDK
6809
6925
  end
6810
6926
  attr_accessor :child_access
6811
6927
 
6812
- # Optional configuration for recurring commit/credit hierarchy access control
6928
+ # Optional configuration for recurring credit hierarchy access control
6813
6929
  sig do
6814
6930
  params(
6815
6931
  child_access:
@@ -7264,6 +7380,133 @@ module MetronomeSDK
7264
7380
  def to_hash
7265
7381
  end
7266
7382
  end
7383
+
7384
+ class SubscriptionConfig < MetronomeSDK::Internal::Type::BaseModel
7385
+ OrHash =
7386
+ T.type_alias do
7387
+ T.any(
7388
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::SubscriptionConfig,
7389
+ MetronomeSDK::Internal::AnyHash
7390
+ )
7391
+ end
7392
+
7393
+ sig do
7394
+ returns(
7395
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::SubscriptionConfig::Allocation::TaggedSymbol
7396
+ )
7397
+ end
7398
+ attr_accessor :allocation
7399
+
7400
+ sig do
7401
+ returns(
7402
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig
7403
+ )
7404
+ end
7405
+ attr_reader :apply_seat_increase_config
7406
+
7407
+ sig do
7408
+ params(
7409
+ apply_seat_increase_config:
7410
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig::OrHash
7411
+ ).void
7412
+ end
7413
+ attr_writer :apply_seat_increase_config
7414
+
7415
+ sig { returns(String) }
7416
+ attr_accessor :subscription_id
7417
+
7418
+ # Attach a subscription to the recurring commit/credit.
7419
+ sig do
7420
+ params(
7421
+ allocation:
7422
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::SubscriptionConfig::Allocation::OrSymbol,
7423
+ apply_seat_increase_config:
7424
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig::OrHash,
7425
+ subscription_id: String
7426
+ ).returns(T.attached_class)
7427
+ end
7428
+ def self.new(
7429
+ allocation:,
7430
+ apply_seat_increase_config:,
7431
+ subscription_id:
7432
+ )
7433
+ end
7434
+
7435
+ sig do
7436
+ override.returns(
7437
+ {
7438
+ allocation:
7439
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::SubscriptionConfig::Allocation::TaggedSymbol,
7440
+ apply_seat_increase_config:
7441
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig,
7442
+ subscription_id: String
7443
+ }
7444
+ )
7445
+ end
7446
+ def to_hash
7447
+ end
7448
+
7449
+ module Allocation
7450
+ extend MetronomeSDK::Internal::Type::Enum
7451
+
7452
+ TaggedSymbol =
7453
+ T.type_alias do
7454
+ T.all(
7455
+ Symbol,
7456
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::SubscriptionConfig::Allocation
7457
+ )
7458
+ end
7459
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
7460
+
7461
+ INDIVIDUAL =
7462
+ T.let(
7463
+ :INDIVIDUAL,
7464
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::SubscriptionConfig::Allocation::TaggedSymbol
7465
+ )
7466
+ POOLED =
7467
+ T.let(
7468
+ :POOLED,
7469
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::SubscriptionConfig::Allocation::TaggedSymbol
7470
+ )
7471
+
7472
+ sig do
7473
+ override.returns(
7474
+ T::Array[
7475
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::SubscriptionConfig::Allocation::TaggedSymbol
7476
+ ]
7477
+ )
7478
+ end
7479
+ def self.values
7480
+ end
7481
+ end
7482
+
7483
+ class ApplySeatIncreaseConfig < MetronomeSDK::Internal::Type::BaseModel
7484
+ OrHash =
7485
+ T.type_alias do
7486
+ T.any(
7487
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig,
7488
+ MetronomeSDK::Internal::AnyHash
7489
+ )
7490
+ end
7491
+
7492
+ # Indicates whether a mid-period seat increase should be prorated.
7493
+ sig { returns(T::Boolean) }
7494
+ attr_accessor :is_prorated
7495
+
7496
+ sig do
7497
+ params(is_prorated: T::Boolean).returns(T.attached_class)
7498
+ end
7499
+ def self.new(
7500
+ # Indicates whether a mid-period seat increase should be prorated.
7501
+ is_prorated:
7502
+ )
7503
+ end
7504
+
7505
+ sig { override.returns({ is_prorated: T::Boolean }) }
7506
+ def to_hash
7507
+ end
7508
+ end
7509
+ end
7267
7510
  end
7268
7511
 
7269
7512
  class RecurringCredit < MetronomeSDK::Internal::Type::BaseModel
@@ -7386,7 +7629,7 @@ module MetronomeSDK
7386
7629
  sig { params(ending_before: Time).void }
7387
7630
  attr_writer :ending_before
7388
7631
 
7389
- # Optional configuration for recurring commit/credit hierarchy access control
7632
+ # Optional configuration for recurring credit hierarchy access control
7390
7633
  sig do
7391
7634
  returns(
7392
7635
  T.nilable(
@@ -7492,6 +7735,24 @@ module MetronomeSDK
7492
7735
  end
7493
7736
  attr_writer :specifiers
7494
7737
 
7738
+ # Attach a subscription to the recurring commit/credit.
7739
+ sig do
7740
+ returns(
7741
+ T.nilable(
7742
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::SubscriptionConfig
7743
+ )
7744
+ )
7745
+ end
7746
+ attr_reader :subscription_config
7747
+
7748
+ sig do
7749
+ params(
7750
+ subscription_config:
7751
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::SubscriptionConfig::OrHash
7752
+ ).void
7753
+ end
7754
+ attr_writer :subscription_config
7755
+
7495
7756
  sig do
7496
7757
  params(
7497
7758
  id: String,
@@ -7523,7 +7784,9 @@ module MetronomeSDK
7523
7784
  specifiers:
7524
7785
  T::Array[
7525
7786
  MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::Specifier::OrHash
7526
- ]
7787
+ ],
7788
+ subscription_config:
7789
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::SubscriptionConfig::OrHash
7527
7790
  ).returns(T.attached_class)
7528
7791
  end
7529
7792
  def self.new(
@@ -7548,7 +7811,7 @@ module MetronomeSDK
7548
7811
  description: nil,
7549
7812
  # Determines when the contract will stop creating recurring commits. Optional
7550
7813
  ending_before: nil,
7551
- # Optional configuration for recurring commit/credit hierarchy access control
7814
+ # Optional configuration for recurring credit hierarchy access control
7552
7815
  hierarchy_configuration: nil,
7553
7816
  # Displayed on invoices. Will be passed through to the individual commits
7554
7817
  name: nil,
@@ -7570,7 +7833,9 @@ module MetronomeSDK
7570
7833
  # List of filters that determine what kind of customer usage draws down a commit
7571
7834
  # or credit. A customer's usage needs to meet the condition of at least one of the
7572
7835
  # specifiers to contribute to a commit's or credit's drawdown.
7573
- specifiers: nil
7836
+ specifiers: nil,
7837
+ # Attach a subscription to the recurring commit/credit.
7838
+ subscription_config: nil
7574
7839
  )
7575
7840
  end
7576
7841
 
@@ -7606,7 +7871,9 @@ module MetronomeSDK
7606
7871
  specifiers:
7607
7872
  T::Array[
7608
7873
  MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::Specifier
7609
- ]
7874
+ ],
7875
+ subscription_config:
7876
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::SubscriptionConfig
7610
7877
  }
7611
7878
  )
7612
7879
  end
@@ -7832,7 +8099,7 @@ module MetronomeSDK
7832
8099
  end
7833
8100
  attr_accessor :child_access
7834
8101
 
7835
- # Optional configuration for recurring commit/credit hierarchy access control
8102
+ # Optional configuration for recurring credit hierarchy access control
7836
8103
  sig do
7837
8104
  params(
7838
8105
  child_access:
@@ -8249,6 +8516,133 @@ module MetronomeSDK
8249
8516
  def to_hash
8250
8517
  end
8251
8518
  end
8519
+
8520
+ class SubscriptionConfig < MetronomeSDK::Internal::Type::BaseModel
8521
+ OrHash =
8522
+ T.type_alias do
8523
+ T.any(
8524
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::SubscriptionConfig,
8525
+ MetronomeSDK::Internal::AnyHash
8526
+ )
8527
+ end
8528
+
8529
+ sig do
8530
+ returns(
8531
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::SubscriptionConfig::Allocation::TaggedSymbol
8532
+ )
8533
+ end
8534
+ attr_accessor :allocation
8535
+
8536
+ sig do
8537
+ returns(
8538
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig
8539
+ )
8540
+ end
8541
+ attr_reader :apply_seat_increase_config
8542
+
8543
+ sig do
8544
+ params(
8545
+ apply_seat_increase_config:
8546
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig::OrHash
8547
+ ).void
8548
+ end
8549
+ attr_writer :apply_seat_increase_config
8550
+
8551
+ sig { returns(String) }
8552
+ attr_accessor :subscription_id
8553
+
8554
+ # Attach a subscription to the recurring commit/credit.
8555
+ sig do
8556
+ params(
8557
+ allocation:
8558
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::SubscriptionConfig::Allocation::OrSymbol,
8559
+ apply_seat_increase_config:
8560
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig::OrHash,
8561
+ subscription_id: String
8562
+ ).returns(T.attached_class)
8563
+ end
8564
+ def self.new(
8565
+ allocation:,
8566
+ apply_seat_increase_config:,
8567
+ subscription_id:
8568
+ )
8569
+ end
8570
+
8571
+ sig do
8572
+ override.returns(
8573
+ {
8574
+ allocation:
8575
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::SubscriptionConfig::Allocation::TaggedSymbol,
8576
+ apply_seat_increase_config:
8577
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig,
8578
+ subscription_id: String
8579
+ }
8580
+ )
8581
+ end
8582
+ def to_hash
8583
+ end
8584
+
8585
+ module Allocation
8586
+ extend MetronomeSDK::Internal::Type::Enum
8587
+
8588
+ TaggedSymbol =
8589
+ T.type_alias do
8590
+ T.all(
8591
+ Symbol,
8592
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::SubscriptionConfig::Allocation
8593
+ )
8594
+ end
8595
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
8596
+
8597
+ INDIVIDUAL =
8598
+ T.let(
8599
+ :INDIVIDUAL,
8600
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::SubscriptionConfig::Allocation::TaggedSymbol
8601
+ )
8602
+ POOLED =
8603
+ T.let(
8604
+ :POOLED,
8605
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::SubscriptionConfig::Allocation::TaggedSymbol
8606
+ )
8607
+
8608
+ sig do
8609
+ override.returns(
8610
+ T::Array[
8611
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::SubscriptionConfig::Allocation::TaggedSymbol
8612
+ ]
8613
+ )
8614
+ end
8615
+ def self.values
8616
+ end
8617
+ end
8618
+
8619
+ class ApplySeatIncreaseConfig < MetronomeSDK::Internal::Type::BaseModel
8620
+ OrHash =
8621
+ T.type_alias do
8622
+ T.any(
8623
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig,
8624
+ MetronomeSDK::Internal::AnyHash
8625
+ )
8626
+ end
8627
+
8628
+ # Indicates whether a mid-period seat increase should be prorated.
8629
+ sig { returns(T::Boolean) }
8630
+ attr_accessor :is_prorated
8631
+
8632
+ sig do
8633
+ params(is_prorated: T::Boolean).returns(T.attached_class)
8634
+ end
8635
+ def self.new(
8636
+ # Indicates whether a mid-period seat increase should be prorated.
8637
+ is_prorated:
8638
+ )
8639
+ end
8640
+
8641
+ sig { override.returns({ is_prorated: T::Boolean }) }
8642
+ def to_hash
8643
+ end
8644
+ end
8645
+ end
8252
8646
  end
8253
8647
 
8254
8648
  class ResellerRoyalty < MetronomeSDK::Internal::Type::BaseModel