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
|
@@ -1966,6 +1966,12 @@ module MetronomeSDK
|
|
|
1966
1966
|
)
|
|
1967
1967
|
end
|
|
1968
1968
|
|
|
1969
|
+
sig { returns(T.nilable(T::Array[String])) }
|
|
1970
|
+
attr_reader :any_commit_or_credit_ids
|
|
1971
|
+
|
|
1972
|
+
sig { params(any_commit_or_credit_ids: T::Array[String]).void }
|
|
1973
|
+
attr_writer :any_commit_or_credit_ids
|
|
1974
|
+
|
|
1969
1975
|
sig do
|
|
1970
1976
|
returns(
|
|
1971
1977
|
T.nilable(
|
|
@@ -2028,6 +2034,7 @@ module MetronomeSDK
|
|
|
2028
2034
|
|
|
2029
2035
|
sig do
|
|
2030
2036
|
params(
|
|
2037
|
+
any_commit_or_credit_ids: T::Array[String],
|
|
2031
2038
|
billing_frequency:
|
|
2032
2039
|
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::OverrideSpecifier::BillingFrequency::OrSymbol,
|
|
2033
2040
|
commit_ids: T::Array[String],
|
|
@@ -2040,6 +2047,7 @@ module MetronomeSDK
|
|
|
2040
2047
|
).returns(T.attached_class)
|
|
2041
2048
|
end
|
|
2042
2049
|
def self.new(
|
|
2050
|
+
any_commit_or_credit_ids: nil,
|
|
2043
2051
|
billing_frequency: nil,
|
|
2044
2052
|
commit_ids: nil,
|
|
2045
2053
|
presentation_group_values: nil,
|
|
@@ -2053,6 +2061,7 @@ module MetronomeSDK
|
|
|
2053
2061
|
sig do
|
|
2054
2062
|
override.returns(
|
|
2055
2063
|
{
|
|
2064
|
+
any_commit_or_credit_ids: T::Array[String],
|
|
2056
2065
|
billing_frequency:
|
|
2057
2066
|
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddOverride::OverrideSpecifier::BillingFrequency::TaggedSymbol,
|
|
2058
2067
|
commit_ids: T::Array[String],
|
|
@@ -2563,6 +2572,26 @@ module MetronomeSDK
|
|
|
2563
2572
|
end
|
|
2564
2573
|
attr_writer :proration
|
|
2565
2574
|
|
|
2575
|
+
# Rounding configuration for prorated recurring commit amounts.
|
|
2576
|
+
sig do
|
|
2577
|
+
returns(
|
|
2578
|
+
T.nilable(
|
|
2579
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding
|
|
2580
|
+
)
|
|
2581
|
+
)
|
|
2582
|
+
end
|
|
2583
|
+
attr_reader :proration_rounding
|
|
2584
|
+
|
|
2585
|
+
sig do
|
|
2586
|
+
params(
|
|
2587
|
+
proration_rounding:
|
|
2588
|
+
T.nilable(
|
|
2589
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::OrHash
|
|
2590
|
+
)
|
|
2591
|
+
).void
|
|
2592
|
+
end
|
|
2593
|
+
attr_writer :proration_rounding
|
|
2594
|
+
|
|
2566
2595
|
# The frequency at which the recurring commits will be created. If not provided: -
|
|
2567
2596
|
# The commits will be created on the usage invoice frequency. If provided: - The
|
|
2568
2597
|
# period defined in the duration will correspond to this frequency. - Commits will
|
|
@@ -2652,6 +2681,10 @@ module MetronomeSDK
|
|
|
2652
2681
|
netsuite_sales_order_id: String,
|
|
2653
2682
|
proration:
|
|
2654
2683
|
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::Proration::OrSymbol,
|
|
2684
|
+
proration_rounding:
|
|
2685
|
+
T.nilable(
|
|
2686
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::OrHash
|
|
2687
|
+
),
|
|
2655
2688
|
recurrence_frequency:
|
|
2656
2689
|
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::RecurrenceFrequency::OrSymbol,
|
|
2657
2690
|
rollover_fraction: Float,
|
|
@@ -2693,6 +2726,8 @@ module MetronomeSDK
|
|
|
2693
2726
|
# Determines whether the first and last commit will be prorated. If not provided,
|
|
2694
2727
|
# the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
|
|
2695
2728
|
proration: nil,
|
|
2729
|
+
# Rounding configuration for prorated recurring commit amounts.
|
|
2730
|
+
proration_rounding: nil,
|
|
2696
2731
|
# The frequency at which the recurring commits will be created. If not provided: -
|
|
2697
2732
|
# The commits will be created on the usage invoice frequency. If provided: - The
|
|
2698
2733
|
# period defined in the duration will correspond to this frequency. - Commits will
|
|
@@ -2740,6 +2775,10 @@ module MetronomeSDK
|
|
|
2740
2775
|
netsuite_sales_order_id: String,
|
|
2741
2776
|
proration:
|
|
2742
2777
|
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::Proration::TaggedSymbol,
|
|
2778
|
+
proration_rounding:
|
|
2779
|
+
T.nilable(
|
|
2780
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding
|
|
2781
|
+
),
|
|
2743
2782
|
recurrence_frequency:
|
|
2744
2783
|
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::RecurrenceFrequency::TaggedSymbol,
|
|
2745
2784
|
rollover_fraction: Float,
|
|
@@ -3049,6 +3088,255 @@ module MetronomeSDK
|
|
|
3049
3088
|
end
|
|
3050
3089
|
end
|
|
3051
3090
|
|
|
3091
|
+
class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
|
|
3092
|
+
OrHash =
|
|
3093
|
+
T.type_alias do
|
|
3094
|
+
T.any(
|
|
3095
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding,
|
|
3096
|
+
MetronomeSDK::Internal::AnyHash
|
|
3097
|
+
)
|
|
3098
|
+
end
|
|
3099
|
+
|
|
3100
|
+
sig do
|
|
3101
|
+
returns(
|
|
3102
|
+
T.nilable(
|
|
3103
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Access
|
|
3104
|
+
)
|
|
3105
|
+
)
|
|
3106
|
+
end
|
|
3107
|
+
attr_reader :access
|
|
3108
|
+
|
|
3109
|
+
sig do
|
|
3110
|
+
params(
|
|
3111
|
+
access:
|
|
3112
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Access::OrHash
|
|
3113
|
+
).void
|
|
3114
|
+
end
|
|
3115
|
+
attr_writer :access
|
|
3116
|
+
|
|
3117
|
+
sig do
|
|
3118
|
+
returns(
|
|
3119
|
+
T.nilable(
|
|
3120
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Invoice
|
|
3121
|
+
)
|
|
3122
|
+
)
|
|
3123
|
+
end
|
|
3124
|
+
attr_reader :invoice
|
|
3125
|
+
|
|
3126
|
+
sig do
|
|
3127
|
+
params(
|
|
3128
|
+
invoice:
|
|
3129
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Invoice::OrHash
|
|
3130
|
+
).void
|
|
3131
|
+
end
|
|
3132
|
+
attr_writer :invoice
|
|
3133
|
+
|
|
3134
|
+
# Rounding configuration for prorated recurring commit amounts.
|
|
3135
|
+
sig do
|
|
3136
|
+
params(
|
|
3137
|
+
access:
|
|
3138
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Access::OrHash,
|
|
3139
|
+
invoice:
|
|
3140
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Invoice::OrHash
|
|
3141
|
+
).returns(T.attached_class)
|
|
3142
|
+
end
|
|
3143
|
+
def self.new(access: nil, invoice: nil)
|
|
3144
|
+
end
|
|
3145
|
+
|
|
3146
|
+
sig do
|
|
3147
|
+
override.returns(
|
|
3148
|
+
{
|
|
3149
|
+
access:
|
|
3150
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Access,
|
|
3151
|
+
invoice:
|
|
3152
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Invoice
|
|
3153
|
+
}
|
|
3154
|
+
)
|
|
3155
|
+
end
|
|
3156
|
+
def to_hash
|
|
3157
|
+
end
|
|
3158
|
+
|
|
3159
|
+
class Access < MetronomeSDK::Internal::Type::BaseModel
|
|
3160
|
+
OrHash =
|
|
3161
|
+
T.type_alias do
|
|
3162
|
+
T.any(
|
|
3163
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Access,
|
|
3164
|
+
MetronomeSDK::Internal::AnyHash
|
|
3165
|
+
)
|
|
3166
|
+
end
|
|
3167
|
+
|
|
3168
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
3169
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
3170
|
+
# nearest 100 in the stored unit).
|
|
3171
|
+
sig { returns(Float) }
|
|
3172
|
+
attr_accessor :decimal_places
|
|
3173
|
+
|
|
3174
|
+
sig do
|
|
3175
|
+
returns(
|
|
3176
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
3177
|
+
)
|
|
3178
|
+
end
|
|
3179
|
+
attr_accessor :rounding_method
|
|
3180
|
+
|
|
3181
|
+
sig do
|
|
3182
|
+
params(
|
|
3183
|
+
decimal_places: Float,
|
|
3184
|
+
rounding_method:
|
|
3185
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Access::RoundingMethod::OrSymbol
|
|
3186
|
+
).returns(T.attached_class)
|
|
3187
|
+
end
|
|
3188
|
+
def self.new(
|
|
3189
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
3190
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
3191
|
+
# nearest 100 in the stored unit).
|
|
3192
|
+
decimal_places:,
|
|
3193
|
+
rounding_method:
|
|
3194
|
+
)
|
|
3195
|
+
end
|
|
3196
|
+
|
|
3197
|
+
sig do
|
|
3198
|
+
override.returns(
|
|
3199
|
+
{
|
|
3200
|
+
decimal_places: Float,
|
|
3201
|
+
rounding_method:
|
|
3202
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
3203
|
+
}
|
|
3204
|
+
)
|
|
3205
|
+
end
|
|
3206
|
+
def to_hash
|
|
3207
|
+
end
|
|
3208
|
+
|
|
3209
|
+
module RoundingMethod
|
|
3210
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
3211
|
+
|
|
3212
|
+
TaggedSymbol =
|
|
3213
|
+
T.type_alias do
|
|
3214
|
+
T.all(
|
|
3215
|
+
Symbol,
|
|
3216
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Access::RoundingMethod
|
|
3217
|
+
)
|
|
3218
|
+
end
|
|
3219
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
3220
|
+
|
|
3221
|
+
HALF_UP =
|
|
3222
|
+
T.let(
|
|
3223
|
+
:HALF_UP,
|
|
3224
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
3225
|
+
)
|
|
3226
|
+
FLOOR =
|
|
3227
|
+
T.let(
|
|
3228
|
+
:FLOOR,
|
|
3229
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
3230
|
+
)
|
|
3231
|
+
CEILING =
|
|
3232
|
+
T.let(
|
|
3233
|
+
:CEILING,
|
|
3234
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
3235
|
+
)
|
|
3236
|
+
|
|
3237
|
+
sig do
|
|
3238
|
+
override.returns(
|
|
3239
|
+
T::Array[
|
|
3240
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
3241
|
+
]
|
|
3242
|
+
)
|
|
3243
|
+
end
|
|
3244
|
+
def self.values
|
|
3245
|
+
end
|
|
3246
|
+
end
|
|
3247
|
+
end
|
|
3248
|
+
|
|
3249
|
+
class Invoice < MetronomeSDK::Internal::Type::BaseModel
|
|
3250
|
+
OrHash =
|
|
3251
|
+
T.type_alias do
|
|
3252
|
+
T.any(
|
|
3253
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Invoice,
|
|
3254
|
+
MetronomeSDK::Internal::AnyHash
|
|
3255
|
+
)
|
|
3256
|
+
end
|
|
3257
|
+
|
|
3258
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
3259
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
3260
|
+
# nearest 100 in the stored unit).
|
|
3261
|
+
sig { returns(Float) }
|
|
3262
|
+
attr_accessor :decimal_places
|
|
3263
|
+
|
|
3264
|
+
sig do
|
|
3265
|
+
returns(
|
|
3266
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Invoice::RoundingMethod::TaggedSymbol
|
|
3267
|
+
)
|
|
3268
|
+
end
|
|
3269
|
+
attr_accessor :rounding_method
|
|
3270
|
+
|
|
3271
|
+
sig do
|
|
3272
|
+
params(
|
|
3273
|
+
decimal_places: Float,
|
|
3274
|
+
rounding_method:
|
|
3275
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Invoice::RoundingMethod::OrSymbol
|
|
3276
|
+
).returns(T.attached_class)
|
|
3277
|
+
end
|
|
3278
|
+
def self.new(
|
|
3279
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
3280
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
3281
|
+
# nearest 100 in the stored unit).
|
|
3282
|
+
decimal_places:,
|
|
3283
|
+
rounding_method:
|
|
3284
|
+
)
|
|
3285
|
+
end
|
|
3286
|
+
|
|
3287
|
+
sig do
|
|
3288
|
+
override.returns(
|
|
3289
|
+
{
|
|
3290
|
+
decimal_places: Float,
|
|
3291
|
+
rounding_method:
|
|
3292
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Invoice::RoundingMethod::TaggedSymbol
|
|
3293
|
+
}
|
|
3294
|
+
)
|
|
3295
|
+
end
|
|
3296
|
+
def to_hash
|
|
3297
|
+
end
|
|
3298
|
+
|
|
3299
|
+
module RoundingMethod
|
|
3300
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
3301
|
+
|
|
3302
|
+
TaggedSymbol =
|
|
3303
|
+
T.type_alias do
|
|
3304
|
+
T.all(
|
|
3305
|
+
Symbol,
|
|
3306
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Invoice::RoundingMethod
|
|
3307
|
+
)
|
|
3308
|
+
end
|
|
3309
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
3310
|
+
|
|
3311
|
+
HALF_UP =
|
|
3312
|
+
T.let(
|
|
3313
|
+
:HALF_UP,
|
|
3314
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Invoice::RoundingMethod::TaggedSymbol
|
|
3315
|
+
)
|
|
3316
|
+
FLOOR =
|
|
3317
|
+
T.let(
|
|
3318
|
+
:FLOOR,
|
|
3319
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Invoice::RoundingMethod::TaggedSymbol
|
|
3320
|
+
)
|
|
3321
|
+
CEILING =
|
|
3322
|
+
T.let(
|
|
3323
|
+
:CEILING,
|
|
3324
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Invoice::RoundingMethod::TaggedSymbol
|
|
3325
|
+
)
|
|
3326
|
+
|
|
3327
|
+
sig do
|
|
3328
|
+
override.returns(
|
|
3329
|
+
T::Array[
|
|
3330
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::ProrationRounding::Invoice::RoundingMethod::TaggedSymbol
|
|
3331
|
+
]
|
|
3332
|
+
)
|
|
3333
|
+
end
|
|
3334
|
+
def self.values
|
|
3335
|
+
end
|
|
3336
|
+
end
|
|
3337
|
+
end
|
|
3338
|
+
end
|
|
3339
|
+
|
|
3052
3340
|
# The frequency at which the recurring commits will be created. If not provided: -
|
|
3053
3341
|
# The commits will be created on the usage invoice frequency. If provided: - The
|
|
3054
3342
|
# period defined in the duration will correspond to this frequency. - Commits will
|
|
@@ -3086,6 +3374,11 @@ module MetronomeSDK
|
|
|
3086
3374
|
:WEEKLY,
|
|
3087
3375
|
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::RecurrenceFrequency::TaggedSymbol
|
|
3088
3376
|
)
|
|
3377
|
+
DAILY =
|
|
3378
|
+
T.let(
|
|
3379
|
+
:DAILY,
|
|
3380
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::RecurrenceFrequency::TaggedSymbol
|
|
3381
|
+
)
|
|
3089
3382
|
|
|
3090
3383
|
sig do
|
|
3091
3384
|
override.returns(
|
|
@@ -3266,6 +3559,26 @@ module MetronomeSDK
|
|
|
3266
3559
|
end
|
|
3267
3560
|
attr_writer :proration
|
|
3268
3561
|
|
|
3562
|
+
# Rounding configuration for prorated recurring credit amounts.
|
|
3563
|
+
sig do
|
|
3564
|
+
returns(
|
|
3565
|
+
T.nilable(
|
|
3566
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::ProrationRounding
|
|
3567
|
+
)
|
|
3568
|
+
)
|
|
3569
|
+
end
|
|
3570
|
+
attr_reader :proration_rounding
|
|
3571
|
+
|
|
3572
|
+
sig do
|
|
3573
|
+
params(
|
|
3574
|
+
proration_rounding:
|
|
3575
|
+
T.nilable(
|
|
3576
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::ProrationRounding::OrHash
|
|
3577
|
+
)
|
|
3578
|
+
).void
|
|
3579
|
+
end
|
|
3580
|
+
attr_writer :proration_rounding
|
|
3581
|
+
|
|
3269
3582
|
# The frequency at which the recurring commits will be created. If not provided: -
|
|
3270
3583
|
# The commits will be created on the usage invoice frequency. If provided: - The
|
|
3271
3584
|
# period defined in the duration will correspond to this frequency. - Commits will
|
|
@@ -3353,6 +3666,10 @@ module MetronomeSDK
|
|
|
3353
3666
|
netsuite_sales_order_id: String,
|
|
3354
3667
|
proration:
|
|
3355
3668
|
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::Proration::OrSymbol,
|
|
3669
|
+
proration_rounding:
|
|
3670
|
+
T.nilable(
|
|
3671
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::ProrationRounding::OrHash
|
|
3672
|
+
),
|
|
3356
3673
|
recurrence_frequency:
|
|
3357
3674
|
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::RecurrenceFrequency::OrSymbol,
|
|
3358
3675
|
rollover_fraction: Float,
|
|
@@ -3392,6 +3709,8 @@ module MetronomeSDK
|
|
|
3392
3709
|
# Determines whether the first and last commit will be prorated. If not provided,
|
|
3393
3710
|
# the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
|
|
3394
3711
|
proration: nil,
|
|
3712
|
+
# Rounding configuration for prorated recurring credit amounts.
|
|
3713
|
+
proration_rounding: nil,
|
|
3395
3714
|
# The frequency at which the recurring commits will be created. If not provided: -
|
|
3396
3715
|
# The commits will be created on the usage invoice frequency. If provided: - The
|
|
3397
3716
|
# period defined in the duration will correspond to this frequency. - Commits will
|
|
@@ -3437,6 +3756,10 @@ module MetronomeSDK
|
|
|
3437
3756
|
netsuite_sales_order_id: String,
|
|
3438
3757
|
proration:
|
|
3439
3758
|
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::Proration::TaggedSymbol,
|
|
3759
|
+
proration_rounding:
|
|
3760
|
+
T.nilable(
|
|
3761
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::ProrationRounding
|
|
3762
|
+
),
|
|
3440
3763
|
recurrence_frequency:
|
|
3441
3764
|
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::RecurrenceFrequency::TaggedSymbol,
|
|
3442
3765
|
rollover_fraction: Float,
|
|
@@ -3704,57 +4027,200 @@ module MetronomeSDK
|
|
|
3704
4027
|
end
|
|
3705
4028
|
end
|
|
3706
4029
|
|
|
3707
|
-
|
|
3708
|
-
|
|
3709
|
-
# period defined in the duration will correspond to this frequency. - Commits will
|
|
3710
|
-
# be created aligned with the recurring commit's starting_at rather than the usage
|
|
3711
|
-
# invoice dates.
|
|
3712
|
-
module RecurrenceFrequency
|
|
3713
|
-
extend MetronomeSDK::Internal::Type::Enum
|
|
3714
|
-
|
|
3715
|
-
TaggedSymbol =
|
|
4030
|
+
class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
|
|
4031
|
+
OrHash =
|
|
3716
4032
|
T.type_alias do
|
|
3717
|
-
T.
|
|
3718
|
-
|
|
3719
|
-
MetronomeSDK::
|
|
4033
|
+
T.any(
|
|
4034
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::ProrationRounding,
|
|
4035
|
+
MetronomeSDK::Internal::AnyHash
|
|
3720
4036
|
)
|
|
3721
4037
|
end
|
|
3722
|
-
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
3723
|
-
|
|
3724
|
-
MONTHLY =
|
|
3725
|
-
T.let(
|
|
3726
|
-
:MONTHLY,
|
|
3727
|
-
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::RecurrenceFrequency::TaggedSymbol
|
|
3728
|
-
)
|
|
3729
|
-
QUARTERLY =
|
|
3730
|
-
T.let(
|
|
3731
|
-
:QUARTERLY,
|
|
3732
|
-
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::RecurrenceFrequency::TaggedSymbol
|
|
3733
|
-
)
|
|
3734
|
-
ANNUAL =
|
|
3735
|
-
T.let(
|
|
3736
|
-
:ANNUAL,
|
|
3737
|
-
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::RecurrenceFrequency::TaggedSymbol
|
|
3738
|
-
)
|
|
3739
|
-
WEEKLY =
|
|
3740
|
-
T.let(
|
|
3741
|
-
:WEEKLY,
|
|
3742
|
-
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::RecurrenceFrequency::TaggedSymbol
|
|
3743
|
-
)
|
|
3744
4038
|
|
|
3745
4039
|
sig do
|
|
3746
|
-
|
|
3747
|
-
T
|
|
3748
|
-
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::
|
|
3749
|
-
|
|
4040
|
+
returns(
|
|
4041
|
+
T.nilable(
|
|
4042
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::ProrationRounding::Access
|
|
4043
|
+
)
|
|
3750
4044
|
)
|
|
3751
4045
|
end
|
|
3752
|
-
|
|
3753
|
-
end
|
|
3754
|
-
end
|
|
3755
|
-
end
|
|
4046
|
+
attr_reader :access
|
|
3756
4047
|
|
|
3757
|
-
|
|
4048
|
+
sig do
|
|
4049
|
+
params(
|
|
4050
|
+
access:
|
|
4051
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::ProrationRounding::Access::OrHash
|
|
4052
|
+
).void
|
|
4053
|
+
end
|
|
4054
|
+
attr_writer :access
|
|
4055
|
+
|
|
4056
|
+
# Rounding configuration for prorated recurring credit amounts.
|
|
4057
|
+
sig do
|
|
4058
|
+
params(
|
|
4059
|
+
access:
|
|
4060
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::ProrationRounding::Access::OrHash
|
|
4061
|
+
).returns(T.attached_class)
|
|
4062
|
+
end
|
|
4063
|
+
def self.new(access: nil)
|
|
4064
|
+
end
|
|
4065
|
+
|
|
4066
|
+
sig do
|
|
4067
|
+
override.returns(
|
|
4068
|
+
{
|
|
4069
|
+
access:
|
|
4070
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::ProrationRounding::Access
|
|
4071
|
+
}
|
|
4072
|
+
)
|
|
4073
|
+
end
|
|
4074
|
+
def to_hash
|
|
4075
|
+
end
|
|
4076
|
+
|
|
4077
|
+
class Access < MetronomeSDK::Internal::Type::BaseModel
|
|
4078
|
+
OrHash =
|
|
4079
|
+
T.type_alias do
|
|
4080
|
+
T.any(
|
|
4081
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::ProrationRounding::Access,
|
|
4082
|
+
MetronomeSDK::Internal::AnyHash
|
|
4083
|
+
)
|
|
4084
|
+
end
|
|
4085
|
+
|
|
4086
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
4087
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
4088
|
+
# nearest 100 in the stored unit).
|
|
4089
|
+
sig { returns(Float) }
|
|
4090
|
+
attr_accessor :decimal_places
|
|
4091
|
+
|
|
4092
|
+
sig do
|
|
4093
|
+
returns(
|
|
4094
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
4095
|
+
)
|
|
4096
|
+
end
|
|
4097
|
+
attr_accessor :rounding_method
|
|
4098
|
+
|
|
4099
|
+
sig do
|
|
4100
|
+
params(
|
|
4101
|
+
decimal_places: Float,
|
|
4102
|
+
rounding_method:
|
|
4103
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::ProrationRounding::Access::RoundingMethod::OrSymbol
|
|
4104
|
+
).returns(T.attached_class)
|
|
4105
|
+
end
|
|
4106
|
+
def self.new(
|
|
4107
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
4108
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
4109
|
+
# nearest 100 in the stored unit).
|
|
4110
|
+
decimal_places:,
|
|
4111
|
+
rounding_method:
|
|
4112
|
+
)
|
|
4113
|
+
end
|
|
4114
|
+
|
|
4115
|
+
sig do
|
|
4116
|
+
override.returns(
|
|
4117
|
+
{
|
|
4118
|
+
decimal_places: Float,
|
|
4119
|
+
rounding_method:
|
|
4120
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
4121
|
+
}
|
|
4122
|
+
)
|
|
4123
|
+
end
|
|
4124
|
+
def to_hash
|
|
4125
|
+
end
|
|
4126
|
+
|
|
4127
|
+
module RoundingMethod
|
|
4128
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
4129
|
+
|
|
4130
|
+
TaggedSymbol =
|
|
4131
|
+
T.type_alias do
|
|
4132
|
+
T.all(
|
|
4133
|
+
Symbol,
|
|
4134
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::ProrationRounding::Access::RoundingMethod
|
|
4135
|
+
)
|
|
4136
|
+
end
|
|
4137
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
4138
|
+
|
|
4139
|
+
HALF_UP =
|
|
4140
|
+
T.let(
|
|
4141
|
+
:HALF_UP,
|
|
4142
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
4143
|
+
)
|
|
4144
|
+
FLOOR =
|
|
4145
|
+
T.let(
|
|
4146
|
+
:FLOOR,
|
|
4147
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
4148
|
+
)
|
|
4149
|
+
CEILING =
|
|
4150
|
+
T.let(
|
|
4151
|
+
:CEILING,
|
|
4152
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
4153
|
+
)
|
|
4154
|
+
|
|
4155
|
+
sig do
|
|
4156
|
+
override.returns(
|
|
4157
|
+
T::Array[
|
|
4158
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
4159
|
+
]
|
|
4160
|
+
)
|
|
4161
|
+
end
|
|
4162
|
+
def self.values
|
|
4163
|
+
end
|
|
4164
|
+
end
|
|
4165
|
+
end
|
|
4166
|
+
end
|
|
4167
|
+
|
|
4168
|
+
# The frequency at which the recurring commits will be created. If not provided: -
|
|
4169
|
+
# The commits will be created on the usage invoice frequency. If provided: - The
|
|
4170
|
+
# period defined in the duration will correspond to this frequency. - Commits will
|
|
4171
|
+
# be created aligned with the recurring commit's starting_at rather than the usage
|
|
4172
|
+
# invoice dates.
|
|
4173
|
+
module RecurrenceFrequency
|
|
4174
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
4175
|
+
|
|
4176
|
+
TaggedSymbol =
|
|
4177
|
+
T.type_alias do
|
|
4178
|
+
T.all(
|
|
4179
|
+
Symbol,
|
|
4180
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::RecurrenceFrequency
|
|
4181
|
+
)
|
|
4182
|
+
end
|
|
4183
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
4184
|
+
|
|
4185
|
+
MONTHLY =
|
|
4186
|
+
T.let(
|
|
4187
|
+
:MONTHLY,
|
|
4188
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::RecurrenceFrequency::TaggedSymbol
|
|
4189
|
+
)
|
|
4190
|
+
QUARTERLY =
|
|
4191
|
+
T.let(
|
|
4192
|
+
:QUARTERLY,
|
|
4193
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::RecurrenceFrequency::TaggedSymbol
|
|
4194
|
+
)
|
|
4195
|
+
ANNUAL =
|
|
4196
|
+
T.let(
|
|
4197
|
+
:ANNUAL,
|
|
4198
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::RecurrenceFrequency::TaggedSymbol
|
|
4199
|
+
)
|
|
4200
|
+
WEEKLY =
|
|
4201
|
+
T.let(
|
|
4202
|
+
:WEEKLY,
|
|
4203
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::RecurrenceFrequency::TaggedSymbol
|
|
4204
|
+
)
|
|
4205
|
+
DAILY =
|
|
4206
|
+
T.let(
|
|
4207
|
+
:DAILY,
|
|
4208
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::RecurrenceFrequency::TaggedSymbol
|
|
4209
|
+
)
|
|
4210
|
+
|
|
4211
|
+
sig do
|
|
4212
|
+
override.returns(
|
|
4213
|
+
T::Array[
|
|
4214
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::RecurrenceFrequency::TaggedSymbol
|
|
4215
|
+
]
|
|
4216
|
+
)
|
|
4217
|
+
end
|
|
4218
|
+
def self.values
|
|
4219
|
+
end
|
|
4220
|
+
end
|
|
4221
|
+
end
|
|
4222
|
+
|
|
4223
|
+
class AddResellerRoyalty < MetronomeSDK::Internal::Type::BaseModel
|
|
3758
4224
|
OrHash =
|
|
3759
4225
|
T.type_alias do
|
|
3760
4226
|
T.any(
|
|
@@ -4152,6 +4618,23 @@ module MetronomeSDK
|
|
|
4152
4618
|
sig { params(id: String).void }
|
|
4153
4619
|
attr_writer :id
|
|
4154
4620
|
|
|
4621
|
+
sig do
|
|
4622
|
+
returns(
|
|
4623
|
+
T.nilable(
|
|
4624
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingCycleConfig
|
|
4625
|
+
)
|
|
4626
|
+
)
|
|
4627
|
+
end
|
|
4628
|
+
attr_reader :billing_cycle_config
|
|
4629
|
+
|
|
4630
|
+
sig do
|
|
4631
|
+
params(
|
|
4632
|
+
billing_cycle_config:
|
|
4633
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingCycleConfig::OrHash
|
|
4634
|
+
).void
|
|
4635
|
+
end
|
|
4636
|
+
attr_writer :billing_cycle_config
|
|
4637
|
+
|
|
4155
4638
|
# Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
|
|
4156
4639
|
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
4157
4640
|
attr_reader :custom_fields
|
|
@@ -4218,6 +4701,8 @@ module MetronomeSDK
|
|
|
4218
4701
|
subscription_rate:
|
|
4219
4702
|
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::SubscriptionRate::OrHash,
|
|
4220
4703
|
id: String,
|
|
4704
|
+
billing_cycle_config:
|
|
4705
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingCycleConfig::OrHash,
|
|
4221
4706
|
custom_fields: T::Hash[Symbol, String],
|
|
4222
4707
|
description: String,
|
|
4223
4708
|
ending_before: Time,
|
|
@@ -4248,6 +4733,7 @@ module MetronomeSDK
|
|
|
4248
4733
|
starting_at:,
|
|
4249
4734
|
subscription_rate:,
|
|
4250
4735
|
id: nil,
|
|
4736
|
+
billing_cycle_config: nil,
|
|
4251
4737
|
# Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
|
|
4252
4738
|
custom_fields: nil,
|
|
4253
4739
|
description: nil,
|
|
@@ -4277,6 +4763,8 @@ module MetronomeSDK
|
|
|
4277
4763
|
subscription_rate:
|
|
4278
4764
|
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::SubscriptionRate,
|
|
4279
4765
|
id: String,
|
|
4766
|
+
billing_cycle_config:
|
|
4767
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingCycleConfig,
|
|
4280
4768
|
custom_fields: T::Hash[Symbol, String],
|
|
4281
4769
|
description: String,
|
|
4282
4770
|
ending_before: Time,
|
|
@@ -4523,14 +5011,33 @@ module MetronomeSDK
|
|
|
4523
5011
|
sig { returns(T::Boolean) }
|
|
4524
5012
|
attr_accessor :is_prorated
|
|
4525
5013
|
|
|
5014
|
+
sig do
|
|
5015
|
+
returns(
|
|
5016
|
+
T.nilable(
|
|
5017
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration::Rounding
|
|
5018
|
+
)
|
|
5019
|
+
)
|
|
5020
|
+
end
|
|
5021
|
+
attr_reader :rounding
|
|
5022
|
+
|
|
5023
|
+
sig do
|
|
5024
|
+
params(
|
|
5025
|
+
rounding:
|
|
5026
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration::Rounding::OrHash
|
|
5027
|
+
).void
|
|
5028
|
+
end
|
|
5029
|
+
attr_writer :rounding
|
|
5030
|
+
|
|
4526
5031
|
sig do
|
|
4527
5032
|
params(
|
|
4528
5033
|
invoice_behavior:
|
|
4529
5034
|
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration::InvoiceBehavior::OrSymbol,
|
|
4530
|
-
is_prorated: T::Boolean
|
|
5035
|
+
is_prorated: T::Boolean,
|
|
5036
|
+
rounding:
|
|
5037
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration::Rounding::OrHash
|
|
4531
5038
|
).returns(T.attached_class)
|
|
4532
5039
|
end
|
|
4533
|
-
def self.new(invoice_behavior:, is_prorated:)
|
|
5040
|
+
def self.new(invoice_behavior:, is_prorated:, rounding: nil)
|
|
4534
5041
|
end
|
|
4535
5042
|
|
|
4536
5043
|
sig do
|
|
@@ -4538,7 +5045,9 @@ module MetronomeSDK
|
|
|
4538
5045
|
{
|
|
4539
5046
|
invoice_behavior:
|
|
4540
5047
|
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration::InvoiceBehavior::TaggedSymbol,
|
|
4541
|
-
is_prorated: T::Boolean
|
|
5048
|
+
is_prorated: T::Boolean,
|
|
5049
|
+
rounding:
|
|
5050
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration::Rounding
|
|
4542
5051
|
}
|
|
4543
5052
|
)
|
|
4544
5053
|
end
|
|
@@ -4578,6 +5087,96 @@ module MetronomeSDK
|
|
|
4578
5087
|
def self.values
|
|
4579
5088
|
end
|
|
4580
5089
|
end
|
|
5090
|
+
|
|
5091
|
+
class Rounding < MetronomeSDK::Internal::Type::BaseModel
|
|
5092
|
+
OrHash =
|
|
5093
|
+
T.type_alias do
|
|
5094
|
+
T.any(
|
|
5095
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration::Rounding,
|
|
5096
|
+
MetronomeSDK::Internal::AnyHash
|
|
5097
|
+
)
|
|
5098
|
+
end
|
|
5099
|
+
|
|
5100
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
5101
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
5102
|
+
# nearest 100 in the stored unit).
|
|
5103
|
+
sig { returns(Float) }
|
|
5104
|
+
attr_accessor :decimal_places
|
|
5105
|
+
|
|
5106
|
+
sig do
|
|
5107
|
+
returns(
|
|
5108
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration::Rounding::RoundingMethod::TaggedSymbol
|
|
5109
|
+
)
|
|
5110
|
+
end
|
|
5111
|
+
attr_accessor :rounding_method
|
|
5112
|
+
|
|
5113
|
+
sig do
|
|
5114
|
+
params(
|
|
5115
|
+
decimal_places: Float,
|
|
5116
|
+
rounding_method:
|
|
5117
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration::Rounding::RoundingMethod::OrSymbol
|
|
5118
|
+
).returns(T.attached_class)
|
|
5119
|
+
end
|
|
5120
|
+
def self.new(
|
|
5121
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
5122
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
5123
|
+
# nearest 100 in the stored unit).
|
|
5124
|
+
decimal_places:,
|
|
5125
|
+
rounding_method:
|
|
5126
|
+
)
|
|
5127
|
+
end
|
|
5128
|
+
|
|
5129
|
+
sig do
|
|
5130
|
+
override.returns(
|
|
5131
|
+
{
|
|
5132
|
+
decimal_places: Float,
|
|
5133
|
+
rounding_method:
|
|
5134
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration::Rounding::RoundingMethod::TaggedSymbol
|
|
5135
|
+
}
|
|
5136
|
+
)
|
|
5137
|
+
end
|
|
5138
|
+
def to_hash
|
|
5139
|
+
end
|
|
5140
|
+
|
|
5141
|
+
module RoundingMethod
|
|
5142
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
5143
|
+
|
|
5144
|
+
TaggedSymbol =
|
|
5145
|
+
T.type_alias do
|
|
5146
|
+
T.all(
|
|
5147
|
+
Symbol,
|
|
5148
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration::Rounding::RoundingMethod
|
|
5149
|
+
)
|
|
5150
|
+
end
|
|
5151
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
5152
|
+
|
|
5153
|
+
HALF_UP =
|
|
5154
|
+
T.let(
|
|
5155
|
+
:HALF_UP,
|
|
5156
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration::Rounding::RoundingMethod::TaggedSymbol
|
|
5157
|
+
)
|
|
5158
|
+
FLOOR =
|
|
5159
|
+
T.let(
|
|
5160
|
+
:FLOOR,
|
|
5161
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration::Rounding::RoundingMethod::TaggedSymbol
|
|
5162
|
+
)
|
|
5163
|
+
CEILING =
|
|
5164
|
+
T.let(
|
|
5165
|
+
:CEILING,
|
|
5166
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration::Rounding::RoundingMethod::TaggedSymbol
|
|
5167
|
+
)
|
|
5168
|
+
|
|
5169
|
+
sig do
|
|
5170
|
+
override.returns(
|
|
5171
|
+
T::Array[
|
|
5172
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::Proration::Rounding::RoundingMethod::TaggedSymbol
|
|
5173
|
+
]
|
|
5174
|
+
)
|
|
5175
|
+
end
|
|
5176
|
+
def self.values
|
|
5177
|
+
end
|
|
5178
|
+
end
|
|
5179
|
+
end
|
|
4581
5180
|
end
|
|
4582
5181
|
|
|
4583
5182
|
# Determines how the subscription's quantity is controlled. Defaults to
|
|
@@ -4789,41 +5388,128 @@ module MetronomeSDK
|
|
|
4789
5388
|
end
|
|
4790
5389
|
end
|
|
4791
5390
|
|
|
4792
|
-
class
|
|
5391
|
+
class BillingCycleConfig < MetronomeSDK::Internal::Type::BaseModel
|
|
4793
5392
|
OrHash =
|
|
4794
5393
|
T.type_alias do
|
|
4795
5394
|
T.any(
|
|
4796
|
-
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::
|
|
5395
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingCycleConfig,
|
|
4797
5396
|
MetronomeSDK::Internal::AnyHash
|
|
4798
5397
|
)
|
|
4799
5398
|
end
|
|
4800
5399
|
|
|
4801
|
-
# The
|
|
4802
|
-
|
|
4803
|
-
|
|
4804
|
-
# presentation/pricing group key on contract products. This allows linked
|
|
4805
|
-
# recurring credits with an allocation per seat to be consumed by only one seat's
|
|
4806
|
-
# usage.
|
|
4807
|
-
sig { returns(String) }
|
|
4808
|
-
attr_accessor :seat_group_key
|
|
5400
|
+
# The date this subscription's billing cycle is anchored to.
|
|
5401
|
+
sig { returns(Time) }
|
|
5402
|
+
attr_accessor :anchor_date
|
|
4809
5403
|
|
|
4810
|
-
|
|
5404
|
+
# Controls whether this subscription consolidates onto usage invoices or gets its
|
|
5405
|
+
# own scheduled invoice.
|
|
5406
|
+
sig do
|
|
5407
|
+
returns(
|
|
5408
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingCycleConfig::InvoicePlacement::TaggedSymbol
|
|
5409
|
+
)
|
|
5410
|
+
end
|
|
5411
|
+
attr_accessor :invoice_placement
|
|
5412
|
+
|
|
5413
|
+
sig do
|
|
5414
|
+
params(
|
|
5415
|
+
anchor_date: Time,
|
|
5416
|
+
invoice_placement:
|
|
5417
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingCycleConfig::InvoicePlacement::OrSymbol
|
|
5418
|
+
).returns(T.attached_class)
|
|
5419
|
+
end
|
|
4811
5420
|
def self.new(
|
|
4812
|
-
# The
|
|
4813
|
-
|
|
4814
|
-
#
|
|
4815
|
-
#
|
|
4816
|
-
|
|
4817
|
-
# usage.
|
|
4818
|
-
seat_group_key:
|
|
5421
|
+
# The date this subscription's billing cycle is anchored to.
|
|
5422
|
+
anchor_date:,
|
|
5423
|
+
# Controls whether this subscription consolidates onto usage invoices or gets its
|
|
5424
|
+
# own scheduled invoice.
|
|
5425
|
+
invoice_placement:
|
|
4819
5426
|
)
|
|
4820
5427
|
end
|
|
4821
5428
|
|
|
4822
|
-
sig
|
|
5429
|
+
sig do
|
|
5430
|
+
override.returns(
|
|
5431
|
+
{
|
|
5432
|
+
anchor_date: Time,
|
|
5433
|
+
invoice_placement:
|
|
5434
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingCycleConfig::InvoicePlacement::TaggedSymbol
|
|
5435
|
+
}
|
|
5436
|
+
)
|
|
5437
|
+
end
|
|
4823
5438
|
def to_hash
|
|
4824
5439
|
end
|
|
4825
|
-
|
|
4826
|
-
|
|
5440
|
+
|
|
5441
|
+
# Controls whether this subscription consolidates onto usage invoices or gets its
|
|
5442
|
+
# own scheduled invoice.
|
|
5443
|
+
module InvoicePlacement
|
|
5444
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
5445
|
+
|
|
5446
|
+
TaggedSymbol =
|
|
5447
|
+
T.type_alias do
|
|
5448
|
+
T.all(
|
|
5449
|
+
Symbol,
|
|
5450
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingCycleConfig::InvoicePlacement
|
|
5451
|
+
)
|
|
5452
|
+
end
|
|
5453
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
5454
|
+
|
|
5455
|
+
ON_SCHEDULED_INVOICE =
|
|
5456
|
+
T.let(
|
|
5457
|
+
:ON_SCHEDULED_INVOICE,
|
|
5458
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingCycleConfig::InvoicePlacement::TaggedSymbol
|
|
5459
|
+
)
|
|
5460
|
+
ON_USAGE_INVOICE =
|
|
5461
|
+
T.let(
|
|
5462
|
+
:ON_USAGE_INVOICE,
|
|
5463
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingCycleConfig::InvoicePlacement::TaggedSymbol
|
|
5464
|
+
)
|
|
5465
|
+
|
|
5466
|
+
sig do
|
|
5467
|
+
override.returns(
|
|
5468
|
+
T::Array[
|
|
5469
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::BillingCycleConfig::InvoicePlacement::TaggedSymbol
|
|
5470
|
+
]
|
|
5471
|
+
)
|
|
5472
|
+
end
|
|
5473
|
+
def self.values
|
|
5474
|
+
end
|
|
5475
|
+
end
|
|
5476
|
+
end
|
|
5477
|
+
|
|
5478
|
+
class SeatConfig < MetronomeSDK::Internal::Type::BaseModel
|
|
5479
|
+
OrHash =
|
|
5480
|
+
T.type_alias do
|
|
5481
|
+
T.any(
|
|
5482
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddSubscription::SeatConfig,
|
|
5483
|
+
MetronomeSDK::Internal::AnyHash
|
|
5484
|
+
)
|
|
5485
|
+
end
|
|
5486
|
+
|
|
5487
|
+
# The property name, sent on usage events, that identifies the seat ID associated
|
|
5488
|
+
# with the usage event. For example, the property name might be seat_id or
|
|
5489
|
+
# user_id. The property must be set as a group key on billable metrics and a
|
|
5490
|
+
# presentation/pricing group key on contract products. This allows linked
|
|
5491
|
+
# recurring credits with an allocation per seat to be consumed by only one seat's
|
|
5492
|
+
# usage.
|
|
5493
|
+
sig { returns(String) }
|
|
5494
|
+
attr_accessor :seat_group_key
|
|
5495
|
+
|
|
5496
|
+
sig { params(seat_group_key: String).returns(T.attached_class) }
|
|
5497
|
+
def self.new(
|
|
5498
|
+
# The property name, sent on usage events, that identifies the seat ID associated
|
|
5499
|
+
# with the usage event. For example, the property name might be seat_id or
|
|
5500
|
+
# user_id. The property must be set as a group key on billable metrics and a
|
|
5501
|
+
# presentation/pricing group key on contract products. This allows linked
|
|
5502
|
+
# recurring credits with an allocation per seat to be consumed by only one seat's
|
|
5503
|
+
# usage.
|
|
5504
|
+
seat_group_key:
|
|
5505
|
+
)
|
|
5506
|
+
end
|
|
5507
|
+
|
|
5508
|
+
sig { override.returns({ seat_group_key: String }) }
|
|
5509
|
+
def to_hash
|
|
5510
|
+
end
|
|
5511
|
+
end
|
|
5512
|
+
end
|
|
4827
5513
|
|
|
4828
5514
|
class AddUsageFilter < MetronomeSDK::Internal::Type::BaseModel
|
|
4829
5515
|
OrHash =
|
|
@@ -6781,6 +7467,8 @@ module MetronomeSDK
|
|
|
6781
7467
|
sig { params(threshold_amount: Float).void }
|
|
6782
7468
|
attr_writer :threshold_amount
|
|
6783
7469
|
|
|
7470
|
+
# Determines which balances are excluded from remaining balance calculation for
|
|
7471
|
+
# threshold billing.
|
|
6784
7472
|
sig do
|
|
6785
7473
|
returns(
|
|
6786
7474
|
T.nilable(
|
|
@@ -6830,6 +7518,8 @@ module MetronomeSDK
|
|
|
6830
7518
|
# Specify the threshold amount for the contract. Each time the contract's balance
|
|
6831
7519
|
# lowers to this amount, a threshold charge will be initiated.
|
|
6832
7520
|
threshold_amount: nil,
|
|
7521
|
+
# Determines which balances are excluded from remaining balance calculation for
|
|
7522
|
+
# threshold billing.
|
|
6833
7523
|
threshold_balance_specifiers: nil
|
|
6834
7524
|
)
|
|
6835
7525
|
end
|
|
@@ -7269,6 +7959,26 @@ module MetronomeSDK
|
|
|
7269
7959
|
end
|
|
7270
7960
|
attr_writer :invoice_amount
|
|
7271
7961
|
|
|
7962
|
+
# Rounding configuration for prorated recurring commit amounts.
|
|
7963
|
+
sig do
|
|
7964
|
+
returns(
|
|
7965
|
+
T.nilable(
|
|
7966
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding
|
|
7967
|
+
)
|
|
7968
|
+
)
|
|
7969
|
+
end
|
|
7970
|
+
attr_reader :proration_rounding
|
|
7971
|
+
|
|
7972
|
+
sig do
|
|
7973
|
+
params(
|
|
7974
|
+
proration_rounding:
|
|
7975
|
+
T.nilable(
|
|
7976
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::OrHash
|
|
7977
|
+
)
|
|
7978
|
+
).void
|
|
7979
|
+
end
|
|
7980
|
+
attr_writer :proration_rounding
|
|
7981
|
+
|
|
7272
7982
|
sig do
|
|
7273
7983
|
returns(
|
|
7274
7984
|
T.nilable(
|
|
@@ -7294,6 +8004,10 @@ module MetronomeSDK
|
|
|
7294
8004
|
ending_before: Time,
|
|
7295
8005
|
invoice_amount:
|
|
7296
8006
|
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::InvoiceAmount::OrHash,
|
|
8007
|
+
proration_rounding:
|
|
8008
|
+
T.nilable(
|
|
8009
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::OrHash
|
|
8010
|
+
),
|
|
7297
8011
|
rate_type:
|
|
7298
8012
|
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::RateType::OrSymbol
|
|
7299
8013
|
).returns(T.attached_class)
|
|
@@ -7303,6 +8017,8 @@ module MetronomeSDK
|
|
|
7303
8017
|
access_amount: nil,
|
|
7304
8018
|
ending_before: nil,
|
|
7305
8019
|
invoice_amount: nil,
|
|
8020
|
+
# Rounding configuration for prorated recurring commit amounts.
|
|
8021
|
+
proration_rounding: nil,
|
|
7306
8022
|
rate_type: nil
|
|
7307
8023
|
)
|
|
7308
8024
|
end
|
|
@@ -7316,6 +8032,10 @@ module MetronomeSDK
|
|
|
7316
8032
|
ending_before: Time,
|
|
7317
8033
|
invoice_amount:
|
|
7318
8034
|
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::InvoiceAmount,
|
|
8035
|
+
proration_rounding:
|
|
8036
|
+
T.nilable(
|
|
8037
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding
|
|
8038
|
+
),
|
|
7319
8039
|
rate_type:
|
|
7320
8040
|
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::RateType::TaggedSymbol
|
|
7321
8041
|
}
|
|
@@ -7392,6 +8112,255 @@ module MetronomeSDK
|
|
|
7392
8112
|
end
|
|
7393
8113
|
end
|
|
7394
8114
|
|
|
8115
|
+
class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
|
|
8116
|
+
OrHash =
|
|
8117
|
+
T.type_alias do
|
|
8118
|
+
T.any(
|
|
8119
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding,
|
|
8120
|
+
MetronomeSDK::Internal::AnyHash
|
|
8121
|
+
)
|
|
8122
|
+
end
|
|
8123
|
+
|
|
8124
|
+
sig do
|
|
8125
|
+
returns(
|
|
8126
|
+
T.nilable(
|
|
8127
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Access
|
|
8128
|
+
)
|
|
8129
|
+
)
|
|
8130
|
+
end
|
|
8131
|
+
attr_reader :access
|
|
8132
|
+
|
|
8133
|
+
sig do
|
|
8134
|
+
params(
|
|
8135
|
+
access:
|
|
8136
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Access::OrHash
|
|
8137
|
+
).void
|
|
8138
|
+
end
|
|
8139
|
+
attr_writer :access
|
|
8140
|
+
|
|
8141
|
+
sig do
|
|
8142
|
+
returns(
|
|
8143
|
+
T.nilable(
|
|
8144
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Invoice
|
|
8145
|
+
)
|
|
8146
|
+
)
|
|
8147
|
+
end
|
|
8148
|
+
attr_reader :invoice
|
|
8149
|
+
|
|
8150
|
+
sig do
|
|
8151
|
+
params(
|
|
8152
|
+
invoice:
|
|
8153
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Invoice::OrHash
|
|
8154
|
+
).void
|
|
8155
|
+
end
|
|
8156
|
+
attr_writer :invoice
|
|
8157
|
+
|
|
8158
|
+
# Rounding configuration for prorated recurring commit amounts.
|
|
8159
|
+
sig do
|
|
8160
|
+
params(
|
|
8161
|
+
access:
|
|
8162
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Access::OrHash,
|
|
8163
|
+
invoice:
|
|
8164
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Invoice::OrHash
|
|
8165
|
+
).returns(T.attached_class)
|
|
8166
|
+
end
|
|
8167
|
+
def self.new(access: nil, invoice: nil)
|
|
8168
|
+
end
|
|
8169
|
+
|
|
8170
|
+
sig do
|
|
8171
|
+
override.returns(
|
|
8172
|
+
{
|
|
8173
|
+
access:
|
|
8174
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Access,
|
|
8175
|
+
invoice:
|
|
8176
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Invoice
|
|
8177
|
+
}
|
|
8178
|
+
)
|
|
8179
|
+
end
|
|
8180
|
+
def to_hash
|
|
8181
|
+
end
|
|
8182
|
+
|
|
8183
|
+
class Access < MetronomeSDK::Internal::Type::BaseModel
|
|
8184
|
+
OrHash =
|
|
8185
|
+
T.type_alias do
|
|
8186
|
+
T.any(
|
|
8187
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Access,
|
|
8188
|
+
MetronomeSDK::Internal::AnyHash
|
|
8189
|
+
)
|
|
8190
|
+
end
|
|
8191
|
+
|
|
8192
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
8193
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
8194
|
+
# nearest 100 in the stored unit).
|
|
8195
|
+
sig { returns(Float) }
|
|
8196
|
+
attr_accessor :decimal_places
|
|
8197
|
+
|
|
8198
|
+
sig do
|
|
8199
|
+
returns(
|
|
8200
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
8201
|
+
)
|
|
8202
|
+
end
|
|
8203
|
+
attr_accessor :rounding_method
|
|
8204
|
+
|
|
8205
|
+
sig do
|
|
8206
|
+
params(
|
|
8207
|
+
decimal_places: Float,
|
|
8208
|
+
rounding_method:
|
|
8209
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Access::RoundingMethod::OrSymbol
|
|
8210
|
+
).returns(T.attached_class)
|
|
8211
|
+
end
|
|
8212
|
+
def self.new(
|
|
8213
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
8214
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
8215
|
+
# nearest 100 in the stored unit).
|
|
8216
|
+
decimal_places:,
|
|
8217
|
+
rounding_method:
|
|
8218
|
+
)
|
|
8219
|
+
end
|
|
8220
|
+
|
|
8221
|
+
sig do
|
|
8222
|
+
override.returns(
|
|
8223
|
+
{
|
|
8224
|
+
decimal_places: Float,
|
|
8225
|
+
rounding_method:
|
|
8226
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
8227
|
+
}
|
|
8228
|
+
)
|
|
8229
|
+
end
|
|
8230
|
+
def to_hash
|
|
8231
|
+
end
|
|
8232
|
+
|
|
8233
|
+
module RoundingMethod
|
|
8234
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
8235
|
+
|
|
8236
|
+
TaggedSymbol =
|
|
8237
|
+
T.type_alias do
|
|
8238
|
+
T.all(
|
|
8239
|
+
Symbol,
|
|
8240
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Access::RoundingMethod
|
|
8241
|
+
)
|
|
8242
|
+
end
|
|
8243
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
8244
|
+
|
|
8245
|
+
HALF_UP =
|
|
8246
|
+
T.let(
|
|
8247
|
+
:HALF_UP,
|
|
8248
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
8249
|
+
)
|
|
8250
|
+
FLOOR =
|
|
8251
|
+
T.let(
|
|
8252
|
+
:FLOOR,
|
|
8253
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
8254
|
+
)
|
|
8255
|
+
CEILING =
|
|
8256
|
+
T.let(
|
|
8257
|
+
:CEILING,
|
|
8258
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
8259
|
+
)
|
|
8260
|
+
|
|
8261
|
+
sig do
|
|
8262
|
+
override.returns(
|
|
8263
|
+
T::Array[
|
|
8264
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
8265
|
+
]
|
|
8266
|
+
)
|
|
8267
|
+
end
|
|
8268
|
+
def self.values
|
|
8269
|
+
end
|
|
8270
|
+
end
|
|
8271
|
+
end
|
|
8272
|
+
|
|
8273
|
+
class Invoice < MetronomeSDK::Internal::Type::BaseModel
|
|
8274
|
+
OrHash =
|
|
8275
|
+
T.type_alias do
|
|
8276
|
+
T.any(
|
|
8277
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Invoice,
|
|
8278
|
+
MetronomeSDK::Internal::AnyHash
|
|
8279
|
+
)
|
|
8280
|
+
end
|
|
8281
|
+
|
|
8282
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
8283
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
8284
|
+
# nearest 100 in the stored unit).
|
|
8285
|
+
sig { returns(Float) }
|
|
8286
|
+
attr_accessor :decimal_places
|
|
8287
|
+
|
|
8288
|
+
sig do
|
|
8289
|
+
returns(
|
|
8290
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Invoice::RoundingMethod::TaggedSymbol
|
|
8291
|
+
)
|
|
8292
|
+
end
|
|
8293
|
+
attr_accessor :rounding_method
|
|
8294
|
+
|
|
8295
|
+
sig do
|
|
8296
|
+
params(
|
|
8297
|
+
decimal_places: Float,
|
|
8298
|
+
rounding_method:
|
|
8299
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Invoice::RoundingMethod::OrSymbol
|
|
8300
|
+
).returns(T.attached_class)
|
|
8301
|
+
end
|
|
8302
|
+
def self.new(
|
|
8303
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
8304
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
8305
|
+
# nearest 100 in the stored unit).
|
|
8306
|
+
decimal_places:,
|
|
8307
|
+
rounding_method:
|
|
8308
|
+
)
|
|
8309
|
+
end
|
|
8310
|
+
|
|
8311
|
+
sig do
|
|
8312
|
+
override.returns(
|
|
8313
|
+
{
|
|
8314
|
+
decimal_places: Float,
|
|
8315
|
+
rounding_method:
|
|
8316
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Invoice::RoundingMethod::TaggedSymbol
|
|
8317
|
+
}
|
|
8318
|
+
)
|
|
8319
|
+
end
|
|
8320
|
+
def to_hash
|
|
8321
|
+
end
|
|
8322
|
+
|
|
8323
|
+
module RoundingMethod
|
|
8324
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
8325
|
+
|
|
8326
|
+
TaggedSymbol =
|
|
8327
|
+
T.type_alias do
|
|
8328
|
+
T.all(
|
|
8329
|
+
Symbol,
|
|
8330
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Invoice::RoundingMethod
|
|
8331
|
+
)
|
|
8332
|
+
end
|
|
8333
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
8334
|
+
|
|
8335
|
+
HALF_UP =
|
|
8336
|
+
T.let(
|
|
8337
|
+
:HALF_UP,
|
|
8338
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Invoice::RoundingMethod::TaggedSymbol
|
|
8339
|
+
)
|
|
8340
|
+
FLOOR =
|
|
8341
|
+
T.let(
|
|
8342
|
+
:FLOOR,
|
|
8343
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Invoice::RoundingMethod::TaggedSymbol
|
|
8344
|
+
)
|
|
8345
|
+
CEILING =
|
|
8346
|
+
T.let(
|
|
8347
|
+
:CEILING,
|
|
8348
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Invoice::RoundingMethod::TaggedSymbol
|
|
8349
|
+
)
|
|
8350
|
+
|
|
8351
|
+
sig do
|
|
8352
|
+
override.returns(
|
|
8353
|
+
T::Array[
|
|
8354
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCommit::ProrationRounding::Invoice::RoundingMethod::TaggedSymbol
|
|
8355
|
+
]
|
|
8356
|
+
)
|
|
8357
|
+
end
|
|
8358
|
+
def self.values
|
|
8359
|
+
end
|
|
8360
|
+
end
|
|
8361
|
+
end
|
|
8362
|
+
end
|
|
8363
|
+
|
|
7395
8364
|
module RateType
|
|
7396
8365
|
extend MetronomeSDK::Internal::Type::Enum
|
|
7397
8366
|
|
|
@@ -7462,6 +8431,26 @@ module MetronomeSDK
|
|
|
7462
8431
|
sig { params(ending_before: Time).void }
|
|
7463
8432
|
attr_writer :ending_before
|
|
7464
8433
|
|
|
8434
|
+
# Rounding configuration for prorated recurring credit amounts.
|
|
8435
|
+
sig do
|
|
8436
|
+
returns(
|
|
8437
|
+
T.nilable(
|
|
8438
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::ProrationRounding
|
|
8439
|
+
)
|
|
8440
|
+
)
|
|
8441
|
+
end
|
|
8442
|
+
attr_reader :proration_rounding
|
|
8443
|
+
|
|
8444
|
+
sig do
|
|
8445
|
+
params(
|
|
8446
|
+
proration_rounding:
|
|
8447
|
+
T.nilable(
|
|
8448
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::ProrationRounding::OrHash
|
|
8449
|
+
)
|
|
8450
|
+
).void
|
|
8451
|
+
end
|
|
8452
|
+
attr_writer :proration_rounding
|
|
8453
|
+
|
|
7465
8454
|
sig do
|
|
7466
8455
|
returns(
|
|
7467
8456
|
T.nilable(
|
|
@@ -7485,6 +8474,10 @@ module MetronomeSDK
|
|
|
7485
8474
|
access_amount:
|
|
7486
8475
|
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::AccessAmount::OrHash,
|
|
7487
8476
|
ending_before: Time,
|
|
8477
|
+
proration_rounding:
|
|
8478
|
+
T.nilable(
|
|
8479
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::ProrationRounding::OrHash
|
|
8480
|
+
),
|
|
7488
8481
|
rate_type:
|
|
7489
8482
|
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::RateType::OrSymbol
|
|
7490
8483
|
).returns(T.attached_class)
|
|
@@ -7493,6 +8486,8 @@ module MetronomeSDK
|
|
|
7493
8486
|
id:,
|
|
7494
8487
|
access_amount: nil,
|
|
7495
8488
|
ending_before: nil,
|
|
8489
|
+
# Rounding configuration for prorated recurring credit amounts.
|
|
8490
|
+
proration_rounding: nil,
|
|
7496
8491
|
rate_type: nil
|
|
7497
8492
|
)
|
|
7498
8493
|
end
|
|
@@ -7504,6 +8499,10 @@ module MetronomeSDK
|
|
|
7504
8499
|
access_amount:
|
|
7505
8500
|
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::AccessAmount,
|
|
7506
8501
|
ending_before: Time,
|
|
8502
|
+
proration_rounding:
|
|
8503
|
+
T.nilable(
|
|
8504
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::ProrationRounding
|
|
8505
|
+
),
|
|
7507
8506
|
rate_type:
|
|
7508
8507
|
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::RateType::TaggedSymbol
|
|
7509
8508
|
}
|
|
@@ -7546,6 +8545,144 @@ module MetronomeSDK
|
|
|
7546
8545
|
end
|
|
7547
8546
|
end
|
|
7548
8547
|
|
|
8548
|
+
class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
|
|
8549
|
+
OrHash =
|
|
8550
|
+
T.type_alias do
|
|
8551
|
+
T.any(
|
|
8552
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::ProrationRounding,
|
|
8553
|
+
MetronomeSDK::Internal::AnyHash
|
|
8554
|
+
)
|
|
8555
|
+
end
|
|
8556
|
+
|
|
8557
|
+
sig do
|
|
8558
|
+
returns(
|
|
8559
|
+
T.nilable(
|
|
8560
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::ProrationRounding::Access
|
|
8561
|
+
)
|
|
8562
|
+
)
|
|
8563
|
+
end
|
|
8564
|
+
attr_reader :access
|
|
8565
|
+
|
|
8566
|
+
sig do
|
|
8567
|
+
params(
|
|
8568
|
+
access:
|
|
8569
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::ProrationRounding::Access::OrHash
|
|
8570
|
+
).void
|
|
8571
|
+
end
|
|
8572
|
+
attr_writer :access
|
|
8573
|
+
|
|
8574
|
+
# Rounding configuration for prorated recurring credit amounts.
|
|
8575
|
+
sig do
|
|
8576
|
+
params(
|
|
8577
|
+
access:
|
|
8578
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::ProrationRounding::Access::OrHash
|
|
8579
|
+
).returns(T.attached_class)
|
|
8580
|
+
end
|
|
8581
|
+
def self.new(access: nil)
|
|
8582
|
+
end
|
|
8583
|
+
|
|
8584
|
+
sig do
|
|
8585
|
+
override.returns(
|
|
8586
|
+
{
|
|
8587
|
+
access:
|
|
8588
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::ProrationRounding::Access
|
|
8589
|
+
}
|
|
8590
|
+
)
|
|
8591
|
+
end
|
|
8592
|
+
def to_hash
|
|
8593
|
+
end
|
|
8594
|
+
|
|
8595
|
+
class Access < MetronomeSDK::Internal::Type::BaseModel
|
|
8596
|
+
OrHash =
|
|
8597
|
+
T.type_alias do
|
|
8598
|
+
T.any(
|
|
8599
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::ProrationRounding::Access,
|
|
8600
|
+
MetronomeSDK::Internal::AnyHash
|
|
8601
|
+
)
|
|
8602
|
+
end
|
|
8603
|
+
|
|
8604
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
8605
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
8606
|
+
# nearest 100 in the stored unit).
|
|
8607
|
+
sig { returns(Float) }
|
|
8608
|
+
attr_accessor :decimal_places
|
|
8609
|
+
|
|
8610
|
+
sig do
|
|
8611
|
+
returns(
|
|
8612
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
8613
|
+
)
|
|
8614
|
+
end
|
|
8615
|
+
attr_accessor :rounding_method
|
|
8616
|
+
|
|
8617
|
+
sig do
|
|
8618
|
+
params(
|
|
8619
|
+
decimal_places: Float,
|
|
8620
|
+
rounding_method:
|
|
8621
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::ProrationRounding::Access::RoundingMethod::OrSymbol
|
|
8622
|
+
).returns(T.attached_class)
|
|
8623
|
+
end
|
|
8624
|
+
def self.new(
|
|
8625
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
8626
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
8627
|
+
# nearest 100 in the stored unit).
|
|
8628
|
+
decimal_places:,
|
|
8629
|
+
rounding_method:
|
|
8630
|
+
)
|
|
8631
|
+
end
|
|
8632
|
+
|
|
8633
|
+
sig do
|
|
8634
|
+
override.returns(
|
|
8635
|
+
{
|
|
8636
|
+
decimal_places: Float,
|
|
8637
|
+
rounding_method:
|
|
8638
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
8639
|
+
}
|
|
8640
|
+
)
|
|
8641
|
+
end
|
|
8642
|
+
def to_hash
|
|
8643
|
+
end
|
|
8644
|
+
|
|
8645
|
+
module RoundingMethod
|
|
8646
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
8647
|
+
|
|
8648
|
+
TaggedSymbol =
|
|
8649
|
+
T.type_alias do
|
|
8650
|
+
T.all(
|
|
8651
|
+
Symbol,
|
|
8652
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::ProrationRounding::Access::RoundingMethod
|
|
8653
|
+
)
|
|
8654
|
+
end
|
|
8655
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
8656
|
+
|
|
8657
|
+
HALF_UP =
|
|
8658
|
+
T.let(
|
|
8659
|
+
:HALF_UP,
|
|
8660
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
8661
|
+
)
|
|
8662
|
+
FLOOR =
|
|
8663
|
+
T.let(
|
|
8664
|
+
:FLOOR,
|
|
8665
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
8666
|
+
)
|
|
8667
|
+
CEILING =
|
|
8668
|
+
T.let(
|
|
8669
|
+
:CEILING,
|
|
8670
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
8671
|
+
)
|
|
8672
|
+
|
|
8673
|
+
sig do
|
|
8674
|
+
override.returns(
|
|
8675
|
+
T::Array[
|
|
8676
|
+
MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::UpdateRecurringCredit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
8677
|
+
]
|
|
8678
|
+
)
|
|
8679
|
+
end
|
|
8680
|
+
def self.values
|
|
8681
|
+
end
|
|
8682
|
+
end
|
|
8683
|
+
end
|
|
8684
|
+
end
|
|
8685
|
+
|
|
7549
8686
|
module RateType
|
|
7550
8687
|
extend MetronomeSDK::Internal::Type::Enum
|
|
7551
8688
|
|