metronome-sdk 3.8.0 → 3.9.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.
@@ -173,7 +173,6 @@ module MetronomeSDK
173
173
  sig { params(custom_fields: T::Hash[Symbol, String]).void }
174
174
  attr_writer :custom_fields
175
175
 
176
- # The billing provider configuration associated with the contract.
177
176
  sig do
178
177
  returns(
179
178
  T.nilable(
@@ -463,7 +462,6 @@ module MetronomeSDK
463
462
  credits: nil,
464
463
  # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
465
464
  custom_fields: nil,
466
- # The billing provider configuration associated with the contract.
467
465
  customer_billing_provider_configuration: nil,
468
466
  ending_before: nil,
469
467
  # Indicates whether there are more items than the limit for this endpoint. Use the
@@ -792,73 +790,102 @@ module MetronomeSDK
792
790
  )
793
791
  end
794
792
 
795
- sig { returns(T.nilable(String)) }
796
- attr_reader :id
793
+ # ID of this configuration; can be provided as the
794
+ # billing_provider_configuration_id when creating a contract.
795
+ sig { returns(String) }
796
+ attr_accessor :id
797
797
 
798
- sig { params(id: String).void }
799
- attr_writer :id
798
+ sig { returns(T.nilable(Time)) }
799
+ attr_accessor :archived_at
800
800
 
801
+ # The billing provider set for this configuration.
801
802
  sig do
802
803
  returns(
803
- T.nilable(
804
- MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration::BillingProvider::TaggedSymbol
805
- )
804
+ MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration::BillingProvider::TaggedSymbol
806
805
  )
807
806
  end
808
- attr_reader :billing_provider
807
+ attr_accessor :billing_provider
809
808
 
810
- sig do
811
- params(
812
- billing_provider:
813
- MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration::BillingProvider::OrSymbol
814
- ).void
815
- end
816
- attr_writer :billing_provider
809
+ # Configuration for the billing provider. The structure of this object is specific
810
+ # to the billing provider.
811
+ sig { returns(T::Hash[Symbol, T.anything]) }
812
+ attr_accessor :configuration
817
813
 
814
+ sig { returns(String) }
815
+ attr_accessor :customer_id
816
+
817
+ # The method to use for delivering invoices to this customer.
818
818
  sig do
819
819
  returns(
820
- T.nilable(
821
- MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration::DeliveryMethod::TaggedSymbol
822
- )
820
+ MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration::DeliveryMethod::TaggedSymbol
823
821
  )
824
822
  end
825
- attr_reader :delivery_method
823
+ attr_accessor :delivery_method
826
824
 
827
- sig do
828
- params(
829
- delivery_method:
830
- MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration::DeliveryMethod::OrSymbol
831
- ).void
832
- end
833
- attr_writer :delivery_method
825
+ # Configuration for the delivery method. The structure of this object is specific
826
+ # to the delivery method.
827
+ sig { returns(T::Hash[Symbol, T.anything]) }
828
+ attr_accessor :delivery_method_configuration
829
+
830
+ # ID of the delivery method to use for this customer.
831
+ sig { returns(String) }
832
+ attr_accessor :delivery_method_id
834
833
 
835
- # The billing provider configuration associated with the contract.
836
834
  sig do
837
835
  params(
838
836
  id: String,
837
+ archived_at: T.nilable(Time),
839
838
  billing_provider:
840
839
  MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration::BillingProvider::OrSymbol,
840
+ configuration: T::Hash[Symbol, T.anything],
841
+ customer_id: String,
841
842
  delivery_method:
842
- MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration::DeliveryMethod::OrSymbol
843
+ MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration::DeliveryMethod::OrSymbol,
844
+ delivery_method_configuration: T::Hash[Symbol, T.anything],
845
+ delivery_method_id: String
843
846
  ).returns(T.attached_class)
844
847
  end
845
- def self.new(id: nil, billing_provider: nil, delivery_method: nil)
848
+ def self.new(
849
+ # ID of this configuration; can be provided as the
850
+ # billing_provider_configuration_id when creating a contract.
851
+ id:,
852
+ archived_at:,
853
+ # The billing provider set for this configuration.
854
+ billing_provider:,
855
+ # Configuration for the billing provider. The structure of this object is specific
856
+ # to the billing provider.
857
+ configuration:,
858
+ customer_id:,
859
+ # The method to use for delivering invoices to this customer.
860
+ delivery_method:,
861
+ # Configuration for the delivery method. The structure of this object is specific
862
+ # to the delivery method.
863
+ delivery_method_configuration:,
864
+ # ID of the delivery method to use for this customer.
865
+ delivery_method_id:
866
+ )
846
867
  end
847
868
 
848
869
  sig do
849
870
  override.returns(
850
871
  {
851
872
  id: String,
873
+ archived_at: T.nilable(Time),
852
874
  billing_provider:
853
875
  MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration::BillingProvider::TaggedSymbol,
876
+ configuration: T::Hash[Symbol, T.anything],
877
+ customer_id: String,
854
878
  delivery_method:
855
- MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration::DeliveryMethod::TaggedSymbol
879
+ MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration::DeliveryMethod::TaggedSymbol,
880
+ delivery_method_configuration: T::Hash[Symbol, T.anything],
881
+ delivery_method_id: String
856
882
  }
857
883
  )
858
884
  end
859
885
  def to_hash
860
886
  end
861
887
 
888
+ # The billing provider set for this configuration.
862
889
  module BillingProvider
863
890
  extend MetronomeSDK::Internal::Type::Enum
864
891
 
@@ -928,6 +955,7 @@ module MetronomeSDK
928
955
  end
929
956
  end
930
957
 
958
+ # The method to use for delivering invoices to this customer.
931
959
  module DeliveryMethod
932
960
  extend MetronomeSDK::Internal::Type::Enum
933
961
 
@@ -1182,6 +1182,11 @@ module MetronomeSDK
1182
1182
  :START_OF_CURRENT_PERIOD,
1183
1183
  MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::Schedule::EffectiveAt::TaggedSymbol
1184
1184
  )
1185
+ START_OF_NEXT_PERIOD =
1186
+ T.let(
1187
+ :START_OF_NEXT_PERIOD,
1188
+ MetronomeSDK::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::Schedule::EffectiveAt::TaggedSymbol
1189
+ )
1185
1190
 
1186
1191
  sig do
1187
1192
  override.returns(
@@ -6719,6 +6724,11 @@ module MetronomeSDK
6719
6724
  :START_OF_CURRENT_PERIOD,
6720
6725
  MetronomeSDK::V2::ContractEditParams::AddRevenueSystemConfigurationUpdate::Schedule::EffectiveAt::TaggedSymbol
6721
6726
  )
6727
+ START_OF_NEXT_PERIOD =
6728
+ T.let(
6729
+ :START_OF_NEXT_PERIOD,
6730
+ MetronomeSDK::V2::ContractEditParams::AddRevenueSystemConfigurationUpdate::Schedule::EffectiveAt::TaggedSymbol
6731
+ )
6722
6732
 
6723
6733
  sig do
6724
6734
  override.returns(
@@ -315,42 +315,53 @@ module MetronomeSDK
315
315
 
316
316
  type customer_billing_provider_configuration =
317
317
  {
318
+ id: String,
318
319
  archived_at: Time?,
319
320
  billing_provider: MetronomeSDK::Models::Contract::CustomerBillingProviderConfiguration::billing_provider,
321
+ configuration: ::Hash[Symbol, top],
322
+ customer_id: String,
320
323
  delivery_method: MetronomeSDK::Models::Contract::CustomerBillingProviderConfiguration::delivery_method,
321
- id: String,
322
- configuration: ::Hash[Symbol, top]
324
+ delivery_method_configuration: ::Hash[Symbol, top],
325
+ delivery_method_id: String
323
326
  }
324
327
 
325
328
  class CustomerBillingProviderConfiguration < MetronomeSDK::Internal::Type::BaseModel
329
+ attr_accessor id: String
330
+
326
331
  attr_accessor archived_at: Time?
327
332
 
328
333
  attr_accessor billing_provider: MetronomeSDK::Models::Contract::CustomerBillingProviderConfiguration::billing_provider
329
334
 
330
- attr_accessor delivery_method: MetronomeSDK::Models::Contract::CustomerBillingProviderConfiguration::delivery_method
335
+ attr_accessor configuration: ::Hash[Symbol, top]
331
336
 
332
- attr_reader id: String?
337
+ attr_accessor customer_id: String
333
338
 
334
- def id=: (String) -> String
339
+ attr_accessor delivery_method: MetronomeSDK::Models::Contract::CustomerBillingProviderConfiguration::delivery_method
335
340
 
336
- attr_reader configuration: ::Hash[Symbol, top]?
341
+ attr_accessor delivery_method_configuration: ::Hash[Symbol, top]
337
342
 
338
- def configuration=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top]
343
+ attr_accessor delivery_method_id: String
339
344
 
340
345
  def initialize: (
346
+ id: String,
341
347
  archived_at: Time?,
342
348
  billing_provider: MetronomeSDK::Models::Contract::CustomerBillingProviderConfiguration::billing_provider,
349
+ configuration: ::Hash[Symbol, top],
350
+ customer_id: String,
343
351
  delivery_method: MetronomeSDK::Models::Contract::CustomerBillingProviderConfiguration::delivery_method,
344
- ?id: String,
345
- ?configuration: ::Hash[Symbol, top]
352
+ delivery_method_configuration: ::Hash[Symbol, top],
353
+ delivery_method_id: String
346
354
  ) -> void
347
355
 
348
356
  def to_hash: -> {
357
+ id: String,
349
358
  archived_at: Time?,
350
359
  billing_provider: MetronomeSDK::Models::Contract::CustomerBillingProviderConfiguration::billing_provider,
360
+ configuration: ::Hash[Symbol, top],
361
+ customer_id: String,
351
362
  delivery_method: MetronomeSDK::Models::Contract::CustomerBillingProviderConfiguration::delivery_method,
352
- id: String,
353
- configuration: ::Hash[Symbol, top]
363
+ delivery_method_configuration: ::Hash[Symbol, top],
364
+ delivery_method_id: String
354
365
  }
355
366
 
356
367
  type billing_provider =
@@ -14,6 +14,7 @@ module MetronomeSDK
14
14
  usage_filter: ::Array[MetronomeSDK::ContractV2::UsageFilter],
15
15
  usage_statement_schedule: MetronomeSDK::ContractV2::UsageStatementSchedule,
16
16
  archived_at: Time,
17
+ billing_provider_configuration_schedule: ::Array[MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule],
17
18
  credits: ::Array[MetronomeSDK::ContractV2::Credit],
18
19
  custom_fields: ::Hash[Symbol, String],
19
20
  customer_billing_provider_configuration: MetronomeSDK::ContractV2::CustomerBillingProviderConfiguration,
@@ -32,6 +33,7 @@ module MetronomeSDK
32
33
  recurring_commits: ::Array[MetronomeSDK::ContractV2::RecurringCommit],
33
34
  recurring_credits: ::Array[MetronomeSDK::ContractV2::RecurringCredit],
34
35
  reseller_royalties: ::Array[MetronomeSDK::ContractV2::ResellerRoyalty],
36
+ revenue_system_configuration_schedule: ::Array[MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule],
35
37
  salesforce_opportunity_id: String,
36
38
  scheduled_charges_on_usage_invoices: MetronomeSDK::Models::ContractV2::scheduled_charges_on_usage_invoices,
37
39
  spend_threshold_configuration: MetronomeSDK::SpendThresholdConfigurationV2,
@@ -68,6 +70,12 @@ module MetronomeSDK
68
70
 
69
71
  def archived_at=: (Time) -> Time
70
72
 
73
+ attr_reader billing_provider_configuration_schedule: ::Array[MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule]?
74
+
75
+ def billing_provider_configuration_schedule=: (
76
+ ::Array[MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule]
77
+ ) -> ::Array[MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule]
78
+
71
79
  attr_reader credits: ::Array[MetronomeSDK::ContractV2::Credit]?
72
80
 
73
81
  def credits=: (
@@ -162,6 +170,12 @@ module MetronomeSDK
162
170
  ::Array[MetronomeSDK::ContractV2::ResellerRoyalty]
163
171
  ) -> ::Array[MetronomeSDK::ContractV2::ResellerRoyalty]
164
172
 
173
+ attr_reader revenue_system_configuration_schedule: ::Array[MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule]?
174
+
175
+ def revenue_system_configuration_schedule=: (
176
+ ::Array[MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule]
177
+ ) -> ::Array[MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule]
178
+
165
179
  attr_reader salesforce_opportunity_id: String?
166
180
 
167
181
  def salesforce_opportunity_id=: (String) -> String
@@ -211,6 +225,7 @@ module MetronomeSDK
211
225
  usage_filter: ::Array[MetronomeSDK::ContractV2::UsageFilter],
212
226
  usage_statement_schedule: MetronomeSDK::ContractV2::UsageStatementSchedule,
213
227
  ?archived_at: Time,
228
+ ?billing_provider_configuration_schedule: ::Array[MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule],
214
229
  ?credits: ::Array[MetronomeSDK::ContractV2::Credit],
215
230
  ?custom_fields: ::Hash[Symbol, String],
216
231
  ?customer_billing_provider_configuration: MetronomeSDK::ContractV2::CustomerBillingProviderConfiguration,
@@ -229,6 +244,7 @@ module MetronomeSDK
229
244
  ?recurring_commits: ::Array[MetronomeSDK::ContractV2::RecurringCommit],
230
245
  ?recurring_credits: ::Array[MetronomeSDK::ContractV2::RecurringCredit],
231
246
  ?reseller_royalties: ::Array[MetronomeSDK::ContractV2::ResellerRoyalty],
247
+ ?revenue_system_configuration_schedule: ::Array[MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule],
232
248
  ?salesforce_opportunity_id: String,
233
249
  ?scheduled_charges_on_usage_invoices: MetronomeSDK::Models::ContractV2::scheduled_charges_on_usage_invoices,
234
250
  ?spend_threshold_configuration: MetronomeSDK::SpendThresholdConfigurationV2,
@@ -251,6 +267,7 @@ module MetronomeSDK
251
267
  usage_filter: ::Array[MetronomeSDK::ContractV2::UsageFilter],
252
268
  usage_statement_schedule: MetronomeSDK::ContractV2::UsageStatementSchedule,
253
269
  archived_at: Time,
270
+ billing_provider_configuration_schedule: ::Array[MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule],
254
271
  credits: ::Array[MetronomeSDK::ContractV2::Credit],
255
272
  custom_fields: ::Hash[Symbol, String],
256
273
  customer_billing_provider_configuration: MetronomeSDK::ContractV2::CustomerBillingProviderConfiguration,
@@ -269,6 +286,7 @@ module MetronomeSDK
269
286
  recurring_commits: ::Array[MetronomeSDK::ContractV2::RecurringCommit],
270
287
  recurring_credits: ::Array[MetronomeSDK::ContractV2::RecurringCredit],
271
288
  reseller_royalties: ::Array[MetronomeSDK::ContractV2::ResellerRoyalty],
289
+ revenue_system_configuration_schedule: ::Array[MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule],
272
290
  salesforce_opportunity_id: String,
273
291
  scheduled_charges_on_usage_invoices: MetronomeSDK::Models::ContractV2::scheduled_charges_on_usage_invoices,
274
292
  spend_threshold_configuration: MetronomeSDK::SpendThresholdConfigurationV2,
@@ -1684,6 +1702,128 @@ module MetronomeSDK
1684
1702
  end
1685
1703
  end
1686
1704
 
1705
+ type billing_provider_configuration_schedule =
1706
+ {
1707
+ billing_provider_configuration: MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration,
1708
+ effective_at: Time,
1709
+ effective_until: Time
1710
+ }
1711
+
1712
+ class BillingProviderConfigurationSchedule < MetronomeSDK::Internal::Type::BaseModel
1713
+ attr_accessor billing_provider_configuration: MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration
1714
+
1715
+ attr_accessor effective_at: Time
1716
+
1717
+ attr_reader effective_until: Time?
1718
+
1719
+ def effective_until=: (Time) -> Time
1720
+
1721
+ def initialize: (
1722
+ billing_provider_configuration: MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration,
1723
+ effective_at: Time,
1724
+ ?effective_until: Time
1725
+ ) -> void
1726
+
1727
+ def to_hash: -> {
1728
+ billing_provider_configuration: MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration,
1729
+ effective_at: Time,
1730
+ effective_until: Time
1731
+ }
1732
+
1733
+ type billing_provider_configuration =
1734
+ {
1735
+ id: String,
1736
+ archived_at: Time?,
1737
+ billing_provider: MetronomeSDK::Models::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::billing_provider,
1738
+ configuration: ::Hash[Symbol, top],
1739
+ customer_id: String,
1740
+ delivery_method: MetronomeSDK::Models::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::delivery_method,
1741
+ delivery_method_configuration: ::Hash[Symbol, top],
1742
+ delivery_method_id: String
1743
+ }
1744
+
1745
+ class BillingProviderConfiguration < MetronomeSDK::Internal::Type::BaseModel
1746
+ attr_accessor id: String
1747
+
1748
+ attr_accessor archived_at: Time?
1749
+
1750
+ attr_accessor billing_provider: MetronomeSDK::Models::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::billing_provider
1751
+
1752
+ attr_accessor configuration: ::Hash[Symbol, top]
1753
+
1754
+ attr_accessor customer_id: String
1755
+
1756
+ attr_accessor delivery_method: MetronomeSDK::Models::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::delivery_method
1757
+
1758
+ attr_accessor delivery_method_configuration: ::Hash[Symbol, top]
1759
+
1760
+ attr_accessor delivery_method_id: String
1761
+
1762
+ def initialize: (
1763
+ id: String,
1764
+ archived_at: Time?,
1765
+ billing_provider: MetronomeSDK::Models::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::billing_provider,
1766
+ configuration: ::Hash[Symbol, top],
1767
+ customer_id: String,
1768
+ delivery_method: MetronomeSDK::Models::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::delivery_method,
1769
+ delivery_method_configuration: ::Hash[Symbol, top],
1770
+ delivery_method_id: String
1771
+ ) -> void
1772
+
1773
+ def to_hash: -> {
1774
+ id: String,
1775
+ archived_at: Time?,
1776
+ billing_provider: MetronomeSDK::Models::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::billing_provider,
1777
+ configuration: ::Hash[Symbol, top],
1778
+ customer_id: String,
1779
+ delivery_method: MetronomeSDK::Models::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::delivery_method,
1780
+ delivery_method_configuration: ::Hash[Symbol, top],
1781
+ delivery_method_id: String
1782
+ }
1783
+
1784
+ type billing_provider =
1785
+ :aws_marketplace
1786
+ | :stripe
1787
+ | :netsuite
1788
+ | :custom
1789
+ | :azure_marketplace
1790
+ | :quickbooks_online
1791
+ | :workday
1792
+ | :gcp_marketplace
1793
+ | :metronome
1794
+
1795
+ module BillingProvider
1796
+ extend MetronomeSDK::Internal::Type::Enum
1797
+
1798
+ AWS_MARKETPLACE: :aws_marketplace
1799
+ STRIPE: :stripe
1800
+ NETSUITE: :netsuite
1801
+ CUSTOM: :custom
1802
+ AZURE_MARKETPLACE: :azure_marketplace
1803
+ QUICKBOOKS_ONLINE: :quickbooks_online
1804
+ WORKDAY: :workday
1805
+ GCP_MARKETPLACE: :gcp_marketplace
1806
+ METRONOME: :metronome
1807
+
1808
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::billing_provider]
1809
+ end
1810
+
1811
+ type delivery_method =
1812
+ :direct_to_billing_provider | :aws_sqs | :tackle | :aws_sns
1813
+
1814
+ module DeliveryMethod
1815
+ extend MetronomeSDK::Internal::Type::Enum
1816
+
1817
+ DIRECT_TO_BILLING_PROVIDER: :direct_to_billing_provider
1818
+ AWS_SQS: :aws_sqs
1819
+ TACKLE: :tackle
1820
+ AWS_SNS: :aws_sns
1821
+
1822
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::delivery_method]
1823
+ end
1824
+ end
1825
+ end
1826
+
1687
1827
  type credit =
1688
1828
  {
1689
1829
  id: String,
@@ -2312,27 +2452,52 @@ module MetronomeSDK
2312
2452
  type customer_billing_provider_configuration =
2313
2453
  {
2314
2454
  id: String,
2455
+ archived_at: Time?,
2315
2456
  billing_provider: MetronomeSDK::Models::ContractV2::CustomerBillingProviderConfiguration::billing_provider,
2316
- delivery_method: MetronomeSDK::Models::ContractV2::CustomerBillingProviderConfiguration::delivery_method
2457
+ configuration: ::Hash[Symbol, top],
2458
+ customer_id: String,
2459
+ delivery_method: MetronomeSDK::Models::ContractV2::CustomerBillingProviderConfiguration::delivery_method,
2460
+ delivery_method_configuration: ::Hash[Symbol, top],
2461
+ delivery_method_id: String
2317
2462
  }
2318
2463
 
2319
2464
  class CustomerBillingProviderConfiguration < MetronomeSDK::Internal::Type::BaseModel
2320
2465
  attr_accessor id: String
2321
2466
 
2467
+ attr_accessor archived_at: Time?
2468
+
2322
2469
  attr_accessor billing_provider: MetronomeSDK::Models::ContractV2::CustomerBillingProviderConfiguration::billing_provider
2323
2470
 
2471
+ attr_accessor configuration: ::Hash[Symbol, top]
2472
+
2473
+ attr_accessor customer_id: String
2474
+
2324
2475
  attr_accessor delivery_method: MetronomeSDK::Models::ContractV2::CustomerBillingProviderConfiguration::delivery_method
2325
2476
 
2477
+ attr_accessor delivery_method_configuration: ::Hash[Symbol, top]
2478
+
2479
+ attr_accessor delivery_method_id: String
2480
+
2326
2481
  def initialize: (
2327
2482
  id: String,
2483
+ archived_at: Time?,
2328
2484
  billing_provider: MetronomeSDK::Models::ContractV2::CustomerBillingProviderConfiguration::billing_provider,
2329
- delivery_method: MetronomeSDK::Models::ContractV2::CustomerBillingProviderConfiguration::delivery_method
2485
+ configuration: ::Hash[Symbol, top],
2486
+ customer_id: String,
2487
+ delivery_method: MetronomeSDK::Models::ContractV2::CustomerBillingProviderConfiguration::delivery_method,
2488
+ delivery_method_configuration: ::Hash[Symbol, top],
2489
+ delivery_method_id: String
2330
2490
  ) -> void
2331
2491
 
2332
2492
  def to_hash: -> {
2333
2493
  id: String,
2494
+ archived_at: Time?,
2334
2495
  billing_provider: MetronomeSDK::Models::ContractV2::CustomerBillingProviderConfiguration::billing_provider,
2335
- delivery_method: MetronomeSDK::Models::ContractV2::CustomerBillingProviderConfiguration::delivery_method
2496
+ configuration: ::Hash[Symbol, top],
2497
+ customer_id: String,
2498
+ delivery_method: MetronomeSDK::Models::ContractV2::CustomerBillingProviderConfiguration::delivery_method,
2499
+ delivery_method_configuration: ::Hash[Symbol, top],
2500
+ delivery_method_id: String
2336
2501
  }
2337
2502
 
2338
2503
  type billing_provider =
@@ -3431,6 +3596,119 @@ module MetronomeSDK
3431
3596
  end
3432
3597
  end
3433
3598
 
3599
+ type revenue_system_configuration_schedule =
3600
+ {
3601
+ effective_at: Time,
3602
+ revenue_system_configuration: MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration,
3603
+ effective_until: Time
3604
+ }
3605
+
3606
+ class RevenueSystemConfigurationSchedule < MetronomeSDK::Internal::Type::BaseModel
3607
+ attr_accessor effective_at: Time
3608
+
3609
+ attr_accessor revenue_system_configuration: MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration
3610
+
3611
+ attr_reader effective_until: Time?
3612
+
3613
+ def effective_until=: (Time) -> Time
3614
+
3615
+ def initialize: (
3616
+ effective_at: Time,
3617
+ revenue_system_configuration: MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration,
3618
+ ?effective_until: Time
3619
+ ) -> void
3620
+
3621
+ def to_hash: -> {
3622
+ effective_at: Time,
3623
+ revenue_system_configuration: MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration,
3624
+ effective_until: Time
3625
+ }
3626
+
3627
+ type revenue_system_configuration =
3628
+ {
3629
+ id: String,
3630
+ configuration: ::Hash[Symbol, top],
3631
+ customer_id: String,
3632
+ delivery_method_id: String,
3633
+ provider: MetronomeSDK::Models::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::provider,
3634
+ archived_at: Time?,
3635
+ delivery_method: MetronomeSDK::Models::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::delivery_method,
3636
+ delivery_method_configuration: ::Hash[Symbol, top]
3637
+ }
3638
+
3639
+ class RevenueSystemConfiguration < MetronomeSDK::Internal::Type::BaseModel
3640
+ attr_accessor id: String
3641
+
3642
+ attr_accessor configuration: ::Hash[Symbol, top]
3643
+
3644
+ attr_accessor customer_id: String
3645
+
3646
+ attr_accessor delivery_method_id: String
3647
+
3648
+ attr_accessor provider: MetronomeSDK::Models::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::provider
3649
+
3650
+ attr_accessor archived_at: Time?
3651
+
3652
+ attr_reader delivery_method: MetronomeSDK::Models::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::delivery_method?
3653
+
3654
+ def delivery_method=: (
3655
+ MetronomeSDK::Models::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::delivery_method
3656
+ ) -> MetronomeSDK::Models::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::delivery_method
3657
+
3658
+ attr_reader delivery_method_configuration: ::Hash[Symbol, top]?
3659
+
3660
+ def delivery_method_configuration=: (
3661
+ ::Hash[Symbol, top]
3662
+ ) -> ::Hash[Symbol, top]
3663
+
3664
+ def initialize: (
3665
+ id: String,
3666
+ configuration: ::Hash[Symbol, top],
3667
+ customer_id: String,
3668
+ delivery_method_id: String,
3669
+ provider: MetronomeSDK::Models::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::provider,
3670
+ ?archived_at: Time?,
3671
+ ?delivery_method: MetronomeSDK::Models::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::delivery_method,
3672
+ ?delivery_method_configuration: ::Hash[Symbol, top]
3673
+ ) -> void
3674
+
3675
+ def to_hash: -> {
3676
+ id: String,
3677
+ configuration: ::Hash[Symbol, top],
3678
+ customer_id: String,
3679
+ delivery_method_id: String,
3680
+ provider: MetronomeSDK::Models::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::provider,
3681
+ archived_at: Time?,
3682
+ delivery_method: MetronomeSDK::Models::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::delivery_method,
3683
+ delivery_method_configuration: ::Hash[Symbol, top]
3684
+ }
3685
+
3686
+ type provider = :netsuite
3687
+
3688
+ module Provider
3689
+ extend MetronomeSDK::Internal::Type::Enum
3690
+
3691
+ NETSUITE: :netsuite
3692
+
3693
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::provider]
3694
+ end
3695
+
3696
+ type delivery_method =
3697
+ :direct_to_billing_provider | :aws_sqs | :tackle | :aws_sns
3698
+
3699
+ module DeliveryMethod
3700
+ extend MetronomeSDK::Internal::Type::Enum
3701
+
3702
+ DIRECT_TO_BILLING_PROVIDER: :direct_to_billing_provider
3703
+ AWS_SQS: :aws_sqs
3704
+ TACKLE: :tackle
3705
+ AWS_SNS: :aws_sns
3706
+
3707
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::delivery_method]
3708
+ end
3709
+ end
3710
+ end
3711
+
3434
3712
  type scheduled_charges_on_usage_invoices = :ALL
3435
3713
 
3436
3714
  module ScheduledChargesOnUsageInvoices