metronome-sdk 3.7.0 → 3.8.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +38 -0
- data/README.md +1 -1
- data/lib/metronome_sdk/internal/transport/base_client.rb +4 -1
- data/lib/metronome_sdk/models/commit.rb +10 -1
- data/lib/metronome_sdk/models/contract_v2.rb +290 -7
- data/lib/metronome_sdk/models/contract_without_amendments.rb +178 -4
- data/lib/metronome_sdk/models/credit.rb +10 -1
- data/lib/metronome_sdk/models/override.rb +7 -1
- data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +10 -2
- data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +3 -1
- data/lib/metronome_sdk/models/subscription.rb +90 -2
- data/lib/metronome_sdk/models/v1/alert_create_params.rb +127 -1
- data/lib/metronome_sdk/models/v1/contract_amend_params.rb +17 -4
- data/lib/metronome_sdk/models/v1/contract_create_params.rb +290 -10
- data/lib/metronome_sdk/models/v1/contract_create_response.rb +178 -4
- data/lib/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rb +88 -0
- data/lib/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rb +62 -0
- data/lib/metronome_sdk/models/v1/contract_list_seat_balances_params.rb +10 -1
- data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +127 -1
- data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +130 -3
- data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +10 -1
- data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +2 -0
- data/lib/metronome_sdk/models/v1/package_create_params.rb +279 -10
- data/lib/metronome_sdk/models/v1/package_list_response.rb +264 -7
- data/lib/metronome_sdk/models/v1/package_retrieve_response.rb +264 -7
- data/lib/metronome_sdk/models/v2/contract_edit_params.rb +515 -9
- data/lib/metronome_sdk/models/v2/contract_edit_response.rb +456 -8
- data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +456 -8
- data/lib/metronome_sdk/resources/v1/alerts.rb +3 -1
- data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +4 -0
- data/lib/metronome_sdk/resources/v1/contracts.rb +68 -1
- data/lib/metronome_sdk/resources/v1/customers/alerts.rb +4 -2
- data/lib/metronome_sdk/resources/v1/customers/invoices.rb +3 -1
- data/lib/metronome_sdk/resources/v1/dashboards.rb +7 -2
- data/lib/metronome_sdk/version.rb +1 -1
- data/lib/metronome_sdk.rb +2 -0
- data/rbi/metronome_sdk/models/commit.rbi +13 -0
- data/rbi/metronome_sdk/models/contract_v2.rbi +715 -3
- data/rbi/metronome_sdk/models/contract_without_amendments.rbi +463 -0
- data/rbi/metronome_sdk/models/credit.rbi +13 -0
- data/rbi/metronome_sdk/models/override.rbi +9 -0
- data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +11 -1
- data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +4 -0
- data/rbi/metronome_sdk/models/subscription.rbi +212 -3
- data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +373 -0
- data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +27 -6
- data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +719 -9
- data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +463 -0
- data/rbi/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rbi +112 -0
- data/rbi/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rbi +119 -0
- data/rbi/metronome_sdk/models/v1/contract_list_seat_balances_params.rbi +13 -0
- data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +360 -0
- data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +379 -2
- data/rbi/metronome_sdk/models/v1/customers/invoice_list_params.rbi +13 -0
- data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +10 -0
- data/rbi/metronome_sdk/models/v1/package_create_params.rbi +706 -9
- data/rbi/metronome_sdk/models/v1/package_list_response.rbi +693 -3
- data/rbi/metronome_sdk/models/v1/package_retrieve_response.rbi +693 -3
- data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +1333 -40
- data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +1204 -67
- data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1204 -67
- data/rbi/metronome_sdk/resources/v1/alerts.rbi +8 -0
- data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +4 -0
- data/rbi/metronome_sdk/resources/v1/contracts.rbi +70 -0
- data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +8 -1
- data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +4 -0
- data/rbi/metronome_sdk/resources/v1/dashboards.rbi +7 -2
- data/sig/metronome_sdk/models/commit.rbs +7 -0
- data/sig/metronome_sdk/models/contract_v2.rbs +278 -5
- data/sig/metronome_sdk/models/contract_without_amendments.rbs +169 -2
- data/sig/metronome_sdk/models/credit.rbs +7 -0
- data/sig/metronome_sdk/models/override.rbs +7 -0
- data/sig/metronome_sdk/models/subscription.rbs +88 -3
- data/sig/metronome_sdk/models/v1/alert_create_params.rbs +144 -0
- data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +7 -0
- data/sig/metronome_sdk/models/v1/contract_create_params.rbs +278 -5
- data/sig/metronome_sdk/models/v1/contract_create_response.rbs +167 -2
- data/sig/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rbs +63 -0
- data/sig/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rbs +59 -0
- data/sig/metronome_sdk/models/v1/contract_list_seat_balances_params.rbs +7 -0
- data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +141 -0
- data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +150 -0
- data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +8 -1
- data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +4 -0
- data/sig/metronome_sdk/models/v1/package_create_params.rbs +271 -5
- data/sig/metronome_sdk/models/v1/package_list_response.rbs +265 -5
- data/sig/metronome_sdk/models/v1/package_retrieve_response.rbs +263 -5
- data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +468 -5
- data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +428 -5
- data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +427 -5
- data/sig/metronome_sdk/resources/v1/alerts.rbs +1 -0
- data/sig/metronome_sdk/resources/v1/contracts.rbs +13 -0
- data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +1 -0
- data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -0
- metadata +8 -2
|
@@ -73,6 +73,17 @@ module MetronomeSDK
|
|
|
73
73
|
sig { params(id: String).void }
|
|
74
74
|
attr_writer :id
|
|
75
75
|
|
|
76
|
+
sig { returns(T.nilable(MetronomeSDK::Subscription::BillingCycleConfig)) }
|
|
77
|
+
attr_reader :billing_cycle_config
|
|
78
|
+
|
|
79
|
+
sig do
|
|
80
|
+
params(
|
|
81
|
+
billing_cycle_config:
|
|
82
|
+
MetronomeSDK::Subscription::BillingCycleConfig::OrHash
|
|
83
|
+
).void
|
|
84
|
+
end
|
|
85
|
+
attr_writer :billing_cycle_config
|
|
86
|
+
|
|
76
87
|
# Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
|
|
77
88
|
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
78
89
|
attr_reader :custom_fields
|
|
@@ -126,6 +137,8 @@ module MetronomeSDK
|
|
|
126
137
|
subscription_rate:
|
|
127
138
|
MetronomeSDK::Subscription::SubscriptionRate::OrHash,
|
|
128
139
|
id: String,
|
|
140
|
+
billing_cycle_config:
|
|
141
|
+
MetronomeSDK::Subscription::BillingCycleConfig::OrHash,
|
|
129
142
|
custom_fields: T::Hash[Symbol, String],
|
|
130
143
|
description: String,
|
|
131
144
|
ending_before: Time,
|
|
@@ -155,6 +168,7 @@ module MetronomeSDK
|
|
|
155
168
|
starting_at:,
|
|
156
169
|
subscription_rate:,
|
|
157
170
|
id: nil,
|
|
171
|
+
billing_cycle_config: nil,
|
|
158
172
|
# Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
|
|
159
173
|
custom_fields: nil,
|
|
160
174
|
description: nil,
|
|
@@ -179,6 +193,8 @@ module MetronomeSDK
|
|
|
179
193
|
starting_at: Time,
|
|
180
194
|
subscription_rate: MetronomeSDK::Subscription::SubscriptionRate,
|
|
181
195
|
id: String,
|
|
196
|
+
billing_cycle_config:
|
|
197
|
+
MetronomeSDK::Subscription::BillingCycleConfig,
|
|
182
198
|
custom_fields: T::Hash[Symbol, String],
|
|
183
199
|
description: String,
|
|
184
200
|
ending_before: Time,
|
|
@@ -401,14 +417,27 @@ module MetronomeSDK
|
|
|
401
417
|
sig { returns(T::Boolean) }
|
|
402
418
|
attr_accessor :is_prorated
|
|
403
419
|
|
|
420
|
+
sig do
|
|
421
|
+
returns(T.nilable(MetronomeSDK::Subscription::Proration::Rounding))
|
|
422
|
+
end
|
|
423
|
+
attr_reader :rounding
|
|
424
|
+
|
|
425
|
+
sig do
|
|
426
|
+
params(
|
|
427
|
+
rounding: MetronomeSDK::Subscription::Proration::Rounding::OrHash
|
|
428
|
+
).void
|
|
429
|
+
end
|
|
430
|
+
attr_writer :rounding
|
|
431
|
+
|
|
404
432
|
sig do
|
|
405
433
|
params(
|
|
406
434
|
invoice_behavior:
|
|
407
435
|
MetronomeSDK::Subscription::Proration::InvoiceBehavior::OrSymbol,
|
|
408
|
-
is_prorated: T::Boolean
|
|
436
|
+
is_prorated: T::Boolean,
|
|
437
|
+
rounding: MetronomeSDK::Subscription::Proration::Rounding::OrHash
|
|
409
438
|
).returns(T.attached_class)
|
|
410
439
|
end
|
|
411
|
-
def self.new(invoice_behavior:, is_prorated:)
|
|
440
|
+
def self.new(invoice_behavior:, is_prorated:, rounding: nil)
|
|
412
441
|
end
|
|
413
442
|
|
|
414
443
|
sig do
|
|
@@ -416,7 +445,8 @@ module MetronomeSDK
|
|
|
416
445
|
{
|
|
417
446
|
invoice_behavior:
|
|
418
447
|
MetronomeSDK::Subscription::Proration::InvoiceBehavior::TaggedSymbol,
|
|
419
|
-
is_prorated: T::Boolean
|
|
448
|
+
is_prorated: T::Boolean,
|
|
449
|
+
rounding: MetronomeSDK::Subscription::Proration::Rounding
|
|
420
450
|
}
|
|
421
451
|
)
|
|
422
452
|
end
|
|
@@ -456,6 +486,98 @@ module MetronomeSDK
|
|
|
456
486
|
def self.values
|
|
457
487
|
end
|
|
458
488
|
end
|
|
489
|
+
|
|
490
|
+
class Rounding < MetronomeSDK::Internal::Type::BaseModel
|
|
491
|
+
OrHash =
|
|
492
|
+
T.type_alias do
|
|
493
|
+
T.any(
|
|
494
|
+
MetronomeSDK::Subscription::Proration::Rounding,
|
|
495
|
+
MetronomeSDK::Internal::AnyHash
|
|
496
|
+
)
|
|
497
|
+
end
|
|
498
|
+
|
|
499
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
500
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
501
|
+
# nearest 100 in the stored unit. For USD, this means rounding to the nearest
|
|
502
|
+
# dollar).
|
|
503
|
+
sig { returns(Float) }
|
|
504
|
+
attr_accessor :decimal_places
|
|
505
|
+
|
|
506
|
+
sig do
|
|
507
|
+
returns(
|
|
508
|
+
MetronomeSDK::Subscription::Proration::Rounding::RoundingMethod::TaggedSymbol
|
|
509
|
+
)
|
|
510
|
+
end
|
|
511
|
+
attr_accessor :rounding_method
|
|
512
|
+
|
|
513
|
+
sig do
|
|
514
|
+
params(
|
|
515
|
+
decimal_places: Float,
|
|
516
|
+
rounding_method:
|
|
517
|
+
MetronomeSDK::Subscription::Proration::Rounding::RoundingMethod::OrSymbol
|
|
518
|
+
).returns(T.attached_class)
|
|
519
|
+
end
|
|
520
|
+
def self.new(
|
|
521
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
522
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
523
|
+
# nearest 100 in the stored unit. For USD, this means rounding to the nearest
|
|
524
|
+
# dollar).
|
|
525
|
+
decimal_places:,
|
|
526
|
+
rounding_method:
|
|
527
|
+
)
|
|
528
|
+
end
|
|
529
|
+
|
|
530
|
+
sig do
|
|
531
|
+
override.returns(
|
|
532
|
+
{
|
|
533
|
+
decimal_places: Float,
|
|
534
|
+
rounding_method:
|
|
535
|
+
MetronomeSDK::Subscription::Proration::Rounding::RoundingMethod::TaggedSymbol
|
|
536
|
+
}
|
|
537
|
+
)
|
|
538
|
+
end
|
|
539
|
+
def to_hash
|
|
540
|
+
end
|
|
541
|
+
|
|
542
|
+
module RoundingMethod
|
|
543
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
544
|
+
|
|
545
|
+
TaggedSymbol =
|
|
546
|
+
T.type_alias do
|
|
547
|
+
T.all(
|
|
548
|
+
Symbol,
|
|
549
|
+
MetronomeSDK::Subscription::Proration::Rounding::RoundingMethod
|
|
550
|
+
)
|
|
551
|
+
end
|
|
552
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
553
|
+
|
|
554
|
+
HALF_UP =
|
|
555
|
+
T.let(
|
|
556
|
+
:HALF_UP,
|
|
557
|
+
MetronomeSDK::Subscription::Proration::Rounding::RoundingMethod::TaggedSymbol
|
|
558
|
+
)
|
|
559
|
+
FLOOR =
|
|
560
|
+
T.let(
|
|
561
|
+
:FLOOR,
|
|
562
|
+
MetronomeSDK::Subscription::Proration::Rounding::RoundingMethod::TaggedSymbol
|
|
563
|
+
)
|
|
564
|
+
CEILING =
|
|
565
|
+
T.let(
|
|
566
|
+
:CEILING,
|
|
567
|
+
MetronomeSDK::Subscription::Proration::Rounding::RoundingMethod::TaggedSymbol
|
|
568
|
+
)
|
|
569
|
+
|
|
570
|
+
sig do
|
|
571
|
+
override.returns(
|
|
572
|
+
T::Array[
|
|
573
|
+
MetronomeSDK::Subscription::Proration::Rounding::RoundingMethod::TaggedSymbol
|
|
574
|
+
]
|
|
575
|
+
)
|
|
576
|
+
end
|
|
577
|
+
def self.values
|
|
578
|
+
end
|
|
579
|
+
end
|
|
580
|
+
end
|
|
459
581
|
end
|
|
460
582
|
|
|
461
583
|
# Determines how the subscription's quantity is controlled. Defaults to
|
|
@@ -657,6 +779,93 @@ module MetronomeSDK
|
|
|
657
779
|
end
|
|
658
780
|
end
|
|
659
781
|
|
|
782
|
+
class BillingCycleConfig < MetronomeSDK::Internal::Type::BaseModel
|
|
783
|
+
OrHash =
|
|
784
|
+
T.type_alias do
|
|
785
|
+
T.any(
|
|
786
|
+
MetronomeSDK::Subscription::BillingCycleConfig,
|
|
787
|
+
MetronomeSDK::Internal::AnyHash
|
|
788
|
+
)
|
|
789
|
+
end
|
|
790
|
+
|
|
791
|
+
# The date this subscription's billing cycle is anchored to.
|
|
792
|
+
sig { returns(Time) }
|
|
793
|
+
attr_accessor :anchor_date
|
|
794
|
+
|
|
795
|
+
# Controls whether this subscription consolidates onto usage invoices or gets its
|
|
796
|
+
# own scheduled invoice.
|
|
797
|
+
sig do
|
|
798
|
+
returns(
|
|
799
|
+
MetronomeSDK::Subscription::BillingCycleConfig::InvoicePlacement::TaggedSymbol
|
|
800
|
+
)
|
|
801
|
+
end
|
|
802
|
+
attr_accessor :invoice_placement
|
|
803
|
+
|
|
804
|
+
sig do
|
|
805
|
+
params(
|
|
806
|
+
anchor_date: Time,
|
|
807
|
+
invoice_placement:
|
|
808
|
+
MetronomeSDK::Subscription::BillingCycleConfig::InvoicePlacement::OrSymbol
|
|
809
|
+
).returns(T.attached_class)
|
|
810
|
+
end
|
|
811
|
+
def self.new(
|
|
812
|
+
# The date this subscription's billing cycle is anchored to.
|
|
813
|
+
anchor_date:,
|
|
814
|
+
# Controls whether this subscription consolidates onto usage invoices or gets its
|
|
815
|
+
# own scheduled invoice.
|
|
816
|
+
invoice_placement:
|
|
817
|
+
)
|
|
818
|
+
end
|
|
819
|
+
|
|
820
|
+
sig do
|
|
821
|
+
override.returns(
|
|
822
|
+
{
|
|
823
|
+
anchor_date: Time,
|
|
824
|
+
invoice_placement:
|
|
825
|
+
MetronomeSDK::Subscription::BillingCycleConfig::InvoicePlacement::TaggedSymbol
|
|
826
|
+
}
|
|
827
|
+
)
|
|
828
|
+
end
|
|
829
|
+
def to_hash
|
|
830
|
+
end
|
|
831
|
+
|
|
832
|
+
# Controls whether this subscription consolidates onto usage invoices or gets its
|
|
833
|
+
# own scheduled invoice.
|
|
834
|
+
module InvoicePlacement
|
|
835
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
836
|
+
|
|
837
|
+
TaggedSymbol =
|
|
838
|
+
T.type_alias do
|
|
839
|
+
T.all(
|
|
840
|
+
Symbol,
|
|
841
|
+
MetronomeSDK::Subscription::BillingCycleConfig::InvoicePlacement
|
|
842
|
+
)
|
|
843
|
+
end
|
|
844
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
845
|
+
|
|
846
|
+
ON_SCHEDULED_INVOICE =
|
|
847
|
+
T.let(
|
|
848
|
+
:ON_SCHEDULED_INVOICE,
|
|
849
|
+
MetronomeSDK::Subscription::BillingCycleConfig::InvoicePlacement::TaggedSymbol
|
|
850
|
+
)
|
|
851
|
+
ON_USAGE_INVOICE =
|
|
852
|
+
T.let(
|
|
853
|
+
:ON_USAGE_INVOICE,
|
|
854
|
+
MetronomeSDK::Subscription::BillingCycleConfig::InvoicePlacement::TaggedSymbol
|
|
855
|
+
)
|
|
856
|
+
|
|
857
|
+
sig do
|
|
858
|
+
override.returns(
|
|
859
|
+
T::Array[
|
|
860
|
+
MetronomeSDK::Subscription::BillingCycleConfig::InvoicePlacement::TaggedSymbol
|
|
861
|
+
]
|
|
862
|
+
)
|
|
863
|
+
end
|
|
864
|
+
def self.values
|
|
865
|
+
end
|
|
866
|
+
end
|
|
867
|
+
end
|
|
868
|
+
|
|
660
869
|
class SeatConfig < MetronomeSDK::Internal::Type::BaseModel
|
|
661
870
|
OrHash =
|
|
662
871
|
T.type_alias do
|
|
@@ -31,6 +31,28 @@ module MetronomeSDK
|
|
|
31
31
|
sig { returns(Float) }
|
|
32
32
|
attr_accessor :threshold
|
|
33
33
|
|
|
34
|
+
# Can be used with only `low_remaining_contract_credit_and_commit_balance_reached`
|
|
35
|
+
# notifications. Defines the balances that are considered when evaluating the
|
|
36
|
+
# alert.
|
|
37
|
+
sig do
|
|
38
|
+
returns(
|
|
39
|
+
T.nilable(
|
|
40
|
+
T::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier]
|
|
41
|
+
)
|
|
42
|
+
)
|
|
43
|
+
end
|
|
44
|
+
attr_reader :alert_specifiers
|
|
45
|
+
|
|
46
|
+
sig do
|
|
47
|
+
params(
|
|
48
|
+
alert_specifiers:
|
|
49
|
+
T::Array[
|
|
50
|
+
MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::OrHash
|
|
51
|
+
]
|
|
52
|
+
).void
|
|
53
|
+
end
|
|
54
|
+
attr_writer :alert_specifiers
|
|
55
|
+
|
|
34
56
|
# For threshold notifications of type `usage_threshold_reached`, specifies which
|
|
35
57
|
# billable metric to track the usage for.
|
|
36
58
|
sig { returns(T.nilable(String)) }
|
|
@@ -158,6 +180,10 @@ module MetronomeSDK
|
|
|
158
180
|
MetronomeSDK::V1::AlertCreateParams::AlertType::OrSymbol,
|
|
159
181
|
name: String,
|
|
160
182
|
threshold: Float,
|
|
183
|
+
alert_specifiers:
|
|
184
|
+
T::Array[
|
|
185
|
+
MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::OrHash
|
|
186
|
+
],
|
|
161
187
|
billable_metric_id: String,
|
|
162
188
|
credit_grant_type_filters: T::Array[String],
|
|
163
189
|
credit_type_id: String,
|
|
@@ -186,6 +212,10 @@ module MetronomeSDK
|
|
|
186
212
|
# type, this number may represent a financial amount, the days remaining, or a
|
|
187
213
|
# percentage reached.
|
|
188
214
|
threshold:,
|
|
215
|
+
# Can be used with only `low_remaining_contract_credit_and_commit_balance_reached`
|
|
216
|
+
# notifications. Defines the balances that are considered when evaluating the
|
|
217
|
+
# alert.
|
|
218
|
+
alert_specifiers: nil,
|
|
189
219
|
# For threshold notifications of type `usage_threshold_reached`, specifies which
|
|
190
220
|
# billable metric to track the usage for.
|
|
191
221
|
billable_metric_id: nil,
|
|
@@ -235,6 +265,8 @@ module MetronomeSDK
|
|
|
235
265
|
MetronomeSDK::V1::AlertCreateParams::AlertType::OrSymbol,
|
|
236
266
|
name: String,
|
|
237
267
|
threshold: Float,
|
|
268
|
+
alert_specifiers:
|
|
269
|
+
T::Array[MetronomeSDK::V1::AlertCreateParams::AlertSpecifier],
|
|
238
270
|
billable_metric_id: String,
|
|
239
271
|
credit_grant_type_filters: T::Array[String],
|
|
240
272
|
credit_type_id: String,
|
|
@@ -354,6 +386,347 @@ module MetronomeSDK
|
|
|
354
386
|
end
|
|
355
387
|
end
|
|
356
388
|
|
|
389
|
+
class AlertSpecifier < MetronomeSDK::Internal::Type::BaseModel
|
|
390
|
+
OrHash =
|
|
391
|
+
T.type_alias do
|
|
392
|
+
T.any(
|
|
393
|
+
MetronomeSDK::V1::AlertCreateParams::AlertSpecifier,
|
|
394
|
+
MetronomeSDK::Internal::AnyHash
|
|
395
|
+
)
|
|
396
|
+
end
|
|
397
|
+
|
|
398
|
+
# A list of custom field filters for notification types that support advanced
|
|
399
|
+
# filtering
|
|
400
|
+
sig do
|
|
401
|
+
returns(
|
|
402
|
+
T.nilable(
|
|
403
|
+
T::Array[
|
|
404
|
+
MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::CustomFieldFilter
|
|
405
|
+
]
|
|
406
|
+
)
|
|
407
|
+
)
|
|
408
|
+
end
|
|
409
|
+
attr_reader :custom_field_filters
|
|
410
|
+
|
|
411
|
+
sig do
|
|
412
|
+
params(
|
|
413
|
+
custom_field_filters:
|
|
414
|
+
T::Array[
|
|
415
|
+
MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::CustomFieldFilter::OrHash
|
|
416
|
+
]
|
|
417
|
+
).void
|
|
418
|
+
end
|
|
419
|
+
attr_writer :custom_field_filters
|
|
420
|
+
|
|
421
|
+
# If provided, the specifier will not apply to balances that matches the inclusion
|
|
422
|
+
# criteria and any of the excluding values.
|
|
423
|
+
sig do
|
|
424
|
+
returns(
|
|
425
|
+
T.nilable(
|
|
426
|
+
T::Array[
|
|
427
|
+
MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::Exclude
|
|
428
|
+
]
|
|
429
|
+
)
|
|
430
|
+
)
|
|
431
|
+
end
|
|
432
|
+
attr_reader :exclude
|
|
433
|
+
|
|
434
|
+
sig do
|
|
435
|
+
params(
|
|
436
|
+
exclude:
|
|
437
|
+
T::Array[
|
|
438
|
+
MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::Exclude::OrHash
|
|
439
|
+
]
|
|
440
|
+
).void
|
|
441
|
+
end
|
|
442
|
+
attr_writer :exclude
|
|
443
|
+
|
|
444
|
+
sig do
|
|
445
|
+
params(
|
|
446
|
+
custom_field_filters:
|
|
447
|
+
T::Array[
|
|
448
|
+
MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::CustomFieldFilter::OrHash
|
|
449
|
+
],
|
|
450
|
+
exclude:
|
|
451
|
+
T::Array[
|
|
452
|
+
MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::Exclude::OrHash
|
|
453
|
+
]
|
|
454
|
+
).returns(T.attached_class)
|
|
455
|
+
end
|
|
456
|
+
def self.new(
|
|
457
|
+
# A list of custom field filters for notification types that support advanced
|
|
458
|
+
# filtering
|
|
459
|
+
custom_field_filters: nil,
|
|
460
|
+
# If provided, the specifier will not apply to balances that matches the inclusion
|
|
461
|
+
# criteria and any of the excluding values.
|
|
462
|
+
exclude: nil
|
|
463
|
+
)
|
|
464
|
+
end
|
|
465
|
+
|
|
466
|
+
sig do
|
|
467
|
+
override.returns(
|
|
468
|
+
{
|
|
469
|
+
custom_field_filters:
|
|
470
|
+
T::Array[
|
|
471
|
+
MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::CustomFieldFilter
|
|
472
|
+
],
|
|
473
|
+
exclude:
|
|
474
|
+
T::Array[
|
|
475
|
+
MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::Exclude
|
|
476
|
+
]
|
|
477
|
+
}
|
|
478
|
+
)
|
|
479
|
+
end
|
|
480
|
+
def to_hash
|
|
481
|
+
end
|
|
482
|
+
|
|
483
|
+
class CustomFieldFilter < MetronomeSDK::Internal::Type::BaseModel
|
|
484
|
+
OrHash =
|
|
485
|
+
T.type_alias do
|
|
486
|
+
T.any(
|
|
487
|
+
MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::CustomFieldFilter,
|
|
488
|
+
MetronomeSDK::Internal::AnyHash
|
|
489
|
+
)
|
|
490
|
+
end
|
|
491
|
+
|
|
492
|
+
sig do
|
|
493
|
+
returns(
|
|
494
|
+
MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::CustomFieldFilter::Entity::OrSymbol
|
|
495
|
+
)
|
|
496
|
+
end
|
|
497
|
+
attr_accessor :entity
|
|
498
|
+
|
|
499
|
+
sig { returns(String) }
|
|
500
|
+
attr_accessor :key
|
|
501
|
+
|
|
502
|
+
sig { returns(T.nilable(String)) }
|
|
503
|
+
attr_reader :value
|
|
504
|
+
|
|
505
|
+
sig { params(value: String).void }
|
|
506
|
+
attr_writer :value
|
|
507
|
+
|
|
508
|
+
sig do
|
|
509
|
+
params(
|
|
510
|
+
entity:
|
|
511
|
+
MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::CustomFieldFilter::Entity::OrSymbol,
|
|
512
|
+
key: String,
|
|
513
|
+
value: String
|
|
514
|
+
).returns(T.attached_class)
|
|
515
|
+
end
|
|
516
|
+
def self.new(entity:, key:, value: nil)
|
|
517
|
+
end
|
|
518
|
+
|
|
519
|
+
sig do
|
|
520
|
+
override.returns(
|
|
521
|
+
{
|
|
522
|
+
entity:
|
|
523
|
+
MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::CustomFieldFilter::Entity::OrSymbol,
|
|
524
|
+
key: String,
|
|
525
|
+
value: String
|
|
526
|
+
}
|
|
527
|
+
)
|
|
528
|
+
end
|
|
529
|
+
def to_hash
|
|
530
|
+
end
|
|
531
|
+
|
|
532
|
+
module Entity
|
|
533
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
534
|
+
|
|
535
|
+
TaggedSymbol =
|
|
536
|
+
T.type_alias do
|
|
537
|
+
T.all(
|
|
538
|
+
Symbol,
|
|
539
|
+
MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::CustomFieldFilter::Entity
|
|
540
|
+
)
|
|
541
|
+
end
|
|
542
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
543
|
+
|
|
544
|
+
CONTRACT =
|
|
545
|
+
T.let(
|
|
546
|
+
:Contract,
|
|
547
|
+
MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::CustomFieldFilter::Entity::TaggedSymbol
|
|
548
|
+
)
|
|
549
|
+
COMMIT =
|
|
550
|
+
T.let(
|
|
551
|
+
:Commit,
|
|
552
|
+
MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::CustomFieldFilter::Entity::TaggedSymbol
|
|
553
|
+
)
|
|
554
|
+
CONTRACT_CREDIT =
|
|
555
|
+
T.let(
|
|
556
|
+
:ContractCredit,
|
|
557
|
+
MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::CustomFieldFilter::Entity::TaggedSymbol
|
|
558
|
+
)
|
|
559
|
+
CONTRACT_CREDIT_OR_COMMIT =
|
|
560
|
+
T.let(
|
|
561
|
+
:ContractCreditOrCommit,
|
|
562
|
+
MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::CustomFieldFilter::Entity::TaggedSymbol
|
|
563
|
+
)
|
|
564
|
+
|
|
565
|
+
sig do
|
|
566
|
+
override.returns(
|
|
567
|
+
T::Array[
|
|
568
|
+
MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::CustomFieldFilter::Entity::TaggedSymbol
|
|
569
|
+
]
|
|
570
|
+
)
|
|
571
|
+
end
|
|
572
|
+
def self.values
|
|
573
|
+
end
|
|
574
|
+
end
|
|
575
|
+
end
|
|
576
|
+
|
|
577
|
+
class Exclude < MetronomeSDK::Internal::Type::BaseModel
|
|
578
|
+
OrHash =
|
|
579
|
+
T.type_alias do
|
|
580
|
+
T.any(
|
|
581
|
+
MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::Exclude,
|
|
582
|
+
MetronomeSDK::Internal::AnyHash
|
|
583
|
+
)
|
|
584
|
+
end
|
|
585
|
+
|
|
586
|
+
# A list of custom field filters for notification types that support advanced
|
|
587
|
+
# filtering
|
|
588
|
+
sig do
|
|
589
|
+
returns(
|
|
590
|
+
T.nilable(
|
|
591
|
+
T::Array[
|
|
592
|
+
MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::Exclude::CustomFieldFilter
|
|
593
|
+
]
|
|
594
|
+
)
|
|
595
|
+
)
|
|
596
|
+
end
|
|
597
|
+
attr_reader :custom_field_filters
|
|
598
|
+
|
|
599
|
+
sig do
|
|
600
|
+
params(
|
|
601
|
+
custom_field_filters:
|
|
602
|
+
T::Array[
|
|
603
|
+
MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::Exclude::CustomFieldFilter::OrHash
|
|
604
|
+
]
|
|
605
|
+
).void
|
|
606
|
+
end
|
|
607
|
+
attr_writer :custom_field_filters
|
|
608
|
+
|
|
609
|
+
sig do
|
|
610
|
+
params(
|
|
611
|
+
custom_field_filters:
|
|
612
|
+
T::Array[
|
|
613
|
+
MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::Exclude::CustomFieldFilter::OrHash
|
|
614
|
+
]
|
|
615
|
+
).returns(T.attached_class)
|
|
616
|
+
end
|
|
617
|
+
def self.new(
|
|
618
|
+
# A list of custom field filters for notification types that support advanced
|
|
619
|
+
# filtering
|
|
620
|
+
custom_field_filters: nil
|
|
621
|
+
)
|
|
622
|
+
end
|
|
623
|
+
|
|
624
|
+
sig do
|
|
625
|
+
override.returns(
|
|
626
|
+
{
|
|
627
|
+
custom_field_filters:
|
|
628
|
+
T::Array[
|
|
629
|
+
MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::Exclude::CustomFieldFilter
|
|
630
|
+
]
|
|
631
|
+
}
|
|
632
|
+
)
|
|
633
|
+
end
|
|
634
|
+
def to_hash
|
|
635
|
+
end
|
|
636
|
+
|
|
637
|
+
class CustomFieldFilter < MetronomeSDK::Internal::Type::BaseModel
|
|
638
|
+
OrHash =
|
|
639
|
+
T.type_alias do
|
|
640
|
+
T.any(
|
|
641
|
+
MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::Exclude::CustomFieldFilter,
|
|
642
|
+
MetronomeSDK::Internal::AnyHash
|
|
643
|
+
)
|
|
644
|
+
end
|
|
645
|
+
|
|
646
|
+
sig do
|
|
647
|
+
returns(
|
|
648
|
+
MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::Exclude::CustomFieldFilter::Entity::OrSymbol
|
|
649
|
+
)
|
|
650
|
+
end
|
|
651
|
+
attr_accessor :entity
|
|
652
|
+
|
|
653
|
+
sig { returns(String) }
|
|
654
|
+
attr_accessor :key
|
|
655
|
+
|
|
656
|
+
sig { returns(String) }
|
|
657
|
+
attr_accessor :value
|
|
658
|
+
|
|
659
|
+
sig do
|
|
660
|
+
params(
|
|
661
|
+
entity:
|
|
662
|
+
MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::Exclude::CustomFieldFilter::Entity::OrSymbol,
|
|
663
|
+
key: String,
|
|
664
|
+
value: String
|
|
665
|
+
).returns(T.attached_class)
|
|
666
|
+
end
|
|
667
|
+
def self.new(entity:, key:, value:)
|
|
668
|
+
end
|
|
669
|
+
|
|
670
|
+
sig do
|
|
671
|
+
override.returns(
|
|
672
|
+
{
|
|
673
|
+
entity:
|
|
674
|
+
MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::Exclude::CustomFieldFilter::Entity::OrSymbol,
|
|
675
|
+
key: String,
|
|
676
|
+
value: String
|
|
677
|
+
}
|
|
678
|
+
)
|
|
679
|
+
end
|
|
680
|
+
def to_hash
|
|
681
|
+
end
|
|
682
|
+
|
|
683
|
+
module Entity
|
|
684
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
685
|
+
|
|
686
|
+
TaggedSymbol =
|
|
687
|
+
T.type_alias do
|
|
688
|
+
T.all(
|
|
689
|
+
Symbol,
|
|
690
|
+
MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::Exclude::CustomFieldFilter::Entity
|
|
691
|
+
)
|
|
692
|
+
end
|
|
693
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
694
|
+
|
|
695
|
+
CONTRACT =
|
|
696
|
+
T.let(
|
|
697
|
+
:Contract,
|
|
698
|
+
MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::Exclude::CustomFieldFilter::Entity::TaggedSymbol
|
|
699
|
+
)
|
|
700
|
+
COMMIT =
|
|
701
|
+
T.let(
|
|
702
|
+
:Commit,
|
|
703
|
+
MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::Exclude::CustomFieldFilter::Entity::TaggedSymbol
|
|
704
|
+
)
|
|
705
|
+
CONTRACT_CREDIT =
|
|
706
|
+
T.let(
|
|
707
|
+
:ContractCredit,
|
|
708
|
+
MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::Exclude::CustomFieldFilter::Entity::TaggedSymbol
|
|
709
|
+
)
|
|
710
|
+
CONTRACT_CREDIT_OR_COMMIT =
|
|
711
|
+
T.let(
|
|
712
|
+
:ContractCreditOrCommit,
|
|
713
|
+
MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::Exclude::CustomFieldFilter::Entity::TaggedSymbol
|
|
714
|
+
)
|
|
715
|
+
|
|
716
|
+
sig do
|
|
717
|
+
override.returns(
|
|
718
|
+
T::Array[
|
|
719
|
+
MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::Exclude::CustomFieldFilter::Entity::TaggedSymbol
|
|
720
|
+
]
|
|
721
|
+
)
|
|
722
|
+
end
|
|
723
|
+
def self.values
|
|
724
|
+
end
|
|
725
|
+
end
|
|
726
|
+
end
|
|
727
|
+
end
|
|
728
|
+
end
|
|
729
|
+
|
|
357
730
|
class CustomFieldFilter < MetronomeSDK::Internal::Type::BaseModel
|
|
358
731
|
OrHash =
|
|
359
732
|
T.type_alias do
|