metronome-sdk 3.2.0 → 3.4.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 (56) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +30 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/client.rb +7 -0
  5. data/lib/metronome_sdk/models/commit_rate.rb +1 -22
  6. data/lib/metronome_sdk/models/contract_v2.rb +1 -22
  7. data/lib/metronome_sdk/models/overwrite_rate.rb +1 -22
  8. data/lib/metronome_sdk/models/rate.rb +1 -22
  9. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +10 -24
  10. data/lib/metronome_sdk/models/v1/contract_create_params.rb +10 -24
  11. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +1 -23
  12. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +1 -21
  13. data/lib/metronome_sdk/models/v1/customer_archive_billing_configurations_params.rb +32 -0
  14. data/lib/metronome_sdk/models/v1/customer_archive_billing_configurations_response.rb +38 -0
  15. data/lib/metronome_sdk/models/v1/package_create_params.rb +1 -23
  16. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +18 -25
  17. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +1 -23
  18. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +1 -3
  19. data/lib/metronome_sdk/resources/v1/customers.rb +53 -0
  20. data/lib/metronome_sdk/resources/v1/usage.rb +21 -0
  21. data/lib/metronome_sdk/version.rb +1 -1
  22. data/lib/metronome_sdk.rb +2 -0
  23. data/rbi/metronome_sdk/client.rbi +6 -0
  24. data/rbi/metronome_sdk/models/commit_rate.rbi +0 -37
  25. data/rbi/metronome_sdk/models/contract_v2.rbi +0 -46
  26. data/rbi/metronome_sdk/models/overwrite_rate.rbi +0 -37
  27. data/rbi/metronome_sdk/models/rate.rbi +0 -35
  28. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +11 -46
  29. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +11 -46
  30. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +0 -46
  31. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +0 -46
  32. data/rbi/metronome_sdk/models/v1/customer_archive_billing_configurations_params.rbi +56 -0
  33. data/rbi/metronome_sdk/models/v1/customer_archive_billing_configurations_response.rbi +95 -0
  34. data/rbi/metronome_sdk/models/v1/package_create_params.rbi +0 -46
  35. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +20 -49
  36. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +0 -46
  37. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +0 -4
  38. data/rbi/metronome_sdk/resources/v1/customers.rbi +48 -0
  39. data/rbi/metronome_sdk/resources/v1/usage.rbi +21 -0
  40. data/sig/metronome_sdk/client.rbs +3 -0
  41. data/sig/metronome_sdk/models/commit_rate.rbs +0 -19
  42. data/sig/metronome_sdk/models/contract_v2.rbs +0 -19
  43. data/sig/metronome_sdk/models/overwrite_rate.rbs +0 -19
  44. data/sig/metronome_sdk/models/rate.rbs +0 -19
  45. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +7 -19
  46. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +7 -19
  47. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +0 -19
  48. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +0 -19
  49. data/sig/metronome_sdk/models/v1/customer_archive_billing_configurations_params.rbs +33 -0
  50. data/sig/metronome_sdk/models/v1/customer_archive_billing_configurations_response.rbs +44 -0
  51. data/sig/metronome_sdk/models/v1/package_create_params.rbs +0 -19
  52. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +15 -22
  53. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +0 -19
  54. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +0 -1
  55. data/sig/metronome_sdk/resources/v1/customers.rbs +6 -0
  56. metadata +8 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8b3e0209591ded8e63e83f34ddc60fdb12c212f46729e5f9e386bc58f778d93d
4
- data.tar.gz: 03f73bb384df88bcfbd99f204f873c82a5b60485ef8d21e4810ced69a5dc54ad
3
+ metadata.gz: e790ead396d794ecaa6da7fe2daebbc0d2889ac357ab7d388d7d271ff11ddca7
4
+ data.tar.gz: bbb781138592c99fd427f0fc8817cf27f64fedd92b85b3a52c84e82e0900a905
5
5
  SHA512:
6
- metadata.gz: 73be1a42aa2e2b72b750584e217cc98543abe98eee2bf831dc564de9b0f813903ee69eafcd014f444d132be06ba91daea76ee846c522626bef58d36b2e23ac3d
7
- data.tar.gz: b3171d39686ef1a30a36d5f5f501fc18b4b2652c9eb91130c2255d93a2bec56f3e6efb35ac60e71abe978f6efc297e76283449b1dc1937abd88eb7fb39dd33b5
6
+ metadata.gz: 824e2718830473643d02f38f5ba467c820e19c505cb1e37c18fb7c69fee28425f41eeb38aa32715eb180613d79c4dfcc5753f53abb8e01c8f8eb2033750b118a
7
+ data.tar.gz: e521c9add4393abe34ad717c69fc23c3a9dd32fc84a9c65b151d65f83f2b7d84f66ca61d45a58977f06d66e8ef3ecb8e1bfd621b90d0aaf3bd6b5d2c2f797a6a
data/CHANGELOG.md CHANGED
@@ -1,5 +1,35 @@
1
1
  # Changelog
2
2
 
3
+ ## 3.4.0 (2026-03-11)
4
+
5
+ Full Changelog: [v3.3.0...v3.4.0](https://github.com/Metronome-Industries/metronome-ruby/compare/v3.3.0...v3.4.0)
6
+
7
+ ### Features
8
+
9
+ * (docs): update documentation for /usage/groups ([cb98f76](https://github.com/Metronome-Industries/metronome-ruby/commit/cb98f762fd49b8bc4bf1db518c4b3fca2dfbdd76))
10
+ * Add archive_billing_configurations endpoint ([693b236](https://github.com/Metronome-Industries/metronome-ruby/commit/693b236a57927c30bee80fa18708b335d5b3216c))
11
+ * **client:** add webhook support ([b80cc07](https://github.com/Metronome-Industries/metronome-ruby/commit/b80cc07d79fc8f86ee10c081260c60f72421b2cc))
12
+ * Enable rollover fraction on credits ([8cb1d11](https://github.com/Metronome-Industries/metronome-ruby/commit/8cb1d11bea6edbf2c37ebe651f37b5daea0c8e51))
13
+
14
+
15
+ ### Chores
16
+
17
+ * **ci:** skip uploading artifacts on stainless-internal branches ([80252b9](https://github.com/Metronome-Industries/metronome-ruby/commit/80252b925a2136ac68afdcbc57105656b6b93d8e))
18
+ * **test:** do not count install time for mock server timeout ([c95574c](https://github.com/Metronome-Industries/metronome-ruby/commit/c95574c224e6565840f2c6ac6e47970ac151a5d4))
19
+
20
+ ## 3.3.0 (2026-03-03)
21
+
22
+ Full Changelog: [v3.2.0...v3.3.0](https://github.com/Metronome-Industries/metronome-ruby/compare/v3.2.0...v3.3.0)
23
+
24
+ ### Features
25
+
26
+ * Skip stainless for non-GA's minimum config ([2205c30](https://github.com/Metronome-Industries/metronome-ruby/commit/2205c30516e9bff2446973db2590aace1e6a183a))
27
+
28
+
29
+ ### Chores
30
+
31
+ * **ci:** add build step ([aac2ac7](https://github.com/Metronome-Industries/metronome-ruby/commit/aac2ac79783eaa45e1b4dd7486aae959f07231c4))
32
+
3
33
  ## 3.2.0 (2026-03-02)
4
34
 
5
35
  Full Changelog: [v3.1.0...v3.2.0](https://github.com/Metronome-Industries/metronome-ruby/compare/v3.1.0...v3.2.0)
data/README.md CHANGED
@@ -26,7 +26,7 @@ To use this gem, install via Bundler by adding the following to your application
26
26
  <!-- x-release-please-start-version -->
27
27
 
28
28
  ```ruby
29
- gem "metronome-sdk", "~> 3.2.0"
29
+ gem "metronome-sdk", "~> 3.4.0"
30
30
  ```
31
31
 
32
32
  <!-- x-release-please-end -->
@@ -18,6 +18,9 @@ module MetronomeSDK
18
18
  # @return [String]
19
19
  attr_reader :bearer_token
20
20
 
21
+ # @return [String, nil]
22
+ attr_reader :webhook_secret
23
+
21
24
  # @return [MetronomeSDK::Resources::V2]
22
25
  attr_reader :v2
23
26
 
@@ -37,6 +40,8 @@ module MetronomeSDK
37
40
  #
38
41
  # @param bearer_token [String, nil] Defaults to `ENV["METRONOME_BEARER_TOKEN"]`
39
42
  #
43
+ # @param webhook_secret [String, nil] Defaults to `ENV["METRONOME_WEBHOOK_SECRET"]`
44
+ #
40
45
  # @param base_url [String, nil] Override the default base URL for the API, e.g.,
41
46
  # `"https://api.example.com/v2/"`. Defaults to `ENV["METRONOME_BASE_URL"]`
42
47
  #
@@ -49,6 +54,7 @@ module MetronomeSDK
49
54
  # @param max_retry_delay [Float]
50
55
  def initialize(
51
56
  bearer_token: ENV["METRONOME_BEARER_TOKEN"],
57
+ webhook_secret: ENV["METRONOME_WEBHOOK_SECRET"],
52
58
  base_url: ENV["METRONOME_BASE_URL"],
53
59
  max_retries: self.class::DEFAULT_MAX_RETRIES,
54
60
  timeout: self.class::DEFAULT_TIMEOUT_IN_SECONDS,
@@ -62,6 +68,7 @@ module MetronomeSDK
62
68
  end
63
69
 
64
70
  @bearer_token = bearer_token.to_s
71
+ @webhook_secret = webhook_secret&.to_s
65
72
 
66
73
  super(
67
74
  base_url: base_url,
@@ -8,12 +8,6 @@ module MetronomeSDK
8
8
  # @return [Symbol, MetronomeSDK::Models::CommitRate::RateType]
9
9
  required :rate_type, enum: -> { MetronomeSDK::CommitRate::RateType }
10
10
 
11
- # @!attribute minimum_config
12
- # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
13
- #
14
- # @return [MetronomeSDK::Models::CommitRate::MinimumConfig, nil]
15
- optional :minimum_config, -> { MetronomeSDK::CommitRate::MinimumConfig }
16
-
17
11
  # @!attribute price
18
12
  # Commit rate price. For FLAT rate_type, this must be >=0. For PERCENTAGE
19
13
  # rate_type, this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0
@@ -28,7 +22,7 @@ module MetronomeSDK
28
22
  # @return [Array<MetronomeSDK::Models::Tier>, nil]
29
23
  optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Tier] }
30
24
 
31
- # @!method initialize(rate_type:, minimum_config: nil, price: nil, tiers: nil)
25
+ # @!method initialize(rate_type:, price: nil, tiers: nil)
32
26
  # Some parameter documentations has been truncated, see
33
27
  # {MetronomeSDK::Models::CommitRate} for more details.
34
28
  #
@@ -37,8 +31,6 @@ module MetronomeSDK
37
31
  #
38
32
  # @param rate_type [Symbol, MetronomeSDK::Models::CommitRate::RateType]
39
33
  #
40
- # @param minimum_config [MetronomeSDK::Models::CommitRate::MinimumConfig] Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
41
- #
42
34
  # @param price [Float] Commit rate price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_typ
43
35
  #
44
36
  # @param tiers [Array<MetronomeSDK::Models::Tier>] Only set for TIERED rate_type.
@@ -57,19 +49,6 @@ module MetronomeSDK
57
49
  # @!method self.values
58
50
  # @return [Array<Symbol>]
59
51
  end
60
-
61
- # @see MetronomeSDK::Models::CommitRate#minimum_config
62
- class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
63
- # @!attribute minimum
64
- #
65
- # @return [Float]
66
- required :minimum, Float
67
-
68
- # @!method initialize(minimum:)
69
- # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
70
- #
71
- # @param minimum [Float]
72
- end
73
52
  end
74
53
  end
75
54
  end
@@ -1411,12 +1411,6 @@ module MetronomeSDK
1411
1411
  # @return [Boolean, nil]
1412
1412
  optional :is_prorated, MetronomeSDK::Internal::Type::Boolean
1413
1413
 
1414
- # @!attribute minimum_config
1415
- # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
1416
- #
1417
- # @return [MetronomeSDK::Models::ContractV2::Override::OverwriteRate::MinimumConfig, nil]
1418
- optional :minimum_config, -> { MetronomeSDK::ContractV2::Override::OverwriteRate::MinimumConfig }
1419
-
1420
1414
  # @!attribute price
1421
1415
  # Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
1422
1416
  # this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
@@ -1436,7 +1430,7 @@ module MetronomeSDK
1436
1430
  # @return [Array<MetronomeSDK::Models::Tier>, nil]
1437
1431
  optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Tier] }
1438
1432
 
1439
- # @!method initialize(rate_type:, credit_type: nil, custom_rate: nil, is_prorated: nil, minimum_config: nil, price: nil, quantity: nil, tiers: nil)
1433
+ # @!method initialize(rate_type:, credit_type: nil, custom_rate: nil, is_prorated: nil, price: nil, quantity: nil, tiers: nil)
1440
1434
  # Some parameter documentations has been truncated, see
1441
1435
  # {MetronomeSDK::Models::ContractV2::Override::OverwriteRate} for more details.
1442
1436
  #
@@ -1448,8 +1442,6 @@ module MetronomeSDK
1448
1442
  #
1449
1443
  # @param is_prorated [Boolean] Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
1450
1444
  #
1451
- # @param minimum_config [MetronomeSDK::Models::ContractV2::Override::OverwriteRate::MinimumConfig] Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
1452
- #
1453
1445
  # @param price [Float] Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type, t
1454
1446
  #
1455
1447
  # @param quantity [Float] Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
@@ -1470,19 +1462,6 @@ module MetronomeSDK
1470
1462
  # @!method self.values
1471
1463
  # @return [Array<Symbol>]
1472
1464
  end
1473
-
1474
- # @see MetronomeSDK::Models::ContractV2::Override::OverwriteRate#minimum_config
1475
- class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
1476
- # @!attribute minimum
1477
- #
1478
- # @return [Float]
1479
- required :minimum, Float
1480
-
1481
- # @!method initialize(minimum:)
1482
- # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
1483
- #
1484
- # @param minimum [Float]
1485
- end
1486
1465
  end
1487
1466
 
1488
1467
  # @see MetronomeSDK::Models::ContractV2::Override#product
@@ -27,12 +27,6 @@ module MetronomeSDK
27
27
  # @return [Boolean, nil]
28
28
  optional :is_prorated, MetronomeSDK::Internal::Type::Boolean
29
29
 
30
- # @!attribute minimum_config
31
- # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
32
- #
33
- # @return [MetronomeSDK::Models::OverwriteRate::MinimumConfig, nil]
34
- optional :minimum_config, -> { MetronomeSDK::OverwriteRate::MinimumConfig }
35
-
36
30
  # @!attribute price
37
31
  # Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
38
32
  # this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
@@ -52,7 +46,7 @@ module MetronomeSDK
52
46
  # @return [Array<MetronomeSDK::Models::Tier>, nil]
53
47
  optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Tier] }
54
48
 
55
- # @!method initialize(rate_type:, credit_type: nil, custom_rate: nil, is_prorated: nil, minimum_config: nil, price: nil, quantity: nil, tiers: nil)
49
+ # @!method initialize(rate_type:, credit_type: nil, custom_rate: nil, is_prorated: nil, price: nil, quantity: nil, tiers: nil)
56
50
  # Some parameter documentations has been truncated, see
57
51
  # {MetronomeSDK::Models::OverwriteRate} for more details.
58
52
  #
@@ -64,8 +58,6 @@ module MetronomeSDK
64
58
  #
65
59
  # @param is_prorated [Boolean] Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
66
60
  #
67
- # @param minimum_config [MetronomeSDK::Models::OverwriteRate::MinimumConfig] Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
68
- #
69
61
  # @param price [Float] Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type, t
70
62
  #
71
63
  # @param quantity [Float] Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
@@ -86,19 +78,6 @@ module MetronomeSDK
86
78
  # @!method self.values
87
79
  # @return [Array<Symbol>]
88
80
  end
89
-
90
- # @see MetronomeSDK::Models::OverwriteRate#minimum_config
91
- class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
92
- # @!attribute minimum
93
- #
94
- # @return [Float]
95
- required :minimum, Float
96
-
97
- # @!method initialize(minimum:)
98
- # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
99
- #
100
- # @param minimum [Float]
101
- end
102
81
  end
103
82
  end
104
83
  end
@@ -27,12 +27,6 @@ module MetronomeSDK
27
27
  # @return [Boolean, nil]
28
28
  optional :is_prorated, MetronomeSDK::Internal::Type::Boolean
29
29
 
30
- # @!attribute minimum_config
31
- # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
32
- #
33
- # @return [MetronomeSDK::Models::Rate::MinimumConfig, nil]
34
- optional :minimum_config, -> { MetronomeSDK::Rate::MinimumConfig }
35
-
36
30
  # @!attribute price
37
31
  # Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
38
32
  # this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
@@ -59,7 +53,7 @@ module MetronomeSDK
59
53
  # @return [Array<MetronomeSDK::Models::Tier>, nil]
60
54
  optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Tier] }
61
55
 
62
- # @!method initialize(rate_type:, credit_type: nil, custom_rate: nil, is_prorated: nil, minimum_config: nil, price: nil, pricing_group_values: nil, quantity: nil, tiers: nil)
56
+ # @!method initialize(rate_type:, credit_type: nil, custom_rate: nil, is_prorated: nil, price: nil, pricing_group_values: nil, quantity: nil, tiers: nil)
63
57
  # Some parameter documentations has been truncated, see
64
58
  # {MetronomeSDK::Models::Rate} for more details.
65
59
  #
@@ -71,8 +65,6 @@ module MetronomeSDK
71
65
  #
72
66
  # @param is_prorated [Boolean] Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
73
67
  #
74
- # @param minimum_config [MetronomeSDK::Models::Rate::MinimumConfig] Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
75
- #
76
68
  # @param price [Float] Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type, t
77
69
  #
78
70
  # @param pricing_group_values [Hash{Symbol=>String}] if pricing groups are used, this will contain the values used to calculate the p
@@ -95,19 +87,6 @@ module MetronomeSDK
95
87
  # @!method self.values
96
88
  # @return [Array<Symbol>]
97
89
  end
98
-
99
- # @see MetronomeSDK::Models::Rate#minimum_config
100
- class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
101
- # @!attribute minimum
102
- #
103
- # @return [Float]
104
- required :minimum, Float
105
-
106
- # @!method initialize(minimum:)
107
- # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
108
- #
109
- # @param minimum [Float]
110
- end
111
90
  end
112
91
  end
113
92
  end
@@ -789,6 +789,12 @@ module MetronomeSDK
789
789
  # @return [Symbol, MetronomeSDK::Models::V1::ContractAmendParams::Credit::RateType, nil]
790
790
  optional :rate_type, enum: -> { MetronomeSDK::V1::ContractAmendParams::Credit::RateType }
791
791
 
792
+ # @!attribute rollover_fraction
793
+ # Fraction of unused segments that will be rolled over. Must be between 0 and 1.
794
+ #
795
+ # @return [Float, nil]
796
+ optional :rollover_fraction, Float
797
+
792
798
  # @!attribute specifiers
793
799
  # List of filters that determine what kind of customer usage draws down a commit
794
800
  # or credit. A customer's usage needs to meet the condition of at least one of the
@@ -798,7 +804,7 @@ module MetronomeSDK
798
804
  # @return [Array<MetronomeSDK::Models::CommitSpecifierInput>, nil]
799
805
  optional :specifiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::CommitSpecifierInput] }
800
806
 
801
- # @!method initialize(access_schedule:, product_id:, applicable_product_ids: nil, applicable_product_tags: nil, custom_fields: nil, description: nil, hierarchy_configuration: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, rate_type: nil, specifiers: nil)
807
+ # @!method initialize(access_schedule:, product_id:, applicable_product_ids: nil, applicable_product_tags: nil, custom_fields: nil, description: nil, hierarchy_configuration: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, rate_type: nil, rollover_fraction: nil, specifiers: nil)
802
808
  # Some parameter documentations has been truncated, see
803
809
  # {MetronomeSDK::Models::V1::ContractAmendParams::Credit} for more details.
804
810
  #
@@ -824,6 +830,8 @@ module MetronomeSDK
824
830
  #
825
831
  # @param rate_type [Symbol, MetronomeSDK::Models::V1::ContractAmendParams::Credit::RateType]
826
832
  #
833
+ # @param rollover_fraction [Float] Fraction of unused segments that will be rolled over. Must be between 0 and 1.
834
+ #
827
835
  # @param specifiers [Array<MetronomeSDK::Models::CommitSpecifierInput>] List of filters that determine what kind of customer usage draws down a commit o
828
836
 
829
837
  # @see MetronomeSDK::Models::V1::ContractAmendParams::Credit#access_schedule
@@ -1362,13 +1370,6 @@ module MetronomeSDK
1362
1370
  # @return [Boolean, nil]
1363
1371
  optional :is_prorated, MetronomeSDK::Internal::Type::Boolean
1364
1372
 
1365
- # @!attribute minimum_config
1366
- # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
1367
- #
1368
- # @return [MetronomeSDK::Models::V1::ContractAmendParams::Override::OverwriteRate::MinimumConfig, nil]
1369
- optional :minimum_config,
1370
- -> { MetronomeSDK::V1::ContractAmendParams::Override::OverwriteRate::MinimumConfig }
1371
-
1372
1373
  # @!attribute price
1373
1374
  # Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
1374
1375
  # this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
@@ -1388,7 +1389,7 @@ module MetronomeSDK
1388
1389
  # @return [Array<MetronomeSDK::Models::Tier>, nil]
1389
1390
  optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Tier] }
1390
1391
 
1391
- # @!method initialize(rate_type:, credit_type_id: nil, custom_rate: nil, is_prorated: nil, minimum_config: nil, price: nil, quantity: nil, tiers: nil)
1392
+ # @!method initialize(rate_type:, credit_type_id: nil, custom_rate: nil, is_prorated: nil, price: nil, quantity: nil, tiers: nil)
1392
1393
  # Some parameter documentations has been truncated, see
1393
1394
  # {MetronomeSDK::Models::V1::ContractAmendParams::Override::OverwriteRate} for
1394
1395
  # more details.
@@ -1403,8 +1404,6 @@ module MetronomeSDK
1403
1404
  #
1404
1405
  # @param is_prorated [Boolean] Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
1405
1406
  #
1406
- # @param minimum_config [MetronomeSDK::Models::V1::ContractAmendParams::Override::OverwriteRate::MinimumConfig] Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
1407
- #
1408
1407
  # @param price [Float] Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type, t
1409
1408
  #
1410
1409
  # @param quantity [Float] Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
@@ -1425,19 +1424,6 @@ module MetronomeSDK
1425
1424
  # @!method self.values
1426
1425
  # @return [Array<Symbol>]
1427
1426
  end
1428
-
1429
- # @see MetronomeSDK::Models::V1::ContractAmendParams::Override::OverwriteRate#minimum_config
1430
- class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
1431
- # @!attribute minimum
1432
- #
1433
- # @return [Float]
1434
- required :minimum, Float
1435
-
1436
- # @!method initialize(minimum:)
1437
- # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
1438
- #
1439
- # @param minimum [Float]
1440
- end
1441
1427
  end
1442
1428
 
1443
1429
  # Indicates whether the override applies to commit rates or list rates. Can only
@@ -1035,6 +1035,12 @@ module MetronomeSDK
1035
1035
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Credit::RateType, nil]
1036
1036
  optional :rate_type, enum: -> { MetronomeSDK::V1::ContractCreateParams::Credit::RateType }
1037
1037
 
1038
+ # @!attribute rollover_fraction
1039
+ # Fraction of unused segments that will be rolled over. Must be between 0 and 1.
1040
+ #
1041
+ # @return [Float, nil]
1042
+ optional :rollover_fraction, Float
1043
+
1038
1044
  # @!attribute specifiers
1039
1045
  # List of filters that determine what kind of customer usage draws down a commit
1040
1046
  # or credit. A customer's usage needs to meet the condition of at least one of the
@@ -1044,7 +1050,7 @@ module MetronomeSDK
1044
1050
  # @return [Array<MetronomeSDK::Models::CommitSpecifierInput>, nil]
1045
1051
  optional :specifiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::CommitSpecifierInput] }
1046
1052
 
1047
- # @!method initialize(access_schedule:, product_id:, applicable_product_ids: nil, applicable_product_tags: nil, custom_fields: nil, description: nil, hierarchy_configuration: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, rate_type: nil, specifiers: nil)
1053
+ # @!method initialize(access_schedule:, product_id:, applicable_product_ids: nil, applicable_product_tags: nil, custom_fields: nil, description: nil, hierarchy_configuration: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, rate_type: nil, rollover_fraction: nil, specifiers: nil)
1048
1054
  # Some parameter documentations has been truncated, see
1049
1055
  # {MetronomeSDK::Models::V1::ContractCreateParams::Credit} for more details.
1050
1056
  #
@@ -1070,6 +1076,8 @@ module MetronomeSDK
1070
1076
  #
1071
1077
  # @param rate_type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Credit::RateType]
1072
1078
  #
1079
+ # @param rollover_fraction [Float] Fraction of unused segments that will be rolled over. Must be between 0 and 1.
1080
+ #
1073
1081
  # @param specifiers [Array<MetronomeSDK::Models::CommitSpecifierInput>] List of filters that determine what kind of customer usage draws down a commit o
1074
1082
 
1075
1083
  # @see MetronomeSDK::Models::V1::ContractCreateParams::Credit#access_schedule
@@ -1769,13 +1777,6 @@ module MetronomeSDK
1769
1777
  # @return [Boolean, nil]
1770
1778
  optional :is_prorated, MetronomeSDK::Internal::Type::Boolean
1771
1779
 
1772
- # @!attribute minimum_config
1773
- # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
1774
- #
1775
- # @return [MetronomeSDK::Models::V1::ContractCreateParams::Override::OverwriteRate::MinimumConfig, nil]
1776
- optional :minimum_config,
1777
- -> { MetronomeSDK::V1::ContractCreateParams::Override::OverwriteRate::MinimumConfig }
1778
-
1779
1780
  # @!attribute price
1780
1781
  # Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
1781
1782
  # this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
@@ -1795,7 +1796,7 @@ module MetronomeSDK
1795
1796
  # @return [Array<MetronomeSDK::Models::Tier>, nil]
1796
1797
  optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Tier] }
1797
1798
 
1798
- # @!method initialize(rate_type:, credit_type_id: nil, custom_rate: nil, is_prorated: nil, minimum_config: nil, price: nil, quantity: nil, tiers: nil)
1799
+ # @!method initialize(rate_type:, credit_type_id: nil, custom_rate: nil, is_prorated: nil, price: nil, quantity: nil, tiers: nil)
1799
1800
  # Some parameter documentations has been truncated, see
1800
1801
  # {MetronomeSDK::Models::V1::ContractCreateParams::Override::OverwriteRate} for
1801
1802
  # more details.
@@ -1810,8 +1811,6 @@ module MetronomeSDK
1810
1811
  #
1811
1812
  # @param is_prorated [Boolean] Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
1812
1813
  #
1813
- # @param minimum_config [MetronomeSDK::Models::V1::ContractCreateParams::Override::OverwriteRate::MinimumConfig] Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
1814
- #
1815
1814
  # @param price [Float] Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type, t
1816
1815
  #
1817
1816
  # @param quantity [Float] Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
@@ -1832,19 +1831,6 @@ module MetronomeSDK
1832
1831
  # @!method self.values
1833
1832
  # @return [Array<Symbol>]
1834
1833
  end
1835
-
1836
- # @see MetronomeSDK::Models::V1::ContractCreateParams::Override::OverwriteRate#minimum_config
1837
- class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
1838
- # @!attribute minimum
1839
- #
1840
- # @return [Float]
1841
- required :minimum, Float
1842
-
1843
- # @!method initialize(minimum:)
1844
- # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
1845
- #
1846
- # @param minimum [Float]
1847
- end
1848
1834
  end
1849
1835
 
1850
1836
  # Indicates whether the override applies to commit rates or list rates. Can only
@@ -93,13 +93,6 @@ module MetronomeSDK
93
93
  # @return [Boolean, nil]
94
94
  optional :is_prorated, MetronomeSDK::Internal::Type::Boolean
95
95
 
96
- # @!attribute minimum_config
97
- # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
98
- #
99
- # @return [MetronomeSDK::Models::V1::Contracts::RateCards::RateAddManyParams::Rate::MinimumConfig, nil]
100
- optional :minimum_config,
101
- -> { MetronomeSDK::V1::Contracts::RateCards::RateAddManyParams::Rate::MinimumConfig }
102
-
103
96
  # @!attribute price
104
97
  # Default price. For FLAT and SUBSCRIPTION rate_type, this must be >=0. For
105
98
  # PERCENTAGE rate_type, this is a decimal fraction, e.g. use 0.1 for 10%; this
@@ -127,7 +120,7 @@ module MetronomeSDK
127
120
  # @return [Array<MetronomeSDK::Models::Tier>, nil]
128
121
  optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Tier] }
129
122
 
130
- # @!method initialize(entitled:, product_id:, rate_type:, starting_at:, billing_frequency: nil, commit_rate: nil, credit_type_id: nil, custom_rate: nil, ending_before: nil, is_prorated: nil, minimum_config: nil, price: nil, pricing_group_values: nil, quantity: nil, tiers: nil)
123
+ # @!method initialize(entitled:, product_id:, rate_type:, starting_at:, billing_frequency: nil, commit_rate: nil, credit_type_id: nil, custom_rate: nil, ending_before: nil, is_prorated: nil, price: nil, pricing_group_values: nil, quantity: nil, tiers: nil)
131
124
  # Some parameter documentations has been truncated, see
132
125
  # {MetronomeSDK::Models::V1::Contracts::RateCards::RateAddManyParams::Rate} for
133
126
  # more details.
@@ -152,8 +145,6 @@ module MetronomeSDK
152
145
  #
153
146
  # @param is_prorated [Boolean] Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
154
147
  #
155
- # @param minimum_config [MetronomeSDK::Models::V1::Contracts::RateCards::RateAddManyParams::Rate::MinimumConfig] Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
156
- #
157
148
  # @param price [Float] Default price. For FLAT and SUBSCRIPTION rate_type, this must be >=0. For PERCEN
158
149
  #
159
150
  # @param pricing_group_values [Hash{Symbol=>String}] Optional. List of pricing group key value pairs which will be used to calculate
@@ -192,19 +183,6 @@ module MetronomeSDK
192
183
  # @!method self.values
193
184
  # @return [Array<Symbol>]
194
185
  end
195
-
196
- # @see MetronomeSDK::Models::V1::Contracts::RateCards::RateAddManyParams::Rate#minimum_config
197
- class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
198
- # @!attribute minimum
199
- #
200
- # @return [Float]
201
- required :minimum, Float
202
-
203
- # @!method initialize(minimum:)
204
- # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
205
- #
206
- # @param minimum [Float]
207
- end
208
186
  end
209
187
  end
210
188
  end
@@ -81,12 +81,6 @@ module MetronomeSDK
81
81
  # @return [Boolean, nil]
82
82
  optional :is_prorated, MetronomeSDK::Internal::Type::Boolean
83
83
 
84
- # @!attribute minimum_config
85
- # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
86
- #
87
- # @return [MetronomeSDK::Models::V1::Contracts::RateCards::RateAddParams::MinimumConfig, nil]
88
- optional :minimum_config, -> { MetronomeSDK::V1::Contracts::RateCards::RateAddParams::MinimumConfig }
89
-
90
84
  # @!attribute price
91
85
  # Default price. For FLAT and SUBSCRIPTION rate_type, this must be >=0. For
92
86
  # PERCENTAGE rate_type, this is a decimal fraction, e.g. use 0.1 for 10%; this
@@ -114,7 +108,7 @@ module MetronomeSDK
114
108
  # @return [Array<MetronomeSDK::Models::Tier>, nil]
115
109
  optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Tier] }
116
110
 
117
- # @!method initialize(entitled:, product_id:, rate_card_id:, rate_type:, starting_at:, billing_frequency: nil, commit_rate: nil, credit_type_id: nil, custom_rate: nil, ending_before: nil, is_prorated: nil, minimum_config: nil, price: nil, pricing_group_values: nil, quantity: nil, tiers: nil, request_options: {})
111
+ # @!method initialize(entitled:, product_id:, rate_card_id:, rate_type:, starting_at:, billing_frequency: nil, commit_rate: nil, credit_type_id: nil, custom_rate: nil, ending_before: nil, is_prorated: nil, price: nil, pricing_group_values: nil, quantity: nil, tiers: nil, request_options: {})
118
112
  # Some parameter documentations has been truncated, see
119
113
  # {MetronomeSDK::Models::V1::Contracts::RateCards::RateAddParams} for more
120
114
  # details.
@@ -141,8 +135,6 @@ module MetronomeSDK
141
135
  #
142
136
  # @param is_prorated [Boolean] Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
143
137
  #
144
- # @param minimum_config [MetronomeSDK::Models::V1::Contracts::RateCards::RateAddParams::MinimumConfig] Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
145
- #
146
138
  # @param price [Float] Default price. For FLAT and SUBSCRIPTION rate_type, this must be >=0. For PERCEN
147
139
  #
148
140
  # @param pricing_group_values [Hash{Symbol=>String}] Optional. List of pricing group key value pairs which will be used to calculate
@@ -180,18 +172,6 @@ module MetronomeSDK
180
172
  # @!method self.values
181
173
  # @return [Array<Symbol>]
182
174
  end
183
-
184
- class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
185
- # @!attribute minimum
186
- #
187
- # @return [Float]
188
- required :minimum, Float
189
-
190
- # @!method initialize(minimum:)
191
- # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
192
- #
193
- # @param minimum [Float]
194
- end
195
175
  end
196
176
  end
197
177
  end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ # @see MetronomeSDK::Resources::V1::Customers#archive_billing_configurations
7
+ class CustomerArchiveBillingConfigurationsParams < MetronomeSDK::Internal::Type::BaseModel
8
+ extend MetronomeSDK::Internal::Type::RequestParameters::Converter
9
+ include MetronomeSDK::Internal::Type::RequestParameters
10
+
11
+ # @!attribute customer_billing_provider_configuration_ids
12
+ # Array of billing provider configuration IDs to archive
13
+ #
14
+ # @return [Array<String>]
15
+ required :customer_billing_provider_configuration_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
16
+
17
+ # @!attribute customer_id
18
+ # The customer ID the billing provider configurations belong to
19
+ #
20
+ # @return [String]
21
+ required :customer_id, String
22
+
23
+ # @!method initialize(customer_billing_provider_configuration_ids:, customer_id:, request_options: {})
24
+ # @param customer_billing_provider_configuration_ids [Array<String>] Array of billing provider configuration IDs to archive
25
+ #
26
+ # @param customer_id [String] The customer ID the billing provider configurations belong to
27
+ #
28
+ # @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}]
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ # @see MetronomeSDK::Resources::V1::Customers#archive_billing_configurations
7
+ class CustomerArchiveBillingConfigurationsResponse < MetronomeSDK::Internal::Type::BaseModel
8
+ # @!attribute data
9
+ #
10
+ # @return [MetronomeSDK::Models::V1::CustomerArchiveBillingConfigurationsResponse::Data]
11
+ required :data, -> { MetronomeSDK::Models::V1::CustomerArchiveBillingConfigurationsResponse::Data }
12
+
13
+ # @!method initialize(data:)
14
+ # @param data [MetronomeSDK::Models::V1::CustomerArchiveBillingConfigurationsResponse::Data]
15
+
16
+ # @see MetronomeSDK::Models::V1::CustomerArchiveBillingConfigurationsResponse#data
17
+ class Data < MetronomeSDK::Internal::Type::BaseModel
18
+ # @!attribute customer_billing_provider_configuration_ids
19
+ # Array of billing provider configuration IDs to archive
20
+ #
21
+ # @return [Array<String>]
22
+ required :customer_billing_provider_configuration_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
23
+
24
+ # @!attribute customer_id
25
+ # The customer ID the billing provider configurations belong to
26
+ #
27
+ # @return [String]
28
+ required :customer_id, String
29
+
30
+ # @!method initialize(customer_billing_provider_configuration_ids:, customer_id:)
31
+ # @param customer_billing_provider_configuration_ids [Array<String>] Array of billing provider configuration IDs to archive
32
+ #
33
+ # @param customer_id [String] The customer ID the billing provider configurations belong to
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end