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
@@ -20,8 +20,8 @@ module MetronomeSDK
20
20
  ],
21
21
  customer_id: String,
22
22
  evaluate_on_create: T::Boolean,
23
- group_key_filter:
24
- MetronomeSDK::V1::AlertCreateParams::GroupKeyFilter::OrHash,
23
+ group_values:
24
+ T::Array[MetronomeSDK::V1::AlertCreateParams::GroupValue::OrHash],
25
25
  invoice_types_filter: T::Array[String],
26
26
  plan_id: String,
27
27
  uniqueness_key: String,
@@ -57,9 +57,9 @@ module MetronomeSDK
57
57
  # alert threshold. If false, it will only evaluate on future customers that
58
58
  # trigger the alert threshold. Defaults to true.
59
59
  evaluate_on_create: nil,
60
- # Scopes alert evaluation to a specific presentation group key on individual line
61
- # items. Only present for spend alerts.
62
- group_key_filter: nil,
60
+ # Only present for `spend_threshold_reached` alerts. Scope alert to a specific
61
+ # group key on individual line items.
62
+ group_values: nil,
63
63
  # Only supported for invoice_total_reached alerts. A list of invoice types to
64
64
  # evaluate.
65
65
  invoice_types_filter: nil,
@@ -14,6 +14,7 @@ module MetronomeSDK
14
14
  billable_metric_id: String,
15
15
  composite_product_ids: T::Array[String],
16
16
  composite_tags: T::Array[String],
17
+ custom_fields: T::Hash[Symbol, String],
17
18
  exclude_free_usage: T::Boolean,
18
19
  is_refundable: T::Boolean,
19
20
  netsuite_internal_item_id: String,
@@ -44,6 +45,7 @@ module MetronomeSDK
44
45
  composite_product_ids: nil,
45
46
  # Required for COMPOSITE products
46
47
  composite_tags: nil,
48
+ custom_fields: nil,
47
49
  # Beta feature only available for composite products. If true, products with $0
48
50
  # will not be included when computing composite usage. Defaults to false
49
51
  exclude_free_usage: nil,
@@ -231,6 +231,7 @@ module MetronomeSDK
231
231
  invoice_contract_id: String,
232
232
  invoice_schedule:
233
233
  MetronomeSDK::V2::ContractEditCommitParams::InvoiceSchedule::OrHash,
234
+ priority: T.nilable(Float),
234
235
  product_id: String,
235
236
  specifiers:
236
237
  T.nilable(
@@ -258,11 +259,16 @@ module MetronomeSDK
258
259
  # ID of contract to use for invoicing
259
260
  invoice_contract_id: nil,
260
261
  invoice_schedule: nil,
262
+ # If multiple commits are applicable, the one with the lower priority will apply
263
+ # first.
264
+ priority: nil,
261
265
  product_id: nil,
262
266
  # List of filters that determine what kind of customer usage draws down a commit
263
267
  # or credit. A customer's usage needs to meet the condition of at least one of the
264
268
  # specifiers to contribute to a commit's or credit's drawdown. This field cannot
265
269
  # be used together with `applicable_product_ids` or `applicable_product_tags`.
270
+ # Instead, to target usage by product or product tag, pass those values in the
271
+ # body of `specifiers`.
266
272
  specifiers: nil,
267
273
  request_options: {}
268
274
  )
@@ -278,6 +284,7 @@ module MetronomeSDK
278
284
  MetronomeSDK::V2::ContractEditCreditParams::AccessSchedule::OrHash,
279
285
  applicable_product_ids: T.nilable(T::Array[String]),
280
286
  applicable_product_tags: T.nilable(T::Array[String]),
287
+ priority: T.nilable(Float),
281
288
  product_id: String,
282
289
  specifiers:
283
290
  T.nilable(
@@ -300,11 +307,16 @@ module MetronomeSDK
300
307
  # Which tags the credit applies to. If both applicable_product_ids and
301
308
  # applicable_product_tags are not provided, the credit applies to all products.
302
309
  applicable_product_tags: nil,
310
+ # If multiple commits are applicable, the one with the lower priority will apply
311
+ # first.
312
+ priority: nil,
303
313
  product_id: nil,
304
314
  # List of filters that determine what kind of customer usage draws down a commit
305
315
  # or credit. A customer's usage needs to meet the condition of at least one of the
306
316
  # specifiers to contribute to a commit's or credit's drawdown. This field cannot
307
317
  # be used together with `applicable_product_ids` or `applicable_product_tags`.
318
+ # Instead, to target usage by product or product tag, pass those values in the
319
+ # body of `specifiers`.
308
320
  specifiers: nil,
309
321
  request_options: {}
310
322
  )
@@ -99,7 +99,7 @@ module MetronomeSDK
99
99
  retry_count: Integer
100
100
  ) -> Float
101
101
 
102
- private def send_request: (
102
+ def send_request: (
103
103
  MetronomeSDK::Internal::Transport::BaseClient::request_input request,
104
104
  redirect_count: Integer,
105
105
  retry_count: Integer,
@@ -39,6 +39,23 @@ module MetronomeSDK
39
39
  | MetronomeSDK::Internal::Type::Converter::input spec
40
40
  ) -> (^-> top)
41
41
 
42
+ def self.meta_info: (
43
+ {
44
+ const: (nil | bool | Integer | Float | Symbol)?,
45
+ enum: ^-> MetronomeSDK::Internal::Type::Converter::input?,
46
+ union: ^-> MetronomeSDK::Internal::Type::Converter::input?
47
+ }
48
+ | ^-> MetronomeSDK::Internal::Type::Converter::input
49
+ | MetronomeSDK::Internal::Type::Converter::input type_info,
50
+ {
51
+ const: (nil | bool | Integer | Float | Symbol)?,
52
+ enum: ^-> MetronomeSDK::Internal::Type::Converter::input?,
53
+ union: ^-> MetronomeSDK::Internal::Type::Converter::input?
54
+ }
55
+ | ^-> MetronomeSDK::Internal::Type::Converter::input
56
+ | MetronomeSDK::Internal::Type::Converter::input spec
57
+ ) -> ::Hash[Symbol, top]
58
+
42
59
  def self.new_coerce_state: (
43
60
  ?translate_names: bool
44
61
  ) -> MetronomeSDK::Internal::Type::Converter::coerce_state
@@ -5,9 +5,9 @@ module MetronomeSDK
5
5
  include MetronomeSDK::Internal::Type::Converter
6
6
  include MetronomeSDK::Internal::Util::SorbetRuntimeSupport
7
7
 
8
- private def self.known_variants: -> ::Array[[Symbol?, (^-> MetronomeSDK::Internal::Type::Converter::input)]]
8
+ private def self.known_variants: -> ::Array[[Symbol?, (^-> MetronomeSDK::Internal::Type::Converter::input), ::Hash[Symbol, top]]]
9
9
 
10
- def self.derefed_variants: -> ::Array[[Symbol?, top]]
10
+ def self.derefed_variants: -> ::Array[[Symbol?, top, ::Hash[Symbol, top]]]
11
11
 
12
12
  def self.variants: -> ::Array[top]
13
13
 
@@ -429,7 +429,8 @@ module MetronomeSDK
429
429
  invoice_id: String,
430
430
  segment_id: String,
431
431
  timestamp: Time,
432
- type: MetronomeSDK::Models::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::type_
432
+ type: MetronomeSDK::Models::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::type_,
433
+ contract_id: String
433
434
  }
434
435
 
435
436
  class PrepaidCommitAutomatedInvoiceDeductionLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
@@ -443,12 +444,17 @@ module MetronomeSDK
443
444
 
444
445
  attr_accessor type: MetronomeSDK::Models::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::type_
445
446
 
447
+ attr_reader contract_id: String?
448
+
449
+ def contract_id=: (String) -> String
450
+
446
451
  def initialize: (
447
452
  amount: Float,
448
453
  invoice_id: String,
449
454
  segment_id: String,
450
455
  timestamp: Time,
451
- type: MetronomeSDK::Models::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::type_
456
+ type: MetronomeSDK::Models::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::type_,
457
+ ?contract_id: String
452
458
  ) -> void
453
459
 
454
460
  def to_hash: -> {
@@ -456,7 +462,8 @@ module MetronomeSDK
456
462
  invoice_id: String,
457
463
  segment_id: String,
458
464
  timestamp: Time,
459
- type: MetronomeSDK::Models::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::type_
465
+ type: MetronomeSDK::Models::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::type_,
466
+ contract_id: String
460
467
  }
461
468
 
462
469
  type type_ = :PREPAID_COMMIT_AUTOMATED_INVOICE_DEDUCTION
@@ -565,7 +572,8 @@ module MetronomeSDK
565
572
  invoice_id: String,
566
573
  segment_id: String,
567
574
  timestamp: Time,
568
- type: MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::type_
575
+ type: MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::type_,
576
+ contract_id: String
569
577
  }
570
578
 
571
579
  class PrepaidCommitCanceledLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
@@ -579,12 +587,17 @@ module MetronomeSDK
579
587
 
580
588
  attr_accessor type: MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::type_
581
589
 
590
+ attr_reader contract_id: String?
591
+
592
+ def contract_id=: (String) -> String
593
+
582
594
  def initialize: (
583
595
  amount: Float,
584
596
  invoice_id: String,
585
597
  segment_id: String,
586
598
  timestamp: Time,
587
- type: MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::type_
599
+ type: MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::type_,
600
+ ?contract_id: String
588
601
  ) -> void
589
602
 
590
603
  def to_hash: -> {
@@ -592,7 +605,8 @@ module MetronomeSDK
592
605
  invoice_id: String,
593
606
  segment_id: String,
594
607
  timestamp: Time,
595
- type: MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::type_
608
+ type: MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::type_,
609
+ contract_id: String
596
610
  }
597
611
 
598
612
  type type_ = :PREPAID_COMMIT_CANCELED
@@ -612,7 +626,8 @@ module MetronomeSDK
612
626
  invoice_id: String,
613
627
  segment_id: String,
614
628
  timestamp: Time,
615
- type: MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::type_
629
+ type: MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::type_,
630
+ contract_id: String
616
631
  }
617
632
 
618
633
  class PrepaidCommitCreditedLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
@@ -626,12 +641,17 @@ module MetronomeSDK
626
641
 
627
642
  attr_accessor type: MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::type_
628
643
 
644
+ attr_reader contract_id: String?
645
+
646
+ def contract_id=: (String) -> String
647
+
629
648
  def initialize: (
630
649
  amount: Float,
631
650
  invoice_id: String,
632
651
  segment_id: String,
633
652
  timestamp: Time,
634
- type: MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::type_
653
+ type: MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::type_,
654
+ ?contract_id: String
635
655
  ) -> void
636
656
 
637
657
  def to_hash: -> {
@@ -639,7 +659,8 @@ module MetronomeSDK
639
659
  invoice_id: String,
640
660
  segment_id: String,
641
661
  timestamp: Time,
642
- type: MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::type_
662
+ type: MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::type_,
663
+ contract_id: String
643
664
  }
644
665
 
645
666
  type type_ = :PREPAID_COMMIT_CREDITED
@@ -738,7 +759,8 @@ module MetronomeSDK
738
759
  invoice_id: String,
739
760
  segment_id: String,
740
761
  timestamp: Time,
741
- type: MetronomeSDK::Models::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::type_
762
+ type: MetronomeSDK::Models::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::type_,
763
+ contract_id: String
742
764
  }
743
765
 
744
766
  class PostpaidCommitAutomatedInvoiceDeductionLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
@@ -752,12 +774,17 @@ module MetronomeSDK
752
774
 
753
775
  attr_accessor type: MetronomeSDK::Models::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::type_
754
776
 
777
+ attr_reader contract_id: String?
778
+
779
+ def contract_id=: (String) -> String
780
+
755
781
  def initialize: (
756
782
  amount: Float,
757
783
  invoice_id: String,
758
784
  segment_id: String,
759
785
  timestamp: Time,
760
- type: MetronomeSDK::Models::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::type_
786
+ type: MetronomeSDK::Models::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::type_,
787
+ ?contract_id: String
761
788
  ) -> void
762
789
 
763
790
  def to_hash: -> {
@@ -765,7 +792,8 @@ module MetronomeSDK
765
792
  invoice_id: String,
766
793
  segment_id: String,
767
794
  timestamp: Time,
768
- type: MetronomeSDK::Models::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::type_
795
+ type: MetronomeSDK::Models::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::type_,
796
+ contract_id: String
769
797
  }
770
798
 
771
799
  type type_ = :POSTPAID_COMMIT_AUTOMATED_INVOICE_DEDUCTION
@@ -831,7 +859,8 @@ module MetronomeSDK
831
859
  amount: Float,
832
860
  invoice_id: String,
833
861
  timestamp: Time,
834
- type: MetronomeSDK::Models::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::type_
862
+ type: MetronomeSDK::Models::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::type_,
863
+ contract_id: String
835
864
  }
836
865
 
837
866
  class PostpaidCommitTrueupLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
@@ -843,18 +872,24 @@ module MetronomeSDK
843
872
 
844
873
  attr_accessor type: MetronomeSDK::Models::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::type_
845
874
 
875
+ attr_reader contract_id: String?
876
+
877
+ def contract_id=: (String) -> String
878
+
846
879
  def initialize: (
847
880
  amount: Float,
848
881
  invoice_id: String,
849
882
  timestamp: Time,
850
- type: MetronomeSDK::Models::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::type_
883
+ type: MetronomeSDK::Models::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::type_,
884
+ ?contract_id: String
851
885
  ) -> void
852
886
 
853
887
  def to_hash: -> {
854
888
  amount: Float,
855
889
  invoice_id: String,
856
890
  timestamp: Time,
857
- type: MetronomeSDK::Models::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::type_
891
+ type: MetronomeSDK::Models::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::type_,
892
+ contract_id: String
858
893
  }
859
894
 
860
895
  type type_ = :POSTPAID_COMMIT_TRUEUP
@@ -624,7 +624,8 @@ module MetronomeSDK
624
624
  proration: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::proration,
625
625
  recurrence_frequency: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::recurrence_frequency,
626
626
  rollover_fraction: Float,
627
- specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Specifier]
627
+ specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Specifier],
628
+ subscription_config: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig
628
629
  }
629
630
 
630
631
  class RecurringCommit < MetronomeSDK::Internal::Type::BaseModel
@@ -706,6 +707,12 @@ module MetronomeSDK
706
707
  ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Specifier]
707
708
  ) -> ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Specifier]
708
709
 
710
+ attr_reader subscription_config: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig?
711
+
712
+ def subscription_config=: (
713
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig
714
+ ) -> MetronomeSDK::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig
715
+
709
716
  def initialize: (
710
717
  id: String,
711
718
  access_amount: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::AccessAmount,
@@ -726,7 +733,8 @@ module MetronomeSDK
726
733
  ?proration: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::proration,
727
734
  ?recurrence_frequency: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::recurrence_frequency,
728
735
  ?rollover_fraction: Float,
729
- ?specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Specifier]
736
+ ?specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Specifier],
737
+ ?subscription_config: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig
730
738
  ) -> void
731
739
 
732
740
  def to_hash: -> {
@@ -749,7 +757,8 @@ module MetronomeSDK
749
757
  proration: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::proration,
750
758
  recurrence_frequency: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::recurrence_frequency,
751
759
  rollover_fraction: Float,
752
- specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Specifier]
760
+ specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Specifier],
761
+ subscription_config: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig
753
762
  }
754
763
 
755
764
  type access_amount =
@@ -1052,6 +1061,54 @@ module MetronomeSDK
1052
1061
  product_tags: ::Array[String]
1053
1062
  }
1054
1063
  end
1064
+
1065
+ type subscription_config =
1066
+ {
1067
+ allocation: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig::allocation,
1068
+ apply_seat_increase_config: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig,
1069
+ subscription_id: String
1070
+ }
1071
+
1072
+ class SubscriptionConfig < MetronomeSDK::Internal::Type::BaseModel
1073
+ attr_accessor allocation: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig::allocation
1074
+
1075
+ attr_accessor apply_seat_increase_config: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig
1076
+
1077
+ attr_accessor subscription_id: String
1078
+
1079
+ def initialize: (
1080
+ allocation: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig::allocation,
1081
+ apply_seat_increase_config: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig,
1082
+ subscription_id: String
1083
+ ) -> void
1084
+
1085
+ def to_hash: -> {
1086
+ allocation: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig::allocation,
1087
+ apply_seat_increase_config: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig,
1088
+ subscription_id: String
1089
+ }
1090
+
1091
+ type allocation = :INDIVIDUAL | :POOLED
1092
+
1093
+ module Allocation
1094
+ extend MetronomeSDK::Internal::Type::Enum
1095
+
1096
+ INDIVIDUAL: :INDIVIDUAL
1097
+ POOLED: :POOLED
1098
+
1099
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig::allocation]
1100
+ end
1101
+
1102
+ type apply_seat_increase_config = { is_prorated: bool }
1103
+
1104
+ class ApplySeatIncreaseConfig < MetronomeSDK::Internal::Type::BaseModel
1105
+ attr_accessor is_prorated: bool
1106
+
1107
+ def initialize: (is_prorated: bool) -> void
1108
+
1109
+ def to_hash: -> { is_prorated: bool }
1110
+ end
1111
+ end
1055
1112
  end
1056
1113
 
1057
1114
  type recurring_credit =
@@ -1074,7 +1131,8 @@ module MetronomeSDK
1074
1131
  proration: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::proration,
1075
1132
  recurrence_frequency: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::recurrence_frequency,
1076
1133
  rollover_fraction: Float,
1077
- specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Specifier]
1134
+ specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Specifier],
1135
+ subscription_config: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig
1078
1136
  }
1079
1137
 
1080
1138
  class RecurringCredit < MetronomeSDK::Internal::Type::BaseModel
@@ -1150,6 +1208,12 @@ module MetronomeSDK
1150
1208
  ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Specifier]
1151
1209
  ) -> ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Specifier]
1152
1210
 
1211
+ attr_reader subscription_config: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig?
1212
+
1213
+ def subscription_config=: (
1214
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig
1215
+ ) -> MetronomeSDK::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig
1216
+
1153
1217
  def initialize: (
1154
1218
  id: String,
1155
1219
  access_amount: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::AccessAmount,
@@ -1169,7 +1233,8 @@ module MetronomeSDK
1169
1233
  ?proration: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::proration,
1170
1234
  ?recurrence_frequency: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::recurrence_frequency,
1171
1235
  ?rollover_fraction: Float,
1172
- ?specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Specifier]
1236
+ ?specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Specifier],
1237
+ ?subscription_config: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig
1173
1238
  ) -> void
1174
1239
 
1175
1240
  def to_hash: -> {
@@ -1191,7 +1256,8 @@ module MetronomeSDK
1191
1256
  proration: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::proration,
1192
1257
  recurrence_frequency: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::recurrence_frequency,
1193
1258
  rollover_fraction: Float,
1194
- specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Specifier]
1259
+ specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Specifier],
1260
+ subscription_config: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig
1195
1261
  }
1196
1262
 
1197
1263
  type access_amount =
@@ -1471,6 +1537,54 @@ module MetronomeSDK
1471
1537
  product_tags: ::Array[String]
1472
1538
  }
1473
1539
  end
1540
+
1541
+ type subscription_config =
1542
+ {
1543
+ allocation: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig::allocation,
1544
+ apply_seat_increase_config: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig,
1545
+ subscription_id: String
1546
+ }
1547
+
1548
+ class SubscriptionConfig < MetronomeSDK::Internal::Type::BaseModel
1549
+ attr_accessor allocation: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig::allocation
1550
+
1551
+ attr_accessor apply_seat_increase_config: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig
1552
+
1553
+ attr_accessor subscription_id: String
1554
+
1555
+ def initialize: (
1556
+ allocation: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig::allocation,
1557
+ apply_seat_increase_config: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig,
1558
+ subscription_id: String
1559
+ ) -> void
1560
+
1561
+ def to_hash: -> {
1562
+ allocation: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig::allocation,
1563
+ apply_seat_increase_config: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig,
1564
+ subscription_id: String
1565
+ }
1566
+
1567
+ type allocation = :INDIVIDUAL | :POOLED
1568
+
1569
+ module Allocation
1570
+ extend MetronomeSDK::Internal::Type::Enum
1571
+
1572
+ INDIVIDUAL: :INDIVIDUAL
1573
+ POOLED: :POOLED
1574
+
1575
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig::allocation]
1576
+ end
1577
+
1578
+ type apply_seat_increase_config = { is_prorated: bool }
1579
+
1580
+ class ApplySeatIncreaseConfig < MetronomeSDK::Internal::Type::BaseModel
1581
+ attr_accessor is_prorated: bool
1582
+
1583
+ def initialize: (is_prorated: bool) -> void
1584
+
1585
+ def to_hash: -> { is_prorated: bool }
1586
+ end
1587
+ end
1474
1588
  end
1475
1589
 
1476
1590
  type reseller_royalty =
@@ -363,7 +363,8 @@ module MetronomeSDK
363
363
  invoice_id: String,
364
364
  segment_id: String,
365
365
  timestamp: Time,
366
- type: MetronomeSDK::Models::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::type_
366
+ type: MetronomeSDK::Models::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::type_,
367
+ contract_id: String
367
368
  }
368
369
 
369
370
  class CreditAutomatedInvoiceDeductionLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
@@ -377,12 +378,17 @@ module MetronomeSDK
377
378
 
378
379
  attr_accessor type: MetronomeSDK::Models::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::type_
379
380
 
381
+ attr_reader contract_id: String?
382
+
383
+ def contract_id=: (String) -> String
384
+
380
385
  def initialize: (
381
386
  amount: Float,
382
387
  invoice_id: String,
383
388
  segment_id: String,
384
389
  timestamp: Time,
385
- type: MetronomeSDK::Models::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::type_
390
+ type: MetronomeSDK::Models::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::type_,
391
+ ?contract_id: String
386
392
  ) -> void
387
393
 
388
394
  def to_hash: -> {
@@ -390,7 +396,8 @@ module MetronomeSDK
390
396
  invoice_id: String,
391
397
  segment_id: String,
392
398
  timestamp: Time,
393
- type: MetronomeSDK::Models::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::type_
399
+ type: MetronomeSDK::Models::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::type_,
400
+ contract_id: String
394
401
  }
395
402
 
396
403
  type type_ = :CREDIT_AUTOMATED_INVOICE_DEDUCTION
@@ -452,7 +459,8 @@ module MetronomeSDK
452
459
  invoice_id: String,
453
460
  segment_id: String,
454
461
  timestamp: Time,
455
- type: MetronomeSDK::Models::Credit::Ledger::CreditCanceledLedgerEntry::type_
462
+ type: MetronomeSDK::Models::Credit::Ledger::CreditCanceledLedgerEntry::type_,
463
+ contract_id: String
456
464
  }
457
465
 
458
466
  class CreditCanceledLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
@@ -466,12 +474,17 @@ module MetronomeSDK
466
474
 
467
475
  attr_accessor type: MetronomeSDK::Models::Credit::Ledger::CreditCanceledLedgerEntry::type_
468
476
 
477
+ attr_reader contract_id: String?
478
+
479
+ def contract_id=: (String) -> String
480
+
469
481
  def initialize: (
470
482
  amount: Float,
471
483
  invoice_id: String,
472
484
  segment_id: String,
473
485
  timestamp: Time,
474
- type: MetronomeSDK::Models::Credit::Ledger::CreditCanceledLedgerEntry::type_
486
+ type: MetronomeSDK::Models::Credit::Ledger::CreditCanceledLedgerEntry::type_,
487
+ ?contract_id: String
475
488
  ) -> void
476
489
 
477
490
  def to_hash: -> {
@@ -479,7 +492,8 @@ module MetronomeSDK
479
492
  invoice_id: String,
480
493
  segment_id: String,
481
494
  timestamp: Time,
482
- type: MetronomeSDK::Models::Credit::Ledger::CreditCanceledLedgerEntry::type_
495
+ type: MetronomeSDK::Models::Credit::Ledger::CreditCanceledLedgerEntry::type_,
496
+ contract_id: String
483
497
  }
484
498
 
485
499
  type type_ = :CREDIT_CANCELED
@@ -499,7 +513,8 @@ module MetronomeSDK
499
513
  invoice_id: String,
500
514
  segment_id: String,
501
515
  timestamp: Time,
502
- type: MetronomeSDK::Models::Credit::Ledger::CreditCreditedLedgerEntry::type_
516
+ type: MetronomeSDK::Models::Credit::Ledger::CreditCreditedLedgerEntry::type_,
517
+ contract_id: String
503
518
  }
504
519
 
505
520
  class CreditCreditedLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
@@ -513,12 +528,17 @@ module MetronomeSDK
513
528
 
514
529
  attr_accessor type: MetronomeSDK::Models::Credit::Ledger::CreditCreditedLedgerEntry::type_
515
530
 
531
+ attr_reader contract_id: String?
532
+
533
+ def contract_id=: (String) -> String
534
+
516
535
  def initialize: (
517
536
  amount: Float,
518
537
  invoice_id: String,
519
538
  segment_id: String,
520
539
  timestamp: Time,
521
- type: MetronomeSDK::Models::Credit::Ledger::CreditCreditedLedgerEntry::type_
540
+ type: MetronomeSDK::Models::Credit::Ledger::CreditCreditedLedgerEntry::type_,
541
+ ?contract_id: String
522
542
  ) -> void
523
543
 
524
544
  def to_hash: -> {
@@ -526,7 +546,8 @@ module MetronomeSDK
526
546
  invoice_id: String,
527
547
  segment_id: String,
528
548
  timestamp: Time,
529
- type: MetronomeSDK::Models::Credit::Ledger::CreditCreditedLedgerEntry::type_
549
+ type: MetronomeSDK::Models::Credit::Ledger::CreditCreditedLedgerEntry::type_,
550
+ contract_id: String
530
551
  }
531
552
 
532
553
  type type_ = :CREDIT_CREDITED
@@ -3,6 +3,7 @@ module MetronomeSDK
3
3
  type schedule_point_in_time =
4
4
  {
5
5
  credit_type: MetronomeSDK::CreditTypeData,
6
+ do_not_invoice: bool,
6
7
  schedule_items: ::Array[MetronomeSDK::SchedulePointInTime::ScheduleItem]
7
8
  }
8
9
 
@@ -13,6 +14,10 @@ module MetronomeSDK
13
14
  MetronomeSDK::CreditTypeData
14
15
  ) -> MetronomeSDK::CreditTypeData
15
16
 
17
+ attr_reader do_not_invoice: bool?
18
+
19
+ def do_not_invoice=: (bool) -> bool
20
+
16
21
  attr_reader schedule_items: ::Array[MetronomeSDK::SchedulePointInTime::ScheduleItem]?
17
22
 
18
23
  def schedule_items=: (
@@ -21,11 +26,13 @@ module MetronomeSDK
21
26
 
22
27
  def initialize: (
23
28
  ?credit_type: MetronomeSDK::CreditTypeData,
29
+ ?do_not_invoice: bool,
24
30
  ?schedule_items: ::Array[MetronomeSDK::SchedulePointInTime::ScheduleItem]
25
31
  ) -> void
26
32
 
27
33
  def to_hash: -> {
28
34
  credit_type: MetronomeSDK::CreditTypeData,
35
+ do_not_invoice: bool,
29
36
  schedule_items: ::Array[MetronomeSDK::SchedulePointInTime::ScheduleItem]
30
37
  }
31
38