metronome-sdk 3.1.0 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +30 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/internal/util.rb +32 -1
  5. data/lib/metronome_sdk/models/commit_rate.rb +29 -3
  6. data/lib/metronome_sdk/models/contract.rb +1 -9
  7. data/lib/metronome_sdk/models/contract_v2.rb +22 -1
  8. data/lib/metronome_sdk/models/overwrite_rate.rb +22 -1
  9. data/lib/metronome_sdk/models/payment_gate_config.rb +0 -1
  10. data/lib/metronome_sdk/models/payment_gate_config_v2.rb +0 -1
  11. data/lib/metronome_sdk/models/rate.rb +22 -1
  12. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +23 -2
  13. data/lib/metronome_sdk/models/v1/contract_create_params.rb +24 -11
  14. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +23 -1
  15. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +21 -1
  16. data/lib/metronome_sdk/models/v1/customers/invoice.rb +10 -1
  17. data/lib/metronome_sdk/models/v1/package_archive_params.rb +24 -0
  18. data/lib/metronome_sdk/models/v1/package_archive_response.rb +18 -0
  19. data/lib/metronome_sdk/models/v1/package_create_params.rb +2719 -0
  20. data/lib/metronome_sdk/models/v1/package_create_response.rb +18 -0
  21. data/lib/metronome_sdk/models/v1/package_list_contracts_on_package_params.rb +69 -0
  22. data/lib/metronome_sdk/models/v1/package_list_contracts_on_package_response.rb +42 -0
  23. data/lib/metronome_sdk/models/v1/package_list_params.rb +52 -0
  24. data/lib/metronome_sdk/models/v1/package_list_response.rb +2446 -0
  25. data/lib/metronome_sdk/models/v1/package_retrieve_params.rb +22 -0
  26. data/lib/metronome_sdk/models/v1/package_retrieve_response.rb +2479 -0
  27. data/lib/metronome_sdk/models/v1/usage_list_with_groups_params.rb +39 -2
  28. data/lib/metronome_sdk/models/v1/usage_list_with_groups_response.rb +27 -3
  29. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +23 -2
  30. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +23 -1
  31. data/lib/metronome_sdk/resources/v1/alerts.rb +5 -0
  32. data/lib/metronome_sdk/resources/v1/audit_logs.rb +4 -1
  33. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +5 -1
  34. data/lib/metronome_sdk/resources/v1/contracts/named_schedules.rb +2 -0
  35. data/lib/metronome_sdk/resources/v1/contracts/products.rb +4 -2
  36. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/named_schedules.rb +2 -0
  37. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +1 -0
  38. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +7 -3
  39. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +10 -3
  40. data/lib/metronome_sdk/resources/v1/contracts.rb +8 -5
  41. data/lib/metronome_sdk/resources/v1/credit_grants.rb +9 -4
  42. data/lib/metronome_sdk/resources/v1/custom_fields.rb +6 -2
  43. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +8 -2
  44. data/lib/metronome_sdk/resources/v1/customers/billing_config.rb +4 -0
  45. data/lib/metronome_sdk/resources/v1/customers/commits.rb +1 -0
  46. data/lib/metronome_sdk/resources/v1/customers/credits.rb +1 -0
  47. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +10 -3
  48. data/lib/metronome_sdk/resources/v1/customers/named_schedules.rb +2 -0
  49. data/lib/metronome_sdk/resources/v1/customers/plans.rb +8 -2
  50. data/lib/metronome_sdk/resources/v1/customers.rb +27 -3
  51. data/lib/metronome_sdk/resources/v1/dashboards.rb +4 -0
  52. data/lib/metronome_sdk/resources/v1/invoices.rb +4 -0
  53. data/lib/metronome_sdk/resources/v1/packages.rb +269 -0
  54. data/lib/metronome_sdk/resources/v1/plans.rb +10 -3
  55. data/lib/metronome_sdk/resources/v1/pricing_units.rb +4 -1
  56. data/lib/metronome_sdk/resources/v1/services.rb +2 -0
  57. data/lib/metronome_sdk/resources/v1/settings/billing_providers.rb +2 -0
  58. data/lib/metronome_sdk/resources/v1/settings.rb +4 -0
  59. data/lib/metronome_sdk/resources/v1/usage.rb +26 -13
  60. data/lib/metronome_sdk/resources/v1.rb +41 -0
  61. data/lib/metronome_sdk/version.rb +1 -1
  62. data/lib/metronome_sdk.rb +11 -0
  63. data/rbi/metronome_sdk/internal/util.rbi +21 -1
  64. data/rbi/metronome_sdk/models/commit_rate.rbi +43 -2
  65. data/rbi/metronome_sdk/models/contract.rbi +0 -11
  66. data/rbi/metronome_sdk/models/contract_v2.rbi +46 -0
  67. data/rbi/metronome_sdk/models/overwrite_rate.rbi +37 -0
  68. data/rbi/metronome_sdk/models/payment_gate_config.rbi +0 -5
  69. data/rbi/metronome_sdk/models/payment_gate_config_v2.rbi +0 -5
  70. data/rbi/metronome_sdk/models/rate.rbi +35 -0
  71. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +46 -5
  72. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +46 -16
  73. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +46 -0
  74. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +46 -0
  75. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +13 -0
  76. data/rbi/metronome_sdk/models/v1/package_archive_params.rbi +48 -0
  77. data/rbi/metronome_sdk/models/v1/package_archive_response.rbi +31 -0
  78. data/rbi/metronome_sdk/models/v1/package_create_params.rbi +6362 -0
  79. data/rbi/metronome_sdk/models/v1/package_create_response.rbi +31 -0
  80. data/rbi/metronome_sdk/models/v1/package_list_contracts_on_package_params.rbi +105 -0
  81. data/rbi/metronome_sdk/models/v1/package_list_contracts_on_package_response.rbi +70 -0
  82. data/rbi/metronome_sdk/models/v1/package_list_params.rbi +123 -0
  83. data/rbi/metronome_sdk/models/v1/package_list_response.rbi +5796 -0
  84. data/rbi/metronome_sdk/models/v1/package_retrieve_params.rbi +43 -0
  85. data/rbi/metronome_sdk/models/v1/package_retrieve_response.rbi +5864 -0
  86. data/rbi/metronome_sdk/models/v1/usage_list_with_groups_params.rbi +52 -0
  87. data/rbi/metronome_sdk/models/v1/usage_list_with_groups_response.rbi +24 -3
  88. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +46 -5
  89. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +46 -0
  90. data/rbi/metronome_sdk/resources/v1/alerts.rbi +5 -0
  91. data/rbi/metronome_sdk/resources/v1/audit_logs.rbi +2 -0
  92. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +3 -0
  93. data/rbi/metronome_sdk/resources/v1/contracts/named_schedules.rbi +2 -0
  94. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +1 -0
  95. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/named_schedules.rbi +2 -0
  96. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbi +1 -0
  97. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +5 -0
  98. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +5 -0
  99. data/rbi/metronome_sdk/resources/v1/contracts.rbi +4 -3
  100. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +3 -0
  101. data/rbi/metronome_sdk/resources/v1/custom_fields.rbi +3 -0
  102. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +5 -0
  103. data/rbi/metronome_sdk/resources/v1/customers/billing_config.rbi +4 -0
  104. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +1 -0
  105. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +1 -0
  106. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +4 -0
  107. data/rbi/metronome_sdk/resources/v1/customers/named_schedules.rbi +2 -0
  108. data/rbi/metronome_sdk/resources/v1/customers/plans.rbi +4 -0
  109. data/rbi/metronome_sdk/resources/v1/customers.rbi +21 -0
  110. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +4 -0
  111. data/rbi/metronome_sdk/resources/v1/invoices.rbi +4 -0
  112. data/rbi/metronome_sdk/resources/v1/packages.rbi +268 -0
  113. data/rbi/metronome_sdk/resources/v1/plans.rbi +4 -0
  114. data/rbi/metronome_sdk/resources/v1/pricing_units.rbi +2 -0
  115. data/rbi/metronome_sdk/resources/v1/services.rbi +2 -0
  116. data/rbi/metronome_sdk/resources/v1/settings/billing_providers.rbi +2 -0
  117. data/rbi/metronome_sdk/resources/v1/settings.rbi +4 -0
  118. data/rbi/metronome_sdk/resources/v1/usage.rbi +35 -8
  119. data/rbi/metronome_sdk/resources/v1.rbi +40 -0
  120. data/sig/metronome_sdk/internal/util.rbs +10 -0
  121. data/sig/metronome_sdk/models/commit_rate.rbs +19 -0
  122. data/sig/metronome_sdk/models/contract.rbs +0 -7
  123. data/sig/metronome_sdk/models/contract_v2.rbs +19 -0
  124. data/sig/metronome_sdk/models/overwrite_rate.rbs +19 -0
  125. data/sig/metronome_sdk/models/payment_gate_config.rbs +1 -2
  126. data/sig/metronome_sdk/models/payment_gate_config_v2.rbs +1 -2
  127. data/sig/metronome_sdk/models/rate.rbs +19 -0
  128. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +20 -2
  129. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +20 -9
  130. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +19 -0
  131. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +19 -0
  132. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +7 -0
  133. data/sig/metronome_sdk/models/v1/package_archive_params.rbs +26 -0
  134. data/sig/metronome_sdk/models/v1/package_archive_response.rbs +15 -0
  135. data/sig/metronome_sdk/models/v1/package_create_params.rbs +2532 -0
  136. data/sig/metronome_sdk/models/v1/package_create_response.rbs +15 -0
  137. data/sig/metronome_sdk/models/v1/package_list_contracts_on_package_params.rbs +63 -0
  138. data/sig/metronome_sdk/models/v1/package_list_contracts_on_package_response.rbs +46 -0
  139. data/sig/metronome_sdk/models/v1/package_list_params.rbs +58 -0
  140. data/sig/metronome_sdk/models/v1/package_list_response.rbs +2441 -0
  141. data/sig/metronome_sdk/models/v1/package_retrieve_params.rbs +26 -0
  142. data/sig/metronome_sdk/models/v1/package_retrieve_response.rbs +2467 -0
  143. data/sig/metronome_sdk/models/v1/usage_list_with_groups_params.rbs +16 -0
  144. data/sig/metronome_sdk/models/v1/usage_list_with_groups_response.rbs +10 -3
  145. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +20 -2
  146. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +19 -0
  147. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -0
  148. data/sig/metronome_sdk/resources/v1/contracts.rbs +0 -1
  149. data/sig/metronome_sdk/resources/v1/packages.rbs +63 -0
  150. data/sig/metronome_sdk/resources/v1/usage.rbs +2 -0
  151. data/sig/metronome_sdk/resources/v1.rbs +2 -0
  152. metadata +35 -2
@@ -1469,11 +1469,6 @@ module MetronomeSDK
1469
1469
  :ANROK,
1470
1470
  MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::TaxType::TaggedSymbol
1471
1471
  )
1472
- AVALARA =
1473
- T.let(
1474
- :AVALARA,
1475
- MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::TaxType::TaggedSymbol
1476
- )
1477
1472
  PRECALCULATED =
1478
1473
  T.let(
1479
1474
  :PRECALCULATED,
@@ -2839,6 +2834,24 @@ module MetronomeSDK
2839
2834
  sig { params(is_prorated: T::Boolean).void }
2840
2835
  attr_writer :is_prorated
2841
2836
 
2837
+ # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
2838
+ sig do
2839
+ returns(
2840
+ T.nilable(
2841
+ MetronomeSDK::V1::ContractAmendParams::Override::OverwriteRate::MinimumConfig
2842
+ )
2843
+ )
2844
+ end
2845
+ attr_reader :minimum_config
2846
+
2847
+ sig do
2848
+ params(
2849
+ minimum_config:
2850
+ MetronomeSDK::V1::ContractAmendParams::Override::OverwriteRate::MinimumConfig::OrHash
2851
+ ).void
2852
+ end
2853
+ attr_writer :minimum_config
2854
+
2842
2855
  # Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
2843
2856
  # this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
2844
2857
  sig { returns(T.nilable(Float)) }
@@ -2869,6 +2882,8 @@ module MetronomeSDK
2869
2882
  credit_type_id: String,
2870
2883
  custom_rate: T::Hash[Symbol, T.anything],
2871
2884
  is_prorated: T::Boolean,
2885
+ minimum_config:
2886
+ MetronomeSDK::V1::ContractAmendParams::Override::OverwriteRate::MinimumConfig::OrHash,
2872
2887
  price: Float,
2873
2888
  quantity: Float,
2874
2889
  tiers: T::Array[MetronomeSDK::Tier::OrHash]
@@ -2883,6 +2898,8 @@ module MetronomeSDK
2883
2898
  # Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
2884
2899
  # set to true.
2885
2900
  is_prorated: nil,
2901
+ # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
2902
+ minimum_config: nil,
2886
2903
  # Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
2887
2904
  # this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
2888
2905
  price: nil,
@@ -2901,6 +2918,8 @@ module MetronomeSDK
2901
2918
  credit_type_id: String,
2902
2919
  custom_rate: T::Hash[Symbol, T.anything],
2903
2920
  is_prorated: T::Boolean,
2921
+ minimum_config:
2922
+ MetronomeSDK::V1::ContractAmendParams::Override::OverwriteRate::MinimumConfig,
2904
2923
  price: Float,
2905
2924
  quantity: Float,
2906
2925
  tiers: T::Array[MetronomeSDK::Tier]
@@ -2963,6 +2982,28 @@ module MetronomeSDK
2963
2982
  def self.values
2964
2983
  end
2965
2984
  end
2985
+
2986
+ class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
2987
+ OrHash =
2988
+ T.type_alias do
2989
+ T.any(
2990
+ MetronomeSDK::V1::ContractAmendParams::Override::OverwriteRate::MinimumConfig,
2991
+ MetronomeSDK::Internal::AnyHash
2992
+ )
2993
+ end
2994
+
2995
+ sig { returns(Float) }
2996
+ attr_accessor :minimum
2997
+
2998
+ # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
2999
+ sig { params(minimum: Float).returns(T.attached_class) }
3000
+ def self.new(minimum:)
3001
+ end
3002
+
3003
+ sig { override.returns({ minimum: Float }) }
3004
+ def to_hash
3005
+ end
3006
+ end
2966
3007
  end
2967
3008
 
2968
3009
  # Indicates whether the override applies to commit rates or list rates. Can only
@@ -207,13 +207,6 @@ module MetronomeSDK
207
207
  end
208
208
  attr_writer :prepaid_balance_threshold_configuration
209
209
 
210
- # Priority of the contract.
211
- sig { returns(T.nilable(Float)) }
212
- attr_reader :priority
213
-
214
- sig { params(priority: Float).void }
215
- attr_writer :priority
216
-
217
210
  # This field's availability is dependent on your client's configuration.
218
211
  sig do
219
212
  returns(
@@ -491,7 +484,6 @@ module MetronomeSDK
491
484
  package_id: String,
492
485
  prepaid_balance_threshold_configuration:
493
486
  MetronomeSDK::PrepaidBalanceThresholdConfiguration::OrHash,
494
- priority: Float,
495
487
  professional_services:
496
488
  T::Array[
497
489
  MetronomeSDK::V1::ContractCreateParams::ProfessionalService::OrHash
@@ -569,8 +561,6 @@ module MetronomeSDK
569
561
  # and uniqueness_key are allowed.
570
562
  package_id: nil,
571
563
  prepaid_balance_threshold_configuration: nil,
572
- # Priority of the contract.
573
- priority: nil,
574
564
  # This field's availability is dependent on your client's configuration.
575
565
  professional_services: nil,
576
566
  # Selects the rate card linked to the specified alias as of the contract's start
@@ -637,7 +627,6 @@ module MetronomeSDK
637
627
  package_id: String,
638
628
  prepaid_balance_threshold_configuration:
639
629
  MetronomeSDK::PrepaidBalanceThresholdConfiguration,
640
- priority: Float,
641
630
  professional_services:
642
631
  T::Array[
643
632
  MetronomeSDK::V1::ContractCreateParams::ProfessionalService
@@ -2065,11 +2054,6 @@ module MetronomeSDK
2065
2054
  :ANROK,
2066
2055
  MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::TaxType::TaggedSymbol
2067
2056
  )
2068
- AVALARA =
2069
- T.let(
2070
- :AVALARA,
2071
- MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::TaxType::TaggedSymbol
2072
- )
2073
2057
  PRECALCULATED =
2074
2058
  T.let(
2075
2059
  :PRECALCULATED,
@@ -3829,6 +3813,24 @@ module MetronomeSDK
3829
3813
  sig { params(is_prorated: T::Boolean).void }
3830
3814
  attr_writer :is_prorated
3831
3815
 
3816
+ # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
3817
+ sig do
3818
+ returns(
3819
+ T.nilable(
3820
+ MetronomeSDK::V1::ContractCreateParams::Override::OverwriteRate::MinimumConfig
3821
+ )
3822
+ )
3823
+ end
3824
+ attr_reader :minimum_config
3825
+
3826
+ sig do
3827
+ params(
3828
+ minimum_config:
3829
+ MetronomeSDK::V1::ContractCreateParams::Override::OverwriteRate::MinimumConfig::OrHash
3830
+ ).void
3831
+ end
3832
+ attr_writer :minimum_config
3833
+
3832
3834
  # Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
3833
3835
  # this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
3834
3836
  sig { returns(T.nilable(Float)) }
@@ -3859,6 +3861,8 @@ module MetronomeSDK
3859
3861
  credit_type_id: String,
3860
3862
  custom_rate: T::Hash[Symbol, T.anything],
3861
3863
  is_prorated: T::Boolean,
3864
+ minimum_config:
3865
+ MetronomeSDK::V1::ContractCreateParams::Override::OverwriteRate::MinimumConfig::OrHash,
3862
3866
  price: Float,
3863
3867
  quantity: Float,
3864
3868
  tiers: T::Array[MetronomeSDK::Tier::OrHash]
@@ -3873,6 +3877,8 @@ module MetronomeSDK
3873
3877
  # Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
3874
3878
  # set to true.
3875
3879
  is_prorated: nil,
3880
+ # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
3881
+ minimum_config: nil,
3876
3882
  # Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
3877
3883
  # this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
3878
3884
  price: nil,
@@ -3891,6 +3897,8 @@ module MetronomeSDK
3891
3897
  credit_type_id: String,
3892
3898
  custom_rate: T::Hash[Symbol, T.anything],
3893
3899
  is_prorated: T::Boolean,
3900
+ minimum_config:
3901
+ MetronomeSDK::V1::ContractCreateParams::Override::OverwriteRate::MinimumConfig,
3894
3902
  price: Float,
3895
3903
  quantity: Float,
3896
3904
  tiers: T::Array[MetronomeSDK::Tier]
@@ -3953,6 +3961,28 @@ module MetronomeSDK
3953
3961
  def self.values
3954
3962
  end
3955
3963
  end
3964
+
3965
+ class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
3966
+ OrHash =
3967
+ T.type_alias do
3968
+ T.any(
3969
+ MetronomeSDK::V1::ContractCreateParams::Override::OverwriteRate::MinimumConfig,
3970
+ MetronomeSDK::Internal::AnyHash
3971
+ )
3972
+ end
3973
+
3974
+ sig { returns(Float) }
3975
+ attr_accessor :minimum
3976
+
3977
+ # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
3978
+ sig { params(minimum: Float).returns(T.attached_class) }
3979
+ def self.new(minimum:)
3980
+ end
3981
+
3982
+ sig { override.returns({ minimum: Float }) }
3983
+ def to_hash
3984
+ end
3985
+ end
3956
3986
  end
3957
3987
 
3958
3988
  # Indicates whether the override applies to commit rates or list rates. Can only
@@ -143,6 +143,24 @@ module MetronomeSDK
143
143
  sig { params(is_prorated: T::Boolean).void }
144
144
  attr_writer :is_prorated
145
145
 
146
+ # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
147
+ sig do
148
+ returns(
149
+ T.nilable(
150
+ MetronomeSDK::V1::Contracts::RateCards::RateAddManyParams::Rate::MinimumConfig
151
+ )
152
+ )
153
+ end
154
+ attr_reader :minimum_config
155
+
156
+ sig do
157
+ params(
158
+ minimum_config:
159
+ MetronomeSDK::V1::Contracts::RateCards::RateAddManyParams::Rate::MinimumConfig::OrHash
160
+ ).void
161
+ end
162
+ attr_writer :minimum_config
163
+
146
164
  # Default price. For FLAT and SUBSCRIPTION rate_type, this must be >=0. For
147
165
  # PERCENTAGE rate_type, this is a decimal fraction, e.g. use 0.1 for 10%; this
148
166
  # must be >=0 and <=1.
@@ -188,6 +206,8 @@ module MetronomeSDK
188
206
  custom_rate: T::Hash[Symbol, T.anything],
189
207
  ending_before: Time,
190
208
  is_prorated: T::Boolean,
209
+ minimum_config:
210
+ MetronomeSDK::V1::Contracts::RateCards::RateAddManyParams::Rate::MinimumConfig::OrHash,
191
211
  price: Float,
192
212
  pricing_group_values: T::Hash[Symbol, String],
193
213
  quantity: Float,
@@ -219,6 +239,8 @@ module MetronomeSDK
219
239
  # Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
220
240
  # set to true.
221
241
  is_prorated: nil,
242
+ # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
243
+ minimum_config: nil,
222
244
  # Default price. For FLAT and SUBSCRIPTION rate_type, this must be >=0. For
223
245
  # PERCENTAGE rate_type, this is a decimal fraction, e.g. use 0.1 for 10%; this
224
246
  # must be >=0 and <=1.
@@ -248,6 +270,8 @@ module MetronomeSDK
248
270
  custom_rate: T::Hash[Symbol, T.anything],
249
271
  ending_before: Time,
250
272
  is_prorated: T::Boolean,
273
+ minimum_config:
274
+ MetronomeSDK::V1::Contracts::RateCards::RateAddManyParams::Rate::MinimumConfig,
251
275
  price: Float,
252
276
  pricing_group_values: T::Hash[Symbol, String],
253
277
  quantity: Float,
@@ -357,6 +381,28 @@ module MetronomeSDK
357
381
  def self.values
358
382
  end
359
383
  end
384
+
385
+ class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
386
+ OrHash =
387
+ T.type_alias do
388
+ T.any(
389
+ MetronomeSDK::V1::Contracts::RateCards::RateAddManyParams::Rate::MinimumConfig,
390
+ MetronomeSDK::Internal::AnyHash
391
+ )
392
+ end
393
+
394
+ sig { returns(Float) }
395
+ attr_accessor :minimum
396
+
397
+ # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
398
+ sig { params(minimum: Float).returns(T.attached_class) }
399
+ def self.new(minimum:)
400
+ end
401
+
402
+ sig { override.returns({ minimum: Float }) }
403
+ def to_hash
404
+ end
405
+ end
360
406
  end
361
407
  end
362
408
  end
@@ -98,6 +98,24 @@ module MetronomeSDK
98
98
  sig { params(is_prorated: T::Boolean).void }
99
99
  attr_writer :is_prorated
100
100
 
101
+ # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
102
+ sig do
103
+ returns(
104
+ T.nilable(
105
+ MetronomeSDK::V1::Contracts::RateCards::RateAddParams::MinimumConfig
106
+ )
107
+ )
108
+ end
109
+ attr_reader :minimum_config
110
+
111
+ sig do
112
+ params(
113
+ minimum_config:
114
+ MetronomeSDK::V1::Contracts::RateCards::RateAddParams::MinimumConfig::OrHash
115
+ ).void
116
+ end
117
+ attr_writer :minimum_config
118
+
101
119
  # Default price. For FLAT and SUBSCRIPTION rate_type, this must be >=0. For
102
120
  # PERCENTAGE rate_type, this is a decimal fraction, e.g. use 0.1 for 10%; this
103
121
  # must be >=0 and <=1.
@@ -144,6 +162,8 @@ module MetronomeSDK
144
162
  custom_rate: T::Hash[Symbol, T.anything],
145
163
  ending_before: Time,
146
164
  is_prorated: T::Boolean,
165
+ minimum_config:
166
+ MetronomeSDK::V1::Contracts::RateCards::RateAddParams::MinimumConfig::OrHash,
147
167
  price: Float,
148
168
  pricing_group_values: T::Hash[Symbol, String],
149
169
  quantity: Float,
@@ -178,6 +198,8 @@ module MetronomeSDK
178
198
  # Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
179
199
  # set to true.
180
200
  is_prorated: nil,
201
+ # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
202
+ minimum_config: nil,
181
203
  # Default price. For FLAT and SUBSCRIPTION rate_type, this must be >=0. For
182
204
  # PERCENTAGE rate_type, this is a decimal fraction, e.g. use 0.1 for 10%; this
183
205
  # must be >=0 and <=1.
@@ -209,6 +231,8 @@ module MetronomeSDK
209
231
  custom_rate: T::Hash[Symbol, T.anything],
210
232
  ending_before: Time,
211
233
  is_prorated: T::Boolean,
234
+ minimum_config:
235
+ MetronomeSDK::V1::Contracts::RateCards::RateAddParams::MinimumConfig,
212
236
  price: Float,
213
237
  pricing_group_values: T::Hash[Symbol, String],
214
238
  quantity: Float,
@@ -319,6 +343,28 @@ module MetronomeSDK
319
343
  def self.values
320
344
  end
321
345
  end
346
+
347
+ class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
348
+ OrHash =
349
+ T.type_alias do
350
+ T.any(
351
+ MetronomeSDK::V1::Contracts::RateCards::RateAddParams::MinimumConfig,
352
+ MetronomeSDK::Internal::AnyHash
353
+ )
354
+ end
355
+
356
+ sig { returns(Float) }
357
+ attr_accessor :minimum
358
+
359
+ # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
360
+ sig { params(minimum: Float).returns(T.attached_class) }
361
+ def self.new(minimum:)
362
+ end
363
+
364
+ sig { override.returns({ minimum: Float }) }
365
+ def to_hash
366
+ end
367
+ end
322
368
  end
323
369
  end
324
370
  end
@@ -808,6 +808,14 @@ module MetronomeSDK
808
808
  end
809
809
  attr_writer :subscription_custom_fields
810
810
 
811
+ # ID of the subscription that this line item is associated with. Only present on
812
+ # line items with product of `SUBSCRIPTION` type.
813
+ sig { returns(T.nilable(String)) }
814
+ attr_reader :subscription_id
815
+
816
+ sig { params(subscription_id: String).void }
817
+ attr_writer :subscription_id
818
+
811
819
  # Populated if the line item has a tiered price.
812
820
  sig do
813
821
  returns(
@@ -880,6 +888,7 @@ module MetronomeSDK
880
888
  MetronomeSDK::V1::Customers::Invoice::LineItem::SubLineItem::OrHash
881
889
  ],
882
890
  subscription_custom_fields: T::Hash[Symbol, String],
891
+ subscription_id: String,
883
892
  tier:
884
893
  MetronomeSDK::V1::Customers::Invoice::LineItem::Tier::OrHash,
885
894
  unit_price: Float
@@ -991,6 +1000,9 @@ module MetronomeSDK
991
1000
  sub_line_items: nil,
992
1001
  # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
993
1002
  subscription_custom_fields: nil,
1003
+ # ID of the subscription that this line item is associated with. Only present on
1004
+ # line items with product of `SUBSCRIPTION` type.
1005
+ subscription_id: nil,
994
1006
  # Populated if the line item has a tiered price.
995
1007
  tier: nil,
996
1008
  # The unit price associated with the line item.
@@ -1048,6 +1060,7 @@ module MetronomeSDK
1048
1060
  MetronomeSDK::V1::Customers::Invoice::LineItem::SubLineItem
1049
1061
  ],
1050
1062
  subscription_custom_fields: T::Hash[Symbol, String],
1063
+ subscription_id: String,
1051
1064
  tier: MetronomeSDK::V1::Customers::Invoice::LineItem::Tier,
1052
1065
  unit_price: Float
1053
1066
  }
@@ -0,0 +1,48 @@
1
+ # typed: strong
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ class PackageArchiveParams < MetronomeSDK::Internal::Type::BaseModel
7
+ extend MetronomeSDK::Internal::Type::RequestParameters::Converter
8
+ include MetronomeSDK::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ MetronomeSDK::V1::PackageArchiveParams,
14
+ MetronomeSDK::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ # ID of the package to archive
19
+ sig { returns(String) }
20
+ attr_accessor :package_id
21
+
22
+ sig do
23
+ params(
24
+ package_id: String,
25
+ request_options: MetronomeSDK::RequestOptions::OrHash
26
+ ).returns(T.attached_class)
27
+ end
28
+ def self.new(
29
+ # ID of the package to archive
30
+ package_id:,
31
+ request_options: {}
32
+ )
33
+ end
34
+
35
+ sig do
36
+ override.returns(
37
+ {
38
+ package_id: String,
39
+ request_options: MetronomeSDK::RequestOptions
40
+ }
41
+ )
42
+ end
43
+ def to_hash
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,31 @@
1
+ # typed: strong
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ class PackageArchiveResponse < MetronomeSDK::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ MetronomeSDK::Models::V1::PackageArchiveResponse,
11
+ MetronomeSDK::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ sig { returns(MetronomeSDK::ID) }
16
+ attr_reader :data
17
+
18
+ sig { params(data: MetronomeSDK::ID::OrHash).void }
19
+ attr_writer :data
20
+
21
+ sig { params(data: MetronomeSDK::ID::OrHash).returns(T.attached_class) }
22
+ def self.new(data:)
23
+ end
24
+
25
+ sig { override.returns({ data: MetronomeSDK::ID }) }
26
+ def to_hash
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end