metronome-sdk 3.4.0 → 3.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +84 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/client.rb +15 -1
  5. data/lib/metronome_sdk/internal/transport/base_client.rb +2 -0
  6. data/lib/metronome_sdk/internal/util.rb +22 -7
  7. data/lib/metronome_sdk/models/base_threshold_commit.rb +10 -1
  8. data/lib/metronome_sdk/models/contract_v2.rb +443 -15
  9. data/lib/metronome_sdk/models/credit.rb +74 -4
  10. data/lib/metronome_sdk/models/override.rb +9 -8
  11. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +27 -1
  12. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +28 -2
  13. data/lib/metronome_sdk/models/spend_threshold_configuration.rb +26 -1
  14. data/lib/metronome_sdk/models/spend_threshold_configuration_v2.rb +30 -4
  15. data/lib/metronome_sdk/models/update_base_threshold_commit.rb +11 -1
  16. data/lib/metronome_sdk/models/v1/alert_create_params.rb +1 -0
  17. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +2 -189
  18. data/lib/metronome_sdk/models/v1/contract_create_params.rb +3 -191
  19. data/lib/metronome_sdk/models/v1/contract_list_seat_balances_params.rb +119 -0
  20. data/lib/metronome_sdk/models/v1/contract_list_seat_balances_response.rb +315 -0
  21. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +31 -1
  22. data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +31 -1
  23. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +1 -0
  24. data/lib/metronome_sdk/models/v1/customers/invoice.rb +8 -1
  25. data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +29 -1
  26. data/lib/metronome_sdk/models/v1/package_create_params.rb +2 -30
  27. data/lib/metronome_sdk/models/v1/package_list_response.rb +28 -9
  28. data/lib/metronome_sdk/models/v1/package_retrieve_response.rb +29 -9
  29. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +67 -20
  30. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +496 -15
  31. data/lib/metronome_sdk/resources/v1/contracts/products.rb +6 -2
  32. data/lib/metronome_sdk/resources/v1/contracts.rb +76 -2
  33. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +5 -1
  34. data/lib/metronome_sdk/resources/v1/packages.rb +1 -3
  35. data/lib/metronome_sdk/version.rb +1 -1
  36. data/lib/metronome_sdk.rb +3 -1
  37. data/rbi/metronome_sdk/internal/util.rbi +8 -0
  38. data/rbi/metronome_sdk/models/base_threshold_commit.rbi +24 -5
  39. data/rbi/metronome_sdk/models/contract_v2.rbi +916 -19
  40. data/rbi/metronome_sdk/models/credit.rbi +139 -3
  41. data/rbi/metronome_sdk/models/override.rbi +9 -12
  42. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +54 -3
  43. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +55 -4
  44. data/rbi/metronome_sdk/models/spend_threshold_configuration.rbi +54 -3
  45. data/rbi/metronome_sdk/models/spend_threshold_configuration_v2.rbi +58 -9
  46. data/rbi/metronome_sdk/models/update_base_threshold_commit.rbi +22 -4
  47. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +5 -0
  48. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +3 -416
  49. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +5 -418
  50. data/rbi/metronome_sdk/models/v1/contract_list_seat_balances_params.rbi +179 -0
  51. data/rbi/metronome_sdk/models/v1/contract_list_seat_balances_response.rbi +714 -0
  52. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +74 -0
  53. data/rbi/metronome_sdk/models/v1/contracts/product_update_params.rbi +74 -0
  54. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +5 -0
  55. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +9 -0
  56. data/rbi/metronome_sdk/models/v1/customers/invoice_list_params.rbi +75 -0
  57. data/rbi/metronome_sdk/models/v1/package_create_params.rbi +3 -76
  58. data/rbi/metronome_sdk/models/v1/package_list_response.rbi +72 -15
  59. data/rbi/metronome_sdk/models/v1/package_retrieve_response.rbi +72 -17
  60. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +133 -28
  61. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1174 -145
  62. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +18 -0
  63. data/rbi/metronome_sdk/resources/v1/contracts.rbi +88 -3
  64. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +7 -0
  65. data/rbi/metronome_sdk/resources/v1/packages.rbi +0 -3
  66. data/sig/metronome_sdk/internal/util.rbs +4 -0
  67. data/sig/metronome_sdk/models/base_threshold_commit.rbs +13 -3
  68. data/sig/metronome_sdk/models/contract_v2.rbs +401 -16
  69. data/sig/metronome_sdk/models/credit.rbs +69 -0
  70. data/sig/metronome_sdk/models/override.rbs +8 -10
  71. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration.rbs +22 -3
  72. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbs +23 -4
  73. data/sig/metronome_sdk/models/spend_threshold_configuration.rbs +22 -3
  74. data/sig/metronome_sdk/models/spend_threshold_configuration_v2.rbs +26 -7
  75. data/sig/metronome_sdk/models/update_base_threshold_commit.rbs +15 -2
  76. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +3 -1
  77. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +3 -147
  78. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +3 -147
  79. data/sig/metronome_sdk/models/v1/contract_list_seat_balances_params.rbs +96 -0
  80. data/sig/metronome_sdk/models/v1/contract_list_seat_balances_response.rbs +299 -0
  81. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +20 -0
  82. data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +20 -0
  83. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +3 -1
  84. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +7 -0
  85. data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +29 -1
  86. data/sig/metronome_sdk/models/v1/package_create_params.rbs +3 -30
  87. data/sig/metronome_sdk/models/v1/package_list_response.rbs +33 -15
  88. data/sig/metronome_sdk/models/v1/package_retrieve_response.rbs +33 -15
  89. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +33 -10
  90. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +409 -19
  91. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +2 -0
  92. data/sig/metronome_sdk/resources/v1/contracts.rbs +15 -0
  93. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +2 -0
  94. data/sig/metronome_sdk/resources/v1/packages.rbs +0 -1
  95. metadata +8 -2
@@ -376,7 +376,6 @@ module MetronomeSDK
376
376
  invoice_schedule: MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule,
377
377
  name: String,
378
378
  netsuite_sales_order_id: String,
379
- payment_gate_config: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig,
380
379
  priority: Float,
381
380
  rate_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::rate_type,
382
381
  rollover_fraction: Float,
@@ -435,12 +434,6 @@ module MetronomeSDK
435
434
 
436
435
  def netsuite_sales_order_id=: (String) -> String
437
436
 
438
- attr_reader payment_gate_config: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig?
439
-
440
- def payment_gate_config=: (
441
- MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig
442
- ) -> MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig
443
-
444
437
  attr_reader priority: Float?
445
438
 
446
439
  def priority=: (Float) -> Float
@@ -478,7 +471,6 @@ module MetronomeSDK
478
471
  ?invoice_schedule: MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule,
479
472
  ?name: String,
480
473
  ?netsuite_sales_order_id: String,
481
- ?payment_gate_config: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig,
482
474
  ?priority: Float,
483
475
  ?rate_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::rate_type,
484
476
  ?rollover_fraction: Float,
@@ -499,7 +491,6 @@ module MetronomeSDK
499
491
  invoice_schedule: MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule,
500
492
  name: String,
501
493
  netsuite_sales_order_id: String,
502
- payment_gate_config: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig,
503
494
  priority: Float,
504
495
  rate_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::rate_type,
505
496
  rollover_fraction: Float,
@@ -725,134 +716,6 @@ module MetronomeSDK
725
716
  end
726
717
  end
727
718
 
728
- type payment_gate_config =
729
- {
730
- payment_gate_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::payment_gate_type,
731
- precalculated_tax_config: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::PrecalculatedTaxConfig,
732
- stripe_config: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig,
733
- tax_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::tax_type
734
- }
735
-
736
- class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
737
- attr_accessor payment_gate_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::payment_gate_type
738
-
739
- attr_reader precalculated_tax_config: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::PrecalculatedTaxConfig?
740
-
741
- def precalculated_tax_config=: (
742
- MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::PrecalculatedTaxConfig
743
- ) -> MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::PrecalculatedTaxConfig
744
-
745
- attr_reader stripe_config: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig?
746
-
747
- def stripe_config=: (
748
- MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig
749
- ) -> MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig
750
-
751
- attr_reader tax_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::tax_type?
752
-
753
- def tax_type=: (
754
- MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::tax_type
755
- ) -> MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::tax_type
756
-
757
- def initialize: (
758
- payment_gate_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::payment_gate_type,
759
- ?precalculated_tax_config: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::PrecalculatedTaxConfig,
760
- ?stripe_config: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig,
761
- ?tax_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::tax_type
762
- ) -> void
763
-
764
- def to_hash: -> {
765
- payment_gate_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::payment_gate_type,
766
- precalculated_tax_config: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::PrecalculatedTaxConfig,
767
- stripe_config: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig,
768
- tax_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::tax_type
769
- }
770
-
771
- type payment_gate_type = :NONE | :STRIPE | :EXTERNAL
772
-
773
- module PaymentGateType
774
- extend MetronomeSDK::Internal::Type::Enum
775
-
776
- NONE: :NONE
777
- STRIPE: :STRIPE
778
- EXTERNAL: :EXTERNAL
779
-
780
- def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::payment_gate_type]
781
- end
782
-
783
- type precalculated_tax_config =
784
- { tax_amount: Float, tax_name: String }
785
-
786
- class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
787
- attr_accessor tax_amount: Float
788
-
789
- attr_reader tax_name: String?
790
-
791
- def tax_name=: (String) -> String
792
-
793
- def initialize: (tax_amount: Float, ?tax_name: String) -> void
794
-
795
- def to_hash: -> { tax_amount: Float, tax_name: String }
796
- end
797
-
798
- type stripe_config =
799
- {
800
- payment_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig::payment_type,
801
- invoice_metadata: ::Hash[Symbol, String],
802
- on_session_payment: bool
803
- }
804
-
805
- class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
806
- attr_accessor payment_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig::payment_type
807
-
808
- attr_reader invoice_metadata: ::Hash[Symbol, String]?
809
-
810
- def invoice_metadata=: (
811
- ::Hash[Symbol, String]
812
- ) -> ::Hash[Symbol, String]
813
-
814
- attr_reader on_session_payment: bool?
815
-
816
- def on_session_payment=: (bool) -> bool
817
-
818
- def initialize: (
819
- payment_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig::payment_type,
820
- ?invoice_metadata: ::Hash[Symbol, String],
821
- ?on_session_payment: bool
822
- ) -> void
823
-
824
- def to_hash: -> {
825
- payment_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig::payment_type,
826
- invoice_metadata: ::Hash[Symbol, String],
827
- on_session_payment: bool
828
- }
829
-
830
- type payment_type = :INVOICE | :PAYMENT_INTENT
831
-
832
- module PaymentType
833
- extend MetronomeSDK::Internal::Type::Enum
834
-
835
- INVOICE: :INVOICE
836
- PAYMENT_INTENT: :PAYMENT_INTENT
837
-
838
- def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig::payment_type]
839
- end
840
- end
841
-
842
- type tax_type = :NONE | :STRIPE | :ANROK | :PRECALCULATED
843
-
844
- module TaxType
845
- extend MetronomeSDK::Internal::Type::Enum
846
-
847
- NONE: :NONE
848
- STRIPE: :STRIPE
849
- ANROK: :ANROK
850
- PRECALCULATED: :PRECALCULATED
851
-
852
- def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::tax_type]
853
- end
854
- end
855
-
856
719
  type rate_type = :COMMIT_RATE | :LIST_RATE
857
720
 
858
721
  module RateType
@@ -1474,8 +1337,7 @@ module MetronomeSDK
1474
1337
  pricing_group_values: ::Hash[Symbol, String],
1475
1338
  product_id: String,
1476
1339
  product_tags: ::Array[String],
1477
- recurring_commit_ids: ::Array[String],
1478
- recurring_credit_ids: ::Array[String]
1340
+ recurring_commit_ids: ::Array[String]
1479
1341
  }
1480
1342
 
1481
1343
  class OverrideSpecifier < MetronomeSDK::Internal::Type::BaseModel
@@ -1513,10 +1375,6 @@ module MetronomeSDK
1513
1375
 
1514
1376
  def recurring_commit_ids=: (::Array[String]) -> ::Array[String]
1515
1377
 
1516
- attr_reader recurring_credit_ids: ::Array[String]?
1517
-
1518
- def recurring_credit_ids=: (::Array[String]) -> ::Array[String]
1519
-
1520
1378
  def initialize: (
1521
1379
  ?billing_frequency: MetronomeSDK::Models::V1::ContractCreateParams::Override::OverrideSpecifier::billing_frequency,
1522
1380
  ?commit_ids: ::Array[String],
@@ -1524,8 +1382,7 @@ module MetronomeSDK
1524
1382
  ?pricing_group_values: ::Hash[Symbol, String],
1525
1383
  ?product_id: String,
1526
1384
  ?product_tags: ::Array[String],
1527
- ?recurring_commit_ids: ::Array[String],
1528
- ?recurring_credit_ids: ::Array[String]
1385
+ ?recurring_commit_ids: ::Array[String]
1529
1386
  ) -> void
1530
1387
 
1531
1388
  def to_hash: -> {
@@ -1535,8 +1392,7 @@ module MetronomeSDK
1535
1392
  pricing_group_values: ::Hash[Symbol, String],
1536
1393
  product_id: String,
1537
1394
  product_tags: ::Array[String],
1538
- recurring_commit_ids: ::Array[String],
1539
- recurring_credit_ids: ::Array[String]
1395
+ recurring_commit_ids: ::Array[String]
1540
1396
  }
1541
1397
 
1542
1398
  type billing_frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
@@ -0,0 +1,96 @@
1
+ module MetronomeSDK
2
+ module Models
3
+ module V1
4
+ type contract_list_seat_balances_params =
5
+ {
6
+ contract_id: String,
7
+ customer_id: String,
8
+ covering_date: Time,
9
+ cursor: String,
10
+ effective_before: Time,
11
+ include_credits_and_commits: bool,
12
+ include_ledgers: bool,
13
+ limit: Integer,
14
+ seat_ids: ::Array[String],
15
+ starting_at: Time,
16
+ subscription_ids: ::Array[String]
17
+ }
18
+ & MetronomeSDK::Internal::Type::request_parameters
19
+
20
+ class ContractListSeatBalancesParams < MetronomeSDK::Internal::Type::BaseModel
21
+ extend MetronomeSDK::Internal::Type::RequestParameters::Converter
22
+ include MetronomeSDK::Internal::Type::RequestParameters
23
+
24
+ attr_accessor contract_id: String
25
+
26
+ attr_accessor customer_id: String
27
+
28
+ attr_reader covering_date: Time?
29
+
30
+ def covering_date=: (Time) -> Time
31
+
32
+ attr_reader cursor: String?
33
+
34
+ def cursor=: (String) -> String
35
+
36
+ attr_reader effective_before: Time?
37
+
38
+ def effective_before=: (Time) -> Time
39
+
40
+ attr_reader include_credits_and_commits: bool?
41
+
42
+ def include_credits_and_commits=: (bool) -> bool
43
+
44
+ attr_reader include_ledgers: bool?
45
+
46
+ def include_ledgers=: (bool) -> bool
47
+
48
+ attr_reader limit: Integer?
49
+
50
+ def limit=: (Integer) -> Integer
51
+
52
+ attr_reader seat_ids: ::Array[String]?
53
+
54
+ def seat_ids=: (::Array[String]) -> ::Array[String]
55
+
56
+ attr_reader starting_at: Time?
57
+
58
+ def starting_at=: (Time) -> Time
59
+
60
+ attr_reader subscription_ids: ::Array[String]?
61
+
62
+ def subscription_ids=: (::Array[String]) -> ::Array[String]
63
+
64
+ def initialize: (
65
+ contract_id: String,
66
+ customer_id: String,
67
+ ?covering_date: Time,
68
+ ?cursor: String,
69
+ ?effective_before: Time,
70
+ ?include_credits_and_commits: bool,
71
+ ?include_ledgers: bool,
72
+ ?limit: Integer,
73
+ ?seat_ids: ::Array[String],
74
+ ?starting_at: Time,
75
+ ?subscription_ids: ::Array[String],
76
+ ?request_options: MetronomeSDK::request_opts
77
+ ) -> void
78
+
79
+ def to_hash: -> {
80
+ contract_id: String,
81
+ customer_id: String,
82
+ covering_date: Time,
83
+ cursor: String,
84
+ effective_before: Time,
85
+ include_credits_and_commits: bool,
86
+ include_ledgers: bool,
87
+ limit: Integer,
88
+ seat_ids: ::Array[String],
89
+ starting_at: Time,
90
+ subscription_ids: ::Array[String],
91
+ request_options: MetronomeSDK::RequestOptions
92
+ }
93
+ end
94
+ end
95
+ end
96
+ end
@@ -0,0 +1,299 @@
1
+ module MetronomeSDK
2
+ module Models
3
+ module V1
4
+ type contract_list_seat_balances_response =
5
+ {
6
+ data: ::Array[MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Data],
7
+ pagination: MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Pagination
8
+ }
9
+
10
+ class ContractListSeatBalancesResponse < MetronomeSDK::Internal::Type::BaseModel
11
+ attr_accessor data: ::Array[MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Data]
12
+
13
+ attr_accessor pagination: MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Pagination
14
+
15
+ def initialize: (
16
+ data: ::Array[MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Data],
17
+ pagination: MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Pagination
18
+ ) -> void
19
+
20
+ def to_hash: -> {
21
+ data: ::Array[MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Data],
22
+ pagination: MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Pagination
23
+ }
24
+
25
+ type data =
26
+ {
27
+ balances: ::Array[MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Data::Balance],
28
+ seat_id: String,
29
+ commits: ::Array[MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Data::Commit]?,
30
+ credits: ::Array[MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Data::Credit]
31
+ }
32
+
33
+ class Data < MetronomeSDK::Internal::Type::BaseModel
34
+ attr_accessor balances: ::Array[MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Data::Balance]
35
+
36
+ attr_accessor seat_id: String
37
+
38
+ attr_accessor commits: ::Array[MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Data::Commit]?
39
+
40
+ attr_reader credits: ::Array[MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Data::Credit]?
41
+
42
+ def credits=: (
43
+ ::Array[MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Data::Credit]
44
+ ) -> ::Array[MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Data::Credit]
45
+
46
+ def initialize: (
47
+ balances: ::Array[MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Data::Balance],
48
+ seat_id: String,
49
+ ?commits: ::Array[MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Data::Commit]?,
50
+ ?credits: ::Array[MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Data::Credit]
51
+ ) -> void
52
+
53
+ def to_hash: -> {
54
+ balances: ::Array[MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Data::Balance],
55
+ seat_id: String,
56
+ commits: ::Array[MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Data::Commit]?,
57
+ credits: ::Array[MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Data::Credit]
58
+ }
59
+
60
+ type balance =
61
+ { balance: Float, credit_type_id: String, starting_balance: Float }
62
+
63
+ class Balance < MetronomeSDK::Internal::Type::BaseModel
64
+ attr_accessor balance: Float
65
+
66
+ attr_accessor credit_type_id: String
67
+
68
+ attr_accessor starting_balance: Float
69
+
70
+ def initialize: (
71
+ balance: Float,
72
+ credit_type_id: String,
73
+ starting_balance: Float
74
+ ) -> void
75
+
76
+ def to_hash: -> {
77
+ balance: Float,
78
+ credit_type_id: String,
79
+ starting_balance: Float
80
+ }
81
+ end
82
+
83
+ type commit =
84
+ {
85
+ id: String,
86
+ balance: Float,
87
+ start_date: Time,
88
+ end_date: Time?,
89
+ ledger_entries: ::Array[MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Data::Commit::LedgerEntry]
90
+ }
91
+
92
+ class Commit < MetronomeSDK::Internal::Type::BaseModel
93
+ attr_accessor id: String
94
+
95
+ attr_accessor balance: Float
96
+
97
+ attr_accessor start_date: Time
98
+
99
+ attr_accessor end_date: Time?
100
+
101
+ attr_reader ledger_entries: ::Array[MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Data::Commit::LedgerEntry]?
102
+
103
+ def ledger_entries=: (
104
+ ::Array[MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Data::Commit::LedgerEntry]
105
+ ) -> ::Array[MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Data::Commit::LedgerEntry]
106
+
107
+ def initialize: (
108
+ id: String,
109
+ balance: Float,
110
+ start_date: Time,
111
+ ?end_date: Time?,
112
+ ?ledger_entries: ::Array[MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Data::Commit::LedgerEntry]
113
+ ) -> void
114
+
115
+ def to_hash: -> {
116
+ id: String,
117
+ balance: Float,
118
+ start_date: Time,
119
+ end_date: Time?,
120
+ ledger_entries: ::Array[MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Data::Commit::LedgerEntry]
121
+ }
122
+
123
+ type ledger_entry =
124
+ {
125
+ amount: Float,
126
+ timestamp: Time,
127
+ type: MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Data::Commit::LedgerEntry::type_
128
+ }
129
+
130
+ class LedgerEntry < MetronomeSDK::Internal::Type::BaseModel
131
+ attr_accessor amount: Float
132
+
133
+ attr_accessor timestamp: Time
134
+
135
+ attr_accessor type: MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Data::Commit::LedgerEntry::type_
136
+
137
+ def initialize: (
138
+ amount: Float,
139
+ timestamp: Time,
140
+ type: MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Data::Commit::LedgerEntry::type_
141
+ ) -> void
142
+
143
+ def to_hash: -> {
144
+ amount: Float,
145
+ timestamp: Time,
146
+ type: MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Data::Commit::LedgerEntry::type_
147
+ }
148
+
149
+ type type_ =
150
+ :PREPAID_COMMIT_SEGMENT_START
151
+ | :PREPAID_COMMIT_AUTOMATED_INVOICE_DEDUCTION
152
+ | :PREPAID_COMMIT_ROLLOVER
153
+ | :PREPAID_COMMIT_EXPIRATION
154
+ | :PREPAID_COMMIT_CANCELED
155
+ | :PREPAID_COMMIT_CREDITED
156
+ | :PREPAID_COMMIT_MANUAL
157
+ | :PREPAID_COMMIT_SEAT_BASED_ADJUSTMENT
158
+
159
+ module Type
160
+ extend MetronomeSDK::Internal::Type::Enum
161
+
162
+ PREPAID_COMMIT_SEGMENT_START: :PREPAID_COMMIT_SEGMENT_START
163
+ PREPAID_COMMIT_AUTOMATED_INVOICE_DEDUCTION: :PREPAID_COMMIT_AUTOMATED_INVOICE_DEDUCTION
164
+ PREPAID_COMMIT_ROLLOVER: :PREPAID_COMMIT_ROLLOVER
165
+ PREPAID_COMMIT_EXPIRATION: :PREPAID_COMMIT_EXPIRATION
166
+ PREPAID_COMMIT_CANCELED: :PREPAID_COMMIT_CANCELED
167
+ PREPAID_COMMIT_CREDITED: :PREPAID_COMMIT_CREDITED
168
+ PREPAID_COMMIT_MANUAL: :PREPAID_COMMIT_MANUAL
169
+ PREPAID_COMMIT_SEAT_BASED_ADJUSTMENT: :PREPAID_COMMIT_SEAT_BASED_ADJUSTMENT
170
+
171
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Data::Commit::LedgerEntry::type_]
172
+ end
173
+ end
174
+ end
175
+
176
+ type credit =
177
+ {
178
+ id: String,
179
+ balance: Float,
180
+ start_date: Time,
181
+ end_date: Time?,
182
+ ledger_entries: ::Array[MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Data::Credit::LedgerEntry]
183
+ }
184
+
185
+ class Credit < MetronomeSDK::Internal::Type::BaseModel
186
+ attr_accessor id: String
187
+
188
+ attr_accessor balance: Float
189
+
190
+ attr_accessor start_date: Time
191
+
192
+ attr_accessor end_date: Time?
193
+
194
+ attr_reader ledger_entries: ::Array[MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Data::Credit::LedgerEntry]?
195
+
196
+ def ledger_entries=: (
197
+ ::Array[MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Data::Credit::LedgerEntry]
198
+ ) -> ::Array[MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Data::Credit::LedgerEntry]
199
+
200
+ def initialize: (
201
+ id: String,
202
+ balance: Float,
203
+ start_date: Time,
204
+ ?end_date: Time?,
205
+ ?ledger_entries: ::Array[MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Data::Credit::LedgerEntry]
206
+ ) -> void
207
+
208
+ def to_hash: -> {
209
+ id: String,
210
+ balance: Float,
211
+ start_date: Time,
212
+ end_date: Time?,
213
+ ledger_entries: ::Array[MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Data::Credit::LedgerEntry]
214
+ }
215
+
216
+ type ledger_entry =
217
+ {
218
+ amount: Float,
219
+ timestamp: Time,
220
+ type: MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Data::Credit::LedgerEntry::type_
221
+ }
222
+
223
+ class LedgerEntry < MetronomeSDK::Internal::Type::BaseModel
224
+ attr_accessor amount: Float
225
+
226
+ attr_accessor timestamp: Time
227
+
228
+ attr_accessor type: MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Data::Credit::LedgerEntry::type_
229
+
230
+ def initialize: (
231
+ amount: Float,
232
+ timestamp: Time,
233
+ type: MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Data::Credit::LedgerEntry::type_
234
+ ) -> void
235
+
236
+ def to_hash: -> {
237
+ amount: Float,
238
+ timestamp: Time,
239
+ type: MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Data::Credit::LedgerEntry::type_
240
+ }
241
+
242
+ type type_ =
243
+ :CREDIT_SEGMENT_START
244
+ | :CREDIT_AUTOMATED_INVOICE_DEDUCTION
245
+ | :CREDIT_EXPIRATION
246
+ | :CREDIT_CANCELED
247
+ | :CREDIT_CREDITED
248
+ | :CREDIT_MANUAL
249
+ | :CREDIT_SEAT_BASED_ADJUSTMENT
250
+ | :CREDIT_ROLLOVER
251
+
252
+ module Type
253
+ extend MetronomeSDK::Internal::Type::Enum
254
+
255
+ CREDIT_SEGMENT_START: :CREDIT_SEGMENT_START
256
+ CREDIT_AUTOMATED_INVOICE_DEDUCTION: :CREDIT_AUTOMATED_INVOICE_DEDUCTION
257
+ CREDIT_EXPIRATION: :CREDIT_EXPIRATION
258
+ CREDIT_CANCELED: :CREDIT_CANCELED
259
+ CREDIT_CREDITED: :CREDIT_CREDITED
260
+ CREDIT_MANUAL: :CREDIT_MANUAL
261
+ CREDIT_SEAT_BASED_ADJUSTMENT: :CREDIT_SEAT_BASED_ADJUSTMENT
262
+ CREDIT_ROLLOVER: :CREDIT_ROLLOVER
263
+
264
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractListSeatBalancesResponse::Data::Credit::LedgerEntry::type_]
265
+ end
266
+ end
267
+ end
268
+ end
269
+
270
+ type pagination =
271
+ {
272
+ seats_available_for_next_page: Float,
273
+ seats_included: Float,
274
+ next_page: String?
275
+ }
276
+
277
+ class Pagination < MetronomeSDK::Internal::Type::BaseModel
278
+ attr_accessor seats_available_for_next_page: Float
279
+
280
+ attr_accessor seats_included: Float
281
+
282
+ attr_accessor next_page: String?
283
+
284
+ def initialize: (
285
+ seats_available_for_next_page: Float,
286
+ seats_included: Float,
287
+ ?next_page: String?
288
+ ) -> void
289
+
290
+ def to_hash: -> {
291
+ seats_available_for_next_page: Float,
292
+ seats_included: Float,
293
+ next_page: String?
294
+ }
295
+ end
296
+ end
297
+ end
298
+ end
299
+ end
@@ -18,6 +18,7 @@ module MetronomeSDK
18
18
  pricing_group_key: ::Array[String],
19
19
  quantity_conversion: MetronomeSDK::V1::Contracts::QuantityConversion?,
20
20
  quantity_rounding: MetronomeSDK::V1::Contracts::QuantityRounding?,
21
+ sql_breakdown_granularity: MetronomeSDK::Models::V1::Contracts::ProductCreateParams::sql_breakdown_granularity,
21
22
  tags: ::Array[String]
22
23
  }
23
24
  & MetronomeSDK::Internal::Type::request_parameters
@@ -74,6 +75,12 @@ module MetronomeSDK
74
75
 
75
76
  attr_accessor quantity_rounding: MetronomeSDK::V1::Contracts::QuantityRounding?
76
77
 
78
+ attr_reader sql_breakdown_granularity: MetronomeSDK::Models::V1::Contracts::ProductCreateParams::sql_breakdown_granularity?
79
+
80
+ def sql_breakdown_granularity=: (
81
+ MetronomeSDK::Models::V1::Contracts::ProductCreateParams::sql_breakdown_granularity
82
+ ) -> MetronomeSDK::Models::V1::Contracts::ProductCreateParams::sql_breakdown_granularity
83
+
77
84
  attr_reader tags: ::Array[String]?
78
85
 
79
86
  def tags=: (::Array[String]) -> ::Array[String]
@@ -93,6 +100,7 @@ module MetronomeSDK
93
100
  ?pricing_group_key: ::Array[String],
94
101
  ?quantity_conversion: MetronomeSDK::V1::Contracts::QuantityConversion?,
95
102
  ?quantity_rounding: MetronomeSDK::V1::Contracts::QuantityRounding?,
103
+ ?sql_breakdown_granularity: MetronomeSDK::Models::V1::Contracts::ProductCreateParams::sql_breakdown_granularity,
96
104
  ?tags: ::Array[String],
97
105
  ?request_options: MetronomeSDK::request_opts
98
106
  ) -> void
@@ -112,6 +120,7 @@ module MetronomeSDK
112
120
  pricing_group_key: ::Array[String],
113
121
  quantity_conversion: MetronomeSDK::V1::Contracts::QuantityConversion?,
114
122
  quantity_rounding: MetronomeSDK::V1::Contracts::QuantityRounding?,
123
+ sql_breakdown_granularity: MetronomeSDK::Models::V1::Contracts::ProductCreateParams::sql_breakdown_granularity,
115
124
  tags: ::Array[String],
116
125
  request_options: MetronomeSDK::RequestOptions
117
126
  }
@@ -136,6 +145,17 @@ module MetronomeSDK
136
145
 
137
146
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::Contracts::ProductCreateParams::type_]
138
147
  end
148
+
149
+ type sql_breakdown_granularity = :HOUR | :SERVICE_PERIOD
150
+
151
+ module SqlBreakdownGranularity
152
+ extend MetronomeSDK::Internal::Type::Enum
153
+
154
+ HOUR: :HOUR
155
+ SERVICE_PERIOD: :SERVICE_PERIOD
156
+
157
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::Contracts::ProductCreateParams::sql_breakdown_granularity]
158
+ end
139
159
  end
140
160
  end
141
161
  end