metronome-sdk 0.1.0 → 0.2.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 (49) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/internal/transport/base_client.rb +1 -1
  5. data/lib/metronome_sdk/models/commit.rb +35 -5
  6. data/lib/metronome_sdk/models/contract_without_amendments.rb +128 -2
  7. data/lib/metronome_sdk/models/credit.rb +21 -3
  8. data/lib/metronome_sdk/models/v1/alert_create_params.rb +9 -11
  9. data/lib/metronome_sdk/models/v1/contract_create_params.rb +159 -12
  10. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +29 -1
  11. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +2 -0
  12. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +2 -0
  13. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +2 -0
  14. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +183 -24
  15. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +570 -14
  16. data/lib/metronome_sdk/models/v2/contract_list_response.rb +194 -17
  17. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +194 -17
  18. data/lib/metronome_sdk/resources/v1/alerts.rb +2 -2
  19. data/lib/metronome_sdk/version.rb +1 -1
  20. data/rbi/metronome_sdk/internal/transport/base_client.rbi +1 -1
  21. data/rbi/metronome_sdk/models/commit.rbi +89 -15
  22. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +304 -6
  23. data/rbi/metronome_sdk/models/credit.rbi +54 -9
  24. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +16 -18
  25. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +349 -15
  26. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +60 -0
  27. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +10 -0
  28. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +4 -0
  29. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +4 -0
  30. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +385 -27
  31. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1532 -42
  32. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +431 -37
  33. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +431 -37
  34. data/rbi/metronome_sdk/resources/v1/alerts.rbi +5 -5
  35. data/rbi/metronome_sdk/resources/v2/contracts.rbi +4 -0
  36. data/sig/metronome_sdk/internal/transport/base_client.rbs +1 -1
  37. data/sig/metronome_sdk/models/commit.rbs +50 -15
  38. data/sig/metronome_sdk/models/contract_without_amendments.rbs +120 -6
  39. data/sig/metronome_sdk/models/credit.rbs +30 -9
  40. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +9 -9
  41. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +130 -3
  42. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +21 -0
  43. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +4 -0
  44. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +130 -3
  45. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +612 -6
  46. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +205 -30
  47. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +205 -30
  48. data/sig/metronome_sdk/resources/v1/alerts.rbs +1 -1
  49. metadata +2 -2
@@ -765,12 +765,18 @@ module MetronomeSDK
765
765
  required :type,
766
766
  enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type }
767
767
 
768
- # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
768
+ # @!attribute contract_id
769
+ #
770
+ # @return [String, nil]
771
+ optional :contract_id, String
772
+
773
+ # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:, contract_id: nil)
769
774
  # @param amount [Float]
770
775
  # @param invoice_id [String]
771
776
  # @param segment_id [String]
772
777
  # @param timestamp [Time]
773
778
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
779
+ # @param contract_id [String]
774
780
 
775
781
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry#type
776
782
  module Type
@@ -894,12 +900,18 @@ module MetronomeSDK
894
900
  required :type,
895
901
  enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type }
896
902
 
897
- # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
903
+ # @!attribute contract_id
904
+ #
905
+ # @return [String, nil]
906
+ optional :contract_id, String
907
+
908
+ # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:, contract_id: nil)
898
909
  # @param amount [Float]
899
910
  # @param invoice_id [String]
900
911
  # @param segment_id [String]
901
912
  # @param timestamp [Time]
902
913
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type]
914
+ # @param contract_id [String]
903
915
 
904
916
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry#type
905
917
  module Type
@@ -939,12 +951,18 @@ module MetronomeSDK
939
951
  required :type,
940
952
  enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type }
941
953
 
942
- # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
954
+ # @!attribute contract_id
955
+ #
956
+ # @return [String, nil]
957
+ optional :contract_id, String
958
+
959
+ # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:, contract_id: nil)
943
960
  # @param amount [Float]
944
961
  # @param invoice_id [String]
945
962
  # @param segment_id [String]
946
963
  # @param timestamp [Time]
947
964
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type]
965
+ # @param contract_id [String]
948
966
 
949
967
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry#type
950
968
  module Type
@@ -1056,12 +1074,18 @@ module MetronomeSDK
1056
1074
  required :type,
1057
1075
  enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type }
1058
1076
 
1059
- # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
1077
+ # @!attribute contract_id
1078
+ #
1079
+ # @return [String, nil]
1080
+ optional :contract_id, String
1081
+
1082
+ # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:, contract_id: nil)
1060
1083
  # @param amount [Float]
1061
1084
  # @param invoice_id [String]
1062
1085
  # @param segment_id [String]
1063
1086
  # @param timestamp [Time]
1064
1087
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
1088
+ # @param contract_id [String]
1065
1089
 
1066
1090
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry#type
1067
1091
  module Type
@@ -1141,11 +1165,17 @@ module MetronomeSDK
1141
1165
  required :type,
1142
1166
  enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type }
1143
1167
 
1144
- # @!method initialize(amount:, invoice_id:, timestamp:, type:)
1168
+ # @!attribute contract_id
1169
+ #
1170
+ # @return [String, nil]
1171
+ optional :contract_id, String
1172
+
1173
+ # @!method initialize(amount:, invoice_id:, timestamp:, type:, contract_id: nil)
1145
1174
  # @param amount [Float]
1146
1175
  # @param invoice_id [String]
1147
1176
  # @param timestamp [Time]
1148
1177
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type]
1178
+ # @param contract_id [String]
1149
1179
 
1150
1180
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry#type
1151
1181
  module Type
@@ -2111,12 +2141,18 @@ module MetronomeSDK
2111
2141
  required :type,
2112
2142
  enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type }
2113
2143
 
2114
- # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
2144
+ # @!attribute contract_id
2145
+ #
2146
+ # @return [String, nil]
2147
+ optional :contract_id, String
2148
+
2149
+ # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:, contract_id: nil)
2115
2150
  # @param amount [Float]
2116
2151
  # @param invoice_id [String]
2117
2152
  # @param segment_id [String]
2118
2153
  # @param timestamp [Time]
2119
2154
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type]
2155
+ # @param contract_id [String]
2120
2156
 
2121
2157
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry#type
2122
2158
  module Type
@@ -2195,12 +2231,18 @@ module MetronomeSDK
2195
2231
  required :type,
2196
2232
  enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type }
2197
2233
 
2198
- # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
2234
+ # @!attribute contract_id
2235
+ #
2236
+ # @return [String, nil]
2237
+ optional :contract_id, String
2238
+
2239
+ # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:, contract_id: nil)
2199
2240
  # @param amount [Float]
2200
2241
  # @param invoice_id [String]
2201
2242
  # @param segment_id [String]
2202
2243
  # @param timestamp [Time]
2203
2244
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type]
2245
+ # @param contract_id [String]
2204
2246
 
2205
2247
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry#type
2206
2248
  module Type
@@ -2240,12 +2282,18 @@ module MetronomeSDK
2240
2282
  required :type,
2241
2283
  enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type }
2242
2284
 
2243
- # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
2285
+ # @!attribute contract_id
2286
+ #
2287
+ # @return [String, nil]
2288
+ optional :contract_id, String
2289
+
2290
+ # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:, contract_id: nil)
2244
2291
  # @param amount [Float]
2245
2292
  # @param invoice_id [String]
2246
2293
  # @param segment_id [String]
2247
2294
  # @param timestamp [Time]
2248
2295
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type]
2296
+ # @param contract_id [String]
2249
2297
 
2250
2298
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry#type
2251
2299
  module Type
@@ -2381,6 +2429,12 @@ module MetronomeSDK
2381
2429
 
2382
2430
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data#customer_billing_provider_configuration
2383
2431
  class CustomerBillingProviderConfiguration < MetronomeSDK::Internal::Type::BaseModel
2432
+ # @!attribute id
2433
+ # ID of Customer's billing provider configuration.
2434
+ #
2435
+ # @return [String]
2436
+ required :id, String
2437
+
2384
2438
  # @!attribute billing_provider
2385
2439
  #
2386
2440
  # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::CustomerBillingProviderConfiguration::BillingProvider]
@@ -2393,10 +2447,13 @@ module MetronomeSDK
2393
2447
  required :delivery_method,
2394
2448
  enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::CustomerBillingProviderConfiguration::DeliveryMethod }
2395
2449
 
2396
- # @!method initialize(billing_provider:, delivery_method:)
2450
+ # @!method initialize(id:, billing_provider:, delivery_method:)
2397
2451
  # This field's availability is dependent on your client's configuration.
2398
2452
  #
2453
+ # @param id [String] ID of Customer's billing provider configuration.
2454
+ #
2399
2455
  # @param billing_provider [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::CustomerBillingProviderConfiguration::BillingProvider]
2456
+ #
2400
2457
  # @param delivery_method [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::CustomerBillingProviderConfiguration::DeliveryMethod]
2401
2458
 
2402
2459
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::CustomerBillingProviderConfiguration#billing_provider
@@ -2656,6 +2713,8 @@ module MetronomeSDK
2656
2713
  # or credit. A customer's usage needs to meet the condition of at least one of the
2657
2714
  # specifiers to contribute to a commit's or credit's drawdown. This field cannot
2658
2715
  # be used together with `applicable_product_ids` or `applicable_product_tags`.
2716
+ # Instead, to target usage by product or product tag, pass those values in the
2717
+ # body of `specifiers`.
2659
2718
  #
2660
2719
  # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::Specifier>, nil]
2661
2720
  optional :specifiers,
@@ -2950,7 +3009,7 @@ module MetronomeSDK
2950
3009
  optional :ending_before, Time
2951
3010
 
2952
3011
  # @!attribute hierarchy_configuration
2953
- # Optional configuration for recurring commit/credit hierarchy access control
3012
+ # Optional configuration for recurring credit hierarchy access control
2954
3013
  #
2955
3014
  # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::HierarchyConfiguration, nil]
2956
3015
  optional :hierarchy_configuration,
@@ -3011,7 +3070,14 @@ module MetronomeSDK
3011
3070
  optional :specifiers,
3012
3071
  -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::Specifier] }
3013
3072
 
3014
- # @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, contract: nil, description: nil, ending_before: nil, hierarchy_configuration: nil, invoice_amount: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil)
3073
+ # @!attribute subscription_config
3074
+ # Attach a subscription to the recurring commit/credit.
3075
+ #
3076
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::SubscriptionConfig, nil]
3077
+ optional :subscription_config,
3078
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::SubscriptionConfig }
3079
+
3080
+ # @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, contract: nil, description: nil, ending_before: nil, hierarchy_configuration: nil, invoice_amount: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil, subscription_config: nil)
3015
3081
  # Some parameter documentations has been truncated, see
3016
3082
  # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit} for
3017
3083
  # more details.
@@ -3040,7 +3106,7 @@ module MetronomeSDK
3040
3106
  #
3041
3107
  # @param ending_before [Time] Determines when the contract will stop creating recurring commits. Optional
3042
3108
  #
3043
- # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::HierarchyConfiguration] Optional configuration for recurring commit/credit hierarchy access control
3109
+ # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::HierarchyConfiguration] Optional configuration for recurring credit hierarchy access control
3044
3110
  #
3045
3111
  # @param invoice_amount [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::InvoiceAmount] The amount the customer should be billed for the commit. Not required.
3046
3112
  #
@@ -3055,6 +3121,8 @@ module MetronomeSDK
3055
3121
  # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
3056
3122
  #
3057
3123
  # @param specifiers [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
3124
+ #
3125
+ # @param subscription_config [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::SubscriptionConfig] Attach a subscription to the recurring commit/credit.
3058
3126
 
3059
3127
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit#access_amount
3060
3128
  class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
@@ -3161,7 +3229,7 @@ module MetronomeSDK
3161
3229
  union: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess }
3162
3230
 
3163
3231
  # @!method initialize(child_access:)
3164
- # Optional configuration for recurring commit/credit hierarchy access control
3232
+ # Optional configuration for recurring credit hierarchy access control
3165
3233
  #
3166
3234
  # @param child_access [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
3167
3235
 
@@ -3346,6 +3414,56 @@ module MetronomeSDK
3346
3414
  #
3347
3415
  # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
3348
3416
  end
3417
+
3418
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit#subscription_config
3419
+ class SubscriptionConfig < MetronomeSDK::Internal::Type::BaseModel
3420
+ # @!attribute allocation
3421
+ #
3422
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::SubscriptionConfig::Allocation]
3423
+ required :allocation,
3424
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::SubscriptionConfig::Allocation }
3425
+
3426
+ # @!attribute apply_seat_increase_config
3427
+ #
3428
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig]
3429
+ required :apply_seat_increase_config,
3430
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig }
3431
+
3432
+ # @!attribute subscription_id
3433
+ #
3434
+ # @return [String]
3435
+ required :subscription_id, String
3436
+
3437
+ # @!method initialize(allocation:, apply_seat_increase_config:, subscription_id:)
3438
+ # Attach a subscription to the recurring commit/credit.
3439
+ #
3440
+ # @param allocation [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::SubscriptionConfig::Allocation]
3441
+ # @param apply_seat_increase_config [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig]
3442
+ # @param subscription_id [String]
3443
+
3444
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::SubscriptionConfig#allocation
3445
+ module Allocation
3446
+ extend MetronomeSDK::Internal::Type::Enum
3447
+
3448
+ INDIVIDUAL = :INDIVIDUAL
3449
+ POOLED = :POOLED
3450
+
3451
+ # @!method self.values
3452
+ # @return [Array<Symbol>]
3453
+ end
3454
+
3455
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::SubscriptionConfig#apply_seat_increase_config
3456
+ class ApplySeatIncreaseConfig < MetronomeSDK::Internal::Type::BaseModel
3457
+ # @!attribute is_prorated
3458
+ # Indicates whether a mid-period seat increase should be prorated.
3459
+ #
3460
+ # @return [Boolean]
3461
+ required :is_prorated, MetronomeSDK::Internal::Type::Boolean
3462
+
3463
+ # @!method initialize(is_prorated:)
3464
+ # @param is_prorated [Boolean] Indicates whether a mid-period seat increase should be prorated.
3465
+ end
3466
+ end
3349
3467
  end
3350
3468
 
3351
3469
  class RecurringCredit < MetronomeSDK::Internal::Type::BaseModel
@@ -3424,7 +3542,7 @@ module MetronomeSDK
3424
3542
  optional :ending_before, Time
3425
3543
 
3426
3544
  # @!attribute hierarchy_configuration
3427
- # Optional configuration for recurring commit/credit hierarchy access control
3545
+ # Optional configuration for recurring credit hierarchy access control
3428
3546
  #
3429
3547
  # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::HierarchyConfiguration, nil]
3430
3548
  optional :hierarchy_configuration,
@@ -3478,7 +3596,14 @@ module MetronomeSDK
3478
3596
  optional :specifiers,
3479
3597
  -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::Specifier] }
3480
3598
 
3481
- # @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, contract: nil, description: nil, ending_before: nil, hierarchy_configuration: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil)
3599
+ # @!attribute subscription_config
3600
+ # Attach a subscription to the recurring commit/credit.
3601
+ #
3602
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::SubscriptionConfig, nil]
3603
+ optional :subscription_config,
3604
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::SubscriptionConfig }
3605
+
3606
+ # @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, contract: nil, description: nil, ending_before: nil, hierarchy_configuration: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil, subscription_config: nil)
3482
3607
  # Some parameter documentations has been truncated, see
3483
3608
  # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit} for
3484
3609
  # more details.
@@ -3507,7 +3632,7 @@ module MetronomeSDK
3507
3632
  #
3508
3633
  # @param ending_before [Time] Determines when the contract will stop creating recurring commits. Optional
3509
3634
  #
3510
- # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::HierarchyConfiguration] Optional configuration for recurring commit/credit hierarchy access control
3635
+ # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::HierarchyConfiguration] Optional configuration for recurring credit hierarchy access control
3511
3636
  #
3512
3637
  # @param name [String] Displayed on invoices. Will be passed through to the individual commits
3513
3638
  #
@@ -3520,6 +3645,8 @@ module MetronomeSDK
3520
3645
  # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
3521
3646
  #
3522
3647
  # @param specifiers [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
3648
+ #
3649
+ # @param subscription_config [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::SubscriptionConfig] Attach a subscription to the recurring commit/credit.
3523
3650
 
3524
3651
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit#access_amount
3525
3652
  class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
@@ -3626,7 +3753,7 @@ module MetronomeSDK
3626
3753
  union: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess }
3627
3754
 
3628
3755
  # @!method initialize(child_access:)
3629
- # Optional configuration for recurring commit/credit hierarchy access control
3756
+ # Optional configuration for recurring credit hierarchy access control
3630
3757
  #
3631
3758
  # @param child_access [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
3632
3759
 
@@ -3786,6 +3913,56 @@ module MetronomeSDK
3786
3913
  #
3787
3914
  # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
3788
3915
  end
3916
+
3917
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit#subscription_config
3918
+ class SubscriptionConfig < MetronomeSDK::Internal::Type::BaseModel
3919
+ # @!attribute allocation
3920
+ #
3921
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::SubscriptionConfig::Allocation]
3922
+ required :allocation,
3923
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::SubscriptionConfig::Allocation }
3924
+
3925
+ # @!attribute apply_seat_increase_config
3926
+ #
3927
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig]
3928
+ required :apply_seat_increase_config,
3929
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig }
3930
+
3931
+ # @!attribute subscription_id
3932
+ #
3933
+ # @return [String]
3934
+ required :subscription_id, String
3935
+
3936
+ # @!method initialize(allocation:, apply_seat_increase_config:, subscription_id:)
3937
+ # Attach a subscription to the recurring commit/credit.
3938
+ #
3939
+ # @param allocation [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::SubscriptionConfig::Allocation]
3940
+ # @param apply_seat_increase_config [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig]
3941
+ # @param subscription_id [String]
3942
+
3943
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::SubscriptionConfig#allocation
3944
+ module Allocation
3945
+ extend MetronomeSDK::Internal::Type::Enum
3946
+
3947
+ INDIVIDUAL = :INDIVIDUAL
3948
+ POOLED = :POOLED
3949
+
3950
+ # @!method self.values
3951
+ # @return [Array<Symbol>]
3952
+ end
3953
+
3954
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::SubscriptionConfig#apply_seat_increase_config
3955
+ class ApplySeatIncreaseConfig < MetronomeSDK::Internal::Type::BaseModel
3956
+ # @!attribute is_prorated
3957
+ # Indicates whether a mid-period seat increase should be prorated.
3958
+ #
3959
+ # @return [Boolean]
3960
+ required :is_prorated, MetronomeSDK::Internal::Type::Boolean
3961
+
3962
+ # @!method initialize(is_prorated:)
3963
+ # @param is_prorated [Boolean] Indicates whether a mid-period seat increase should be prorated.
3964
+ end
3965
+ end
3789
3966
  end
3790
3967
 
3791
3968
  class ResellerRoyalty < MetronomeSDK::Internal::Type::BaseModel
@@ -9,7 +9,7 @@ module MetronomeSDK
9
9
  #
10
10
  # Create a new alert
11
11
  #
12
- # @overload create(alert_type:, name:, threshold:, billable_metric_id: nil, credit_grant_type_filters: nil, credit_type_id: nil, custom_field_filters: nil, customer_id: nil, evaluate_on_create: nil, group_key_filter: nil, invoice_types_filter: nil, plan_id: nil, uniqueness_key: nil, request_options: {})
12
+ # @overload create(alert_type:, name:, threshold:, billable_metric_id: nil, credit_grant_type_filters: nil, credit_type_id: nil, custom_field_filters: nil, customer_id: nil, evaluate_on_create: nil, group_values: nil, invoice_types_filter: nil, plan_id: nil, uniqueness_key: nil, request_options: {})
13
13
  #
14
14
  # @param alert_type [Symbol, MetronomeSDK::Models::V1::AlertCreateParams::AlertType] Type of the alert
15
15
  #
@@ -29,7 +29,7 @@ module MetronomeSDK
29
29
  #
30
30
  # @param evaluate_on_create [Boolean] If true, the alert will evaluate immediately on customers that already meet the
31
31
  #
32
- # @param group_key_filter [MetronomeSDK::Models::V1::AlertCreateParams::GroupKeyFilter] Scopes alert evaluation to a specific presentation group key on individual line
32
+ # @param group_values [Array<MetronomeSDK::Models::V1::AlertCreateParams::GroupValue>] Only present for `spend_threshold_reached` alerts. Scope alert to a specific gro
33
33
  #
34
34
  # @param invoice_types_filter [Array<String>] Only supported for invoice_total_reached alerts. A list of invoice types to eval
35
35
  #
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module MetronomeSDK
4
- VERSION = "0.1.0"
4
+ VERSION = "0.2.0"
5
5
  end
@@ -221,7 +221,7 @@ module MetronomeSDK
221
221
  send_retry_header: T::Boolean
222
222
  ).returns([Integer, Net::HTTPResponse, T::Enumerable[String]])
223
223
  end
224
- private def send_request(
224
+ def send_request(
225
225
  request,
226
226
  redirect_count:,
227
227
  retry_count:,
@@ -860,6 +860,12 @@ module MetronomeSDK
860
860
  end
861
861
  attr_accessor :type
862
862
 
863
+ sig { returns(T.nilable(String)) }
864
+ attr_reader :contract_id
865
+
866
+ sig { params(contract_id: String).void }
867
+ attr_writer :contract_id
868
+
863
869
  sig do
864
870
  params(
865
871
  amount: Float,
@@ -867,10 +873,18 @@ module MetronomeSDK
867
873
  segment_id: String,
868
874
  timestamp: Time,
869
875
  type:
870
- MetronomeSDK::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::OrSymbol
876
+ MetronomeSDK::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::OrSymbol,
877
+ contract_id: String
871
878
  ).returns(T.attached_class)
872
879
  end
873
- def self.new(amount:, invoice_id:, segment_id:, timestamp:, type:)
880
+ def self.new(
881
+ amount:,
882
+ invoice_id:,
883
+ segment_id:,
884
+ timestamp:,
885
+ type:,
886
+ contract_id: nil
887
+ )
874
888
  end
875
889
 
876
890
  sig do
@@ -881,7 +895,8 @@ module MetronomeSDK
881
895
  segment_id: String,
882
896
  timestamp: Time,
883
897
  type:
884
- MetronomeSDK::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::TaggedSymbol
898
+ MetronomeSDK::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::TaggedSymbol,
899
+ contract_id: String
885
900
  }
886
901
  )
887
902
  end
@@ -1119,6 +1134,12 @@ module MetronomeSDK
1119
1134
  end
1120
1135
  attr_accessor :type
1121
1136
 
1137
+ sig { returns(T.nilable(String)) }
1138
+ attr_reader :contract_id
1139
+
1140
+ sig { params(contract_id: String).void }
1141
+ attr_writer :contract_id
1142
+
1122
1143
  sig do
1123
1144
  params(
1124
1145
  amount: Float,
@@ -1126,10 +1147,18 @@ module MetronomeSDK
1126
1147
  segment_id: String,
1127
1148
  timestamp: Time,
1128
1149
  type:
1129
- MetronomeSDK::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type::OrSymbol
1150
+ MetronomeSDK::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type::OrSymbol,
1151
+ contract_id: String
1130
1152
  ).returns(T.attached_class)
1131
1153
  end
1132
- def self.new(amount:, invoice_id:, segment_id:, timestamp:, type:)
1154
+ def self.new(
1155
+ amount:,
1156
+ invoice_id:,
1157
+ segment_id:,
1158
+ timestamp:,
1159
+ type:,
1160
+ contract_id: nil
1161
+ )
1133
1162
  end
1134
1163
 
1135
1164
  sig do
@@ -1140,7 +1169,8 @@ module MetronomeSDK
1140
1169
  segment_id: String,
1141
1170
  timestamp: Time,
1142
1171
  type:
1143
- MetronomeSDK::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type::TaggedSymbol
1172
+ MetronomeSDK::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type::TaggedSymbol,
1173
+ contract_id: String
1144
1174
  }
1145
1175
  )
1146
1176
  end
@@ -1205,6 +1235,12 @@ module MetronomeSDK
1205
1235
  end
1206
1236
  attr_accessor :type
1207
1237
 
1238
+ sig { returns(T.nilable(String)) }
1239
+ attr_reader :contract_id
1240
+
1241
+ sig { params(contract_id: String).void }
1242
+ attr_writer :contract_id
1243
+
1208
1244
  sig do
1209
1245
  params(
1210
1246
  amount: Float,
@@ -1212,10 +1248,18 @@ module MetronomeSDK
1212
1248
  segment_id: String,
1213
1249
  timestamp: Time,
1214
1250
  type:
1215
- MetronomeSDK::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type::OrSymbol
1251
+ MetronomeSDK::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type::OrSymbol,
1252
+ contract_id: String
1216
1253
  ).returns(T.attached_class)
1217
1254
  end
1218
- def self.new(amount:, invoice_id:, segment_id:, timestamp:, type:)
1255
+ def self.new(
1256
+ amount:,
1257
+ invoice_id:,
1258
+ segment_id:,
1259
+ timestamp:,
1260
+ type:,
1261
+ contract_id: nil
1262
+ )
1219
1263
  end
1220
1264
 
1221
1265
  sig do
@@ -1226,7 +1270,8 @@ module MetronomeSDK
1226
1270
  segment_id: String,
1227
1271
  timestamp: Time,
1228
1272
  type:
1229
- MetronomeSDK::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type::TaggedSymbol
1273
+ MetronomeSDK::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type::TaggedSymbol,
1274
+ contract_id: String
1230
1275
  }
1231
1276
  )
1232
1277
  end
@@ -1448,6 +1493,12 @@ module MetronomeSDK
1448
1493
  end
1449
1494
  attr_accessor :type
1450
1495
 
1496
+ sig { returns(T.nilable(String)) }
1497
+ attr_reader :contract_id
1498
+
1499
+ sig { params(contract_id: String).void }
1500
+ attr_writer :contract_id
1501
+
1451
1502
  sig do
1452
1503
  params(
1453
1504
  amount: Float,
@@ -1455,10 +1506,18 @@ module MetronomeSDK
1455
1506
  segment_id: String,
1456
1507
  timestamp: Time,
1457
1508
  type:
1458
- MetronomeSDK::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::OrSymbol
1509
+ MetronomeSDK::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::OrSymbol,
1510
+ contract_id: String
1459
1511
  ).returns(T.attached_class)
1460
1512
  end
1461
- def self.new(amount:, invoice_id:, segment_id:, timestamp:, type:)
1513
+ def self.new(
1514
+ amount:,
1515
+ invoice_id:,
1516
+ segment_id:,
1517
+ timestamp:,
1518
+ type:,
1519
+ contract_id: nil
1520
+ )
1462
1521
  end
1463
1522
 
1464
1523
  sig do
@@ -1469,7 +1528,8 @@ module MetronomeSDK
1469
1528
  segment_id: String,
1470
1529
  timestamp: Time,
1471
1530
  type:
1472
- MetronomeSDK::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::TaggedSymbol
1531
+ MetronomeSDK::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::TaggedSymbol,
1532
+ contract_id: String
1473
1533
  }
1474
1534
  )
1475
1535
  end
@@ -1623,16 +1683,29 @@ module MetronomeSDK
1623
1683
  end
1624
1684
  attr_accessor :type
1625
1685
 
1686
+ sig { returns(T.nilable(String)) }
1687
+ attr_reader :contract_id
1688
+
1689
+ sig { params(contract_id: String).void }
1690
+ attr_writer :contract_id
1691
+
1626
1692
  sig do
1627
1693
  params(
1628
1694
  amount: Float,
1629
1695
  invoice_id: String,
1630
1696
  timestamp: Time,
1631
1697
  type:
1632
- MetronomeSDK::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type::OrSymbol
1698
+ MetronomeSDK::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type::OrSymbol,
1699
+ contract_id: String
1633
1700
  ).returns(T.attached_class)
1634
1701
  end
1635
- def self.new(amount:, invoice_id:, timestamp:, type:)
1702
+ def self.new(
1703
+ amount:,
1704
+ invoice_id:,
1705
+ timestamp:,
1706
+ type:,
1707
+ contract_id: nil
1708
+ )
1636
1709
  end
1637
1710
 
1638
1711
  sig do
@@ -1642,7 +1715,8 @@ module MetronomeSDK
1642
1715
  invoice_id: String,
1643
1716
  timestamp: Time,
1644
1717
  type:
1645
- MetronomeSDK::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type::TaggedSymbol
1718
+ MetronomeSDK::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type::TaggedSymbol,
1719
+ contract_id: String
1646
1720
  }
1647
1721
  )
1648
1722
  end