metronome-sdk 3.5.0 → 3.7.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 +53 -0
- data/README.md +1 -1
- data/lib/metronome_sdk/client.rb +15 -1
- data/lib/metronome_sdk/internal/transport/base_client.rb +2 -0
- data/lib/metronome_sdk/internal/type/enum.rb +0 -25
- data/lib/metronome_sdk/models/commit.rb +27 -1
- data/lib/metronome_sdk/models/contract.rb +140 -1
- data/lib/metronome_sdk/models/contract_v2.rb +530 -6
- data/lib/metronome_sdk/models/contract_without_amendments.rb +142 -1
- data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +105 -2
- data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +103 -2
- data/lib/metronome_sdk/models/spend_threshold_configuration.rb +33 -1
- data/lib/metronome_sdk/models/spend_threshold_configuration_v2.rb +33 -1
- data/lib/metronome_sdk/models/v1/alert_create_params.rb +1 -0
- data/lib/metronome_sdk/models/v1/contract_amend_params.rb +29 -177
- data/lib/metronome_sdk/models/v1/contract_create_params.rb +147 -180
- data/lib/metronome_sdk/models/v1/contract_create_response.rb +1134 -3
- data/lib/metronome_sdk/models/v1/contract_list_seat_balances_params.rb +119 -0
- data/lib/metronome_sdk/models/v1/contract_list_seat_balances_response.rb +315 -0
- data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +31 -1
- data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +31 -1
- data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +1 -0
- data/lib/metronome_sdk/models/v1/customers/invoice.rb +8 -1
- data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +29 -1
- data/lib/metronome_sdk/models/v1/package_create_params.rb +115 -18
- data/lib/metronome_sdk/models/v1/package_list_response.rb +110 -1
- data/lib/metronome_sdk/models/v1/package_retrieve_response.rb +114 -1
- data/lib/metronome_sdk/models/v2/contract_edit_params.rb +303 -5
- data/lib/metronome_sdk/models/v2/contract_edit_response.rb +3862 -3
- data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +507 -6
- data/lib/metronome_sdk/resources/v1/contracts/products.rb +6 -2
- data/lib/metronome_sdk/resources/v1/contracts.rb +72 -3
- data/lib/metronome_sdk/resources/v1/customers/invoices.rb +5 -1
- data/lib/metronome_sdk/resources/v1/packages.rb +6 -7
- data/lib/metronome_sdk/resources/v1.rb +0 -4
- data/lib/metronome_sdk/resources/v2/contracts.rb +5 -1
- data/lib/metronome_sdk/version.rb +1 -1
- data/lib/metronome_sdk.rb +2 -8
- data/rbi/metronome_sdk/models/commit.rbi +48 -0
- data/rbi/metronome_sdk/models/contract.rbi +354 -0
- data/rbi/metronome_sdk/models/contract_v2.rbi +1172 -4
- data/rbi/metronome_sdk/models/contract_without_amendments.rbi +368 -0
- data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +289 -6
- data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +283 -6
- data/rbi/metronome_sdk/models/spend_threshold_configuration.rbi +78 -3
- data/rbi/metronome_sdk/models/spend_threshold_configuration_v2.rbi +78 -3
- data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +5 -0
- data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +54 -396
- data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +370 -398
- data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +2448 -4
- data/rbi/metronome_sdk/models/v1/contract_list_seat_balances_params.rbi +179 -0
- data/rbi/metronome_sdk/models/v1/contract_list_seat_balances_response.rbi +714 -0
- data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +74 -0
- data/rbi/metronome_sdk/models/v1/contracts/product_update_params.rbi +74 -0
- data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +5 -0
- data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +9 -0
- data/rbi/metronome_sdk/models/v1/customers/invoice_list_params.rbi +75 -0
- data/rbi/metronome_sdk/models/v1/package_create_params.rbi +310 -56
- data/rbi/metronome_sdk/models/v1/package_list_response.rbi +307 -0
- data/rbi/metronome_sdk/models/v1/package_retrieve_response.rbi +307 -0
- data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +734 -11
- data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +8612 -4
- data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1355 -219
- data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +18 -0
- data/rbi/metronome_sdk/resources/v1/contracts.rbi +88 -3
- data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +7 -0
- data/rbi/metronome_sdk/resources/v1/packages.rbi +8 -7
- data/rbi/metronome_sdk/resources/v1.rbi +0 -3
- data/rbi/metronome_sdk/resources/v2/contracts.rbi +10 -0
- data/sig/metronome_sdk/models/commit.rbs +19 -0
- data/sig/metronome_sdk/models/contract.rbs +151 -0
- data/sig/metronome_sdk/models/contract_v2.rbs +494 -6
- data/sig/metronome_sdk/models/contract_without_amendments.rbs +151 -0
- data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration.rbs +116 -6
- data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbs +116 -6
- data/sig/metronome_sdk/models/spend_threshold_configuration.rbs +31 -3
- data/sig/metronome_sdk/models/spend_threshold_configuration_v2.rbs +31 -3
- data/sig/metronome_sdk/models/v1/alert_create_params.rbs +3 -1
- data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +19 -137
- data/sig/metronome_sdk/models/v1/contract_create_params.rbs +134 -137
- data/sig/metronome_sdk/models/v1/contract_create_response.rbs +1045 -4
- data/sig/metronome_sdk/models/v1/contract_list_seat_balances_params.rbs +96 -0
- data/sig/metronome_sdk/models/v1/contract_list_seat_balances_response.rbs +299 -0
- data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +20 -0
- data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +20 -0
- data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +3 -1
- data/sig/metronome_sdk/models/v1/customers/invoice.rbs +7 -0
- data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +29 -1
- data/sig/metronome_sdk/models/v1/package_create_params.rbs +115 -20
- data/sig/metronome_sdk/models/v1/package_list_response.rbs +115 -0
- data/sig/metronome_sdk/models/v1/package_retrieve_response.rbs +115 -0
- data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +283 -9
- data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +3792 -4
- data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +461 -15
- data/sig/metronome_sdk/resources/v1/contracts/products.rbs +2 -0
- data/sig/metronome_sdk/resources/v1/contracts.rbs +16 -0
- data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +2 -0
- data/sig/metronome_sdk/resources/v1/packages.rbs +1 -1
- data/sig/metronome_sdk/resources/v1.rbs +0 -2
- data/sig/metronome_sdk/resources/v2/contracts.rbs +2 -0
- metadata +8 -26
- data/lib/metronome_sdk/models/v1/payment.rb +0 -196
- data/lib/metronome_sdk/models/v1/payment_attempt_params.rb +0 -28
- data/lib/metronome_sdk/models/v1/payment_attempt_response.rb +0 -18
- data/lib/metronome_sdk/models/v1/payment_cancel_params.rb +0 -28
- data/lib/metronome_sdk/models/v1/payment_cancel_response.rb +0 -18
- data/lib/metronome_sdk/models/v1/payment_list_params.rb +0 -53
- data/lib/metronome_sdk/models/v1/payment_status.rb +0 -19
- data/lib/metronome_sdk/resources/v1/payments.rb +0 -102
- data/rbi/metronome_sdk/models/v1/payment.rbi +0 -403
- data/rbi/metronome_sdk/models/v1/payment_attempt_params.rbi +0 -48
- data/rbi/metronome_sdk/models/v1/payment_attempt_response.rbi +0 -35
- data/rbi/metronome_sdk/models/v1/payment_cancel_params.rbi +0 -48
- data/rbi/metronome_sdk/models/v1/payment_cancel_response.rbi +0 -35
- data/rbi/metronome_sdk/models/v1/payment_list_params.rbi +0 -91
- data/rbi/metronome_sdk/models/v1/payment_status.rbi +0 -33
- data/rbi/metronome_sdk/resources/v1/payments.rbi +0 -72
- data/sig/metronome_sdk/models/v1/payment.rbs +0 -243
- data/sig/metronome_sdk/models/v1/payment_attempt_params.rbs +0 -30
- data/sig/metronome_sdk/models/v1/payment_attempt_response.rbs +0 -15
- data/sig/metronome_sdk/models/v1/payment_cancel_params.rbs +0 -30
- data/sig/metronome_sdk/models/v1/payment_cancel_response.rbs +0 -15
- data/sig/metronome_sdk/models/v1/payment_list_params.rbs +0 -56
- data/sig/metronome_sdk/models/v1/payment_status.rbs +0 -19
- data/sig/metronome_sdk/resources/v1/payments.rbs +0 -30
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 72c947987bf3b6947462d66133a12deab29b5c7ed85c20169adfa923caf73076
|
|
4
|
+
data.tar.gz: 54e641c55d3862d539331f0716fb62feece95b6cf83e15217dedb4fbdf2dc1bc
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1e9d8143dcda81173e1fd5c63001d0d952a27b667194d9c1e26c2a19a1f3d0c80b82f5463d394603cd22bd0f0ab79d7ffd47faaabaf6e7633ed73a73fcbb99cd
|
|
7
|
+
data.tar.gz: fa66a0ab59ddde426e0e9ac34adae0f40d3d99e1fdb827ed4934bde394d6902b90372f7e1e69942aeb416706e6cfc9ade9a05c9267723bc5b98dd7fb1943376e
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,58 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 3.7.0 (2026-05-29)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v3.6.0...v3.7.0](https://github.com/Metronome-Industries/metronome-ruby/compare/v3.6.0...v3.7.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* [LAUNCH-2814] editContract returns full edit in the response ([fd684bc](https://github.com/Metronome-Industries/metronome-ruby/commit/fd684bc491dc2083911a144ba0a455385eaf315d))
|
|
10
|
+
* [orch-1860] remove all deprecated `/payments/*` endpoints from API ([1c6cdb1](https://github.com/Metronome-Industries/metronome-ruby/commit/1c6cdb1d7629e6a29adc78a1dbd460eebbbab08b))
|
|
11
|
+
* create contract returns contract data ([16469e5](https://github.com/Metronome-Industries/metronome-ruby/commit/16469e57c6563dd35b5b2f3cf05893a69ec7d406))
|
|
12
|
+
* nikku-orch-1723-update-create-contract ([a5de974](https://github.com/Metronome-Industries/metronome-ruby/commit/a5de9740f141a211e0435fff858ceca62d2b5359))
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### Chores
|
|
16
|
+
|
|
17
|
+
* (internal) Add threshold balance specifier to contract create & edit, package create and both contract and package retrievals ([eb1049d](https://github.com/Metronome-Industries/metronome-ruby/commit/eb1049d2826865a29710c274e13cc311005a0e91))
|
|
18
|
+
|
|
19
|
+
## 3.6.0 (2026-05-18)
|
|
20
|
+
|
|
21
|
+
Full Changelog: [v3.5.0...v3.6.0](https://github.com/Metronome-Industries/metronome-ruby/compare/v3.5.0...v3.6.0)
|
|
22
|
+
|
|
23
|
+
### Features
|
|
24
|
+
|
|
25
|
+
* [docs] fix typo in "Create a Contract" [1] page ([1c944c1](https://github.com/Metronome-Industries/metronome-ruby/commit/1c944c186c83b405e283708850d5a608e6c21ed6))
|
|
26
|
+
* [orch-383] fix API docs for one-off payment-gated commits ([a4d2798](https://github.com/Metronome-Industries/metronome-ruby/commit/a4d27985195453b3546b5ecd8a420b4d768110db))
|
|
27
|
+
* Add alert specifiers to contract create API ([51db5ed](https://github.com/Metronome-Industries/metronome-ruby/commit/51db5ed0d8954978ac23e2ddc30a6b542a535828))
|
|
28
|
+
* add contract_id filter to list invoices endpoint ([a304fbe](https://github.com/Metronome-Industries/metronome-ruby/commit/a304fbe7fbdec29e84f6d7e00757ac8d53c4ddf2))
|
|
29
|
+
* add invoice type filter for list invoices api ([872e130](https://github.com/Metronome-Industries/metronome-ruby/commit/872e1300646c989ab9d1ae057358213651f140d9))
|
|
30
|
+
* Add list seat balances API endpoint to SDK ([b00dd28](https://github.com/Metronome-Industries/metronome-ruby/commit/b00dd2876202080710203143d27a3b592aa7333b))
|
|
31
|
+
* Add regenerated_from_invoice_id to getInvoice response ([4fcd94f](https://github.com/Metronome-Industries/metronome-ruby/commit/4fcd94f52de907beea33c5f619ee529cdf2ee295))
|
|
32
|
+
* Add sql_breakdown_granularity flag to product create/edit ([101c0ef](https://github.com/Metronome-Industries/metronome-ruby/commit/101c0efded08535d01f7d5ef67b80c3325be7e5a))
|
|
33
|
+
* added custom fields to create contract with package ([3df5eaf](https://github.com/Metronome-Industries/metronome-ruby/commit/3df5eafd29b0d030f2de6c9b1da6bd0f2d83fefd))
|
|
34
|
+
* doc updates ([a38c0ad](https://github.com/Metronome-Industries/metronome-ruby/commit/a38c0adccd0a9de33f91052cef6f8db0bfd054ba))
|
|
35
|
+
* Limit spend breakdown/seat balances to 100 vals ([019e16c](https://github.com/Metronome-Industries/metronome-ruby/commit/019e16ca2e5091d75d9674d3c1ae58e4af6c8786))
|
|
36
|
+
* Pranadreddy/launch 2486 remove dead billing anchor date field from api ([880922c](https://github.com/Metronome-Industries/metronome-ruby/commit/880922c776ce6b9026338097d22629153b06790d))
|
|
37
|
+
* support setting headers via env ([70a6689](https://github.com/Metronome-Industries/metronome-ruby/commit/70a66896bf1c85734adbcc3f90ec88e91b3b124d))
|
|
38
|
+
* Update stainless.yml to include Java configuration logic ([caadd1b](https://github.com/Metronome-Industries/metronome-ruby/commit/caadd1bcdfe6e513fa45e1ffe7ba16be4078f8e0))
|
|
39
|
+
* wip ([d85557d](https://github.com/Metronome-Industries/metronome-ruby/commit/d85557d5c8d4e42eaedeeb01d52e925cfaec2bf5))
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
### Bug Fixes
|
|
43
|
+
|
|
44
|
+
* add archived_at to Credit schema (parity with Commit) ([c4cb0de](https://github.com/Metronome-Industries/metronome-ruby/commit/c4cb0de6639d6260cd5cd4991c2bdbbca9a56308))
|
|
45
|
+
* **client:** elide content type header on requests without body ([3229b9e](https://github.com/Metronome-Industries/metronome-ruby/commit/3229b9ea9655734024eeacf899aef1559401c950))
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
### Chores
|
|
49
|
+
|
|
50
|
+
* configure new SDK language ([2318d44](https://github.com/Metronome-Industries/metronome-ruby/commit/2318d447232cd1368c1be58b004f4e56f6ec58f8))
|
|
51
|
+
* configure new SDK language ([c604e19](https://github.com/Metronome-Industries/metronome-ruby/commit/c604e191054d276f6620fe43ef76543c000703ee))
|
|
52
|
+
* configure new SDK language ([85c2a71](https://github.com/Metronome-Industries/metronome-ruby/commit/85c2a714681224c4e5b654ae2a0ffa0ff478c269))
|
|
53
|
+
* configure new SDK language ([7f6bb80](https://github.com/Metronome-Industries/metronome-ruby/commit/7f6bb80a5e0f7838849aa1fef4e255ac7a7c6d44))
|
|
54
|
+
* **internal:** more robust bootstrap script ([3f8dd59](https://github.com/Metronome-Industries/metronome-ruby/commit/3f8dd59db3d7878d6232f01d0fda804657de3e2a))
|
|
55
|
+
|
|
3
56
|
## 3.5.0 (2026-04-18)
|
|
4
57
|
|
|
5
58
|
Full Changelog: [v3.4.0...v3.5.0](https://github.com/Metronome-Industries/metronome-ruby/compare/v3.4.0...v3.5.0)
|
data/README.md
CHANGED
data/lib/metronome_sdk/client.rb
CHANGED
|
@@ -67,6 +67,19 @@ module MetronomeSDK
|
|
|
67
67
|
raise ArgumentError.new("bearer_token is required, and can be set via environ: \"METRONOME_BEARER_TOKEN\"")
|
|
68
68
|
end
|
|
69
69
|
|
|
70
|
+
headers = {}
|
|
71
|
+
custom_headers_env = ENV["METRONOME_CUSTOM_HEADERS"]
|
|
72
|
+
unless custom_headers_env.nil?
|
|
73
|
+
parsed = {}
|
|
74
|
+
custom_headers_env.split("\n").each do |line|
|
|
75
|
+
colon = line.index(":")
|
|
76
|
+
unless colon.nil?
|
|
77
|
+
parsed[line[0...colon].strip] = line[(colon + 1)..].strip
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
headers = parsed.merge(headers)
|
|
81
|
+
end
|
|
82
|
+
|
|
70
83
|
@bearer_token = bearer_token.to_s
|
|
71
84
|
@webhook_secret = webhook_secret&.to_s
|
|
72
85
|
|
|
@@ -75,7 +88,8 @@ module MetronomeSDK
|
|
|
75
88
|
timeout: timeout,
|
|
76
89
|
max_retries: max_retries,
|
|
77
90
|
initial_retry_delay: initial_retry_delay,
|
|
78
|
-
max_retry_delay: max_retry_delay
|
|
91
|
+
max_retry_delay: max_retry_delay,
|
|
92
|
+
headers: headers
|
|
79
93
|
)
|
|
80
94
|
|
|
81
95
|
@v2 = MetronomeSDK::Resources::V2.new(client: self)
|
|
@@ -306,6 +306,8 @@ module MetronomeSDK
|
|
|
306
306
|
MetronomeSDK::Internal::Util.deep_merge(*[req[:body], opts[:extra_body]].compact)
|
|
307
307
|
end
|
|
308
308
|
|
|
309
|
+
headers.delete("content-type") if body.nil?
|
|
310
|
+
|
|
309
311
|
url = MetronomeSDK::Internal::Util.join_parsed_uri(
|
|
310
312
|
@base_url_components,
|
|
311
313
|
{**req, path: path, query: query}
|
|
@@ -15,31 +15,6 @@ module MetronomeSDK
|
|
|
15
15
|
#
|
|
16
16
|
# We can therefore convert string values to Symbols, but can't convert other
|
|
17
17
|
# values safely.
|
|
18
|
-
#
|
|
19
|
-
# @example
|
|
20
|
-
# # `payment_status` is a `MetronomeSDK::V1::PaymentStatus`
|
|
21
|
-
# case payment_status
|
|
22
|
-
# when MetronomeSDK::V1::PaymentStatus::PENDING
|
|
23
|
-
# # ...
|
|
24
|
-
# when MetronomeSDK::V1::PaymentStatus::REQUIRES_INTERVENTION
|
|
25
|
-
# # ...
|
|
26
|
-
# when MetronomeSDK::V1::PaymentStatus::PAID
|
|
27
|
-
# # ...
|
|
28
|
-
# else
|
|
29
|
-
# puts(payment_status)
|
|
30
|
-
# end
|
|
31
|
-
#
|
|
32
|
-
# @example
|
|
33
|
-
# case payment_status
|
|
34
|
-
# in :pending
|
|
35
|
-
# # ...
|
|
36
|
-
# in :requires_intervention
|
|
37
|
-
# # ...
|
|
38
|
-
# in :paid
|
|
39
|
-
# # ...
|
|
40
|
-
# else
|
|
41
|
-
# puts(payment_status)
|
|
42
|
-
# end
|
|
43
18
|
module Enum
|
|
44
19
|
include MetronomeSDK::Internal::Type::Converter
|
|
45
20
|
include MetronomeSDK::Internal::Util::SorbetRuntimeSupport
|
|
@@ -171,6 +171,12 @@ module MetronomeSDK
|
|
|
171
171
|
# @return [Array<MetronomeSDK::Models::CommitSpecifier>, nil]
|
|
172
172
|
optional :specifiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::CommitSpecifier] }
|
|
173
173
|
|
|
174
|
+
# @!attribute spend_tracker_attributes
|
|
175
|
+
# Optional attributes controlling how this commit interacts with spend trackers.
|
|
176
|
+
#
|
|
177
|
+
# @return [MetronomeSDK::Models::Commit::SpendTrackerAttributes, nil]
|
|
178
|
+
optional :spend_tracker_attributes, -> { MetronomeSDK::Commit::SpendTrackerAttributes }
|
|
179
|
+
|
|
174
180
|
# @!attribute subscription_config
|
|
175
181
|
# The subscription configuration for this commit, if it was generated from a
|
|
176
182
|
# recurring commit with a subscription attached.
|
|
@@ -187,7 +193,7 @@ module MetronomeSDK
|
|
|
187
193
|
# @return [String, nil]
|
|
188
194
|
optional :uniqueness_key, String
|
|
189
195
|
|
|
190
|
-
# @!method initialize(id:, created_at:, product:, type:, access_schedule: nil, amount: nil, applicable_contract_ids: nil, applicable_product_ids: nil, applicable_product_tags: nil, archived_at: nil, balance: nil, contract: nil, custom_fields: nil, description: nil, hierarchy_configuration: nil, invoice_contract: nil, invoice_schedule: nil, ledger: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, rate_type: nil, recurring_commit_id: nil, rolled_over_from: nil, rollover_fraction: nil, salesforce_opportunity_id: nil, specifiers: nil, subscription_config: nil, uniqueness_key: nil)
|
|
196
|
+
# @!method initialize(id:, created_at:, product:, type:, access_schedule: nil, amount: nil, applicable_contract_ids: nil, applicable_product_ids: nil, applicable_product_tags: nil, archived_at: nil, balance: nil, contract: nil, custom_fields: nil, description: nil, hierarchy_configuration: nil, invoice_contract: nil, invoice_schedule: nil, ledger: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, rate_type: nil, recurring_commit_id: nil, rolled_over_from: nil, rollover_fraction: nil, salesforce_opportunity_id: nil, specifiers: nil, spend_tracker_attributes: nil, subscription_config: nil, uniqueness_key: nil)
|
|
191
197
|
# Some parameter documentations has been truncated, see
|
|
192
198
|
# {MetronomeSDK::Models::Commit} for more details.
|
|
193
199
|
#
|
|
@@ -245,6 +251,8 @@ module MetronomeSDK
|
|
|
245
251
|
#
|
|
246
252
|
# @param specifiers [Array<MetronomeSDK::Models::CommitSpecifier>] List of filters that determine what kind of customer usage draws down a commit o
|
|
247
253
|
#
|
|
254
|
+
# @param spend_tracker_attributes [MetronomeSDK::Models::Commit::SpendTrackerAttributes] Optional attributes controlling how this commit interacts with spend trackers.
|
|
255
|
+
#
|
|
248
256
|
# @param subscription_config [MetronomeSDK::Models::Commit::SubscriptionConfig] The subscription configuration for this commit, if it was generated from a recur
|
|
249
257
|
#
|
|
250
258
|
# @param uniqueness_key [String] Prevents the creation of duplicates. If a request to create a commit or credit i
|
|
@@ -953,6 +961,24 @@ module MetronomeSDK
|
|
|
953
961
|
# @param contract_id [String]
|
|
954
962
|
end
|
|
955
963
|
|
|
964
|
+
# @see MetronomeSDK::Models::Commit#spend_tracker_attributes
|
|
965
|
+
class SpendTrackerAttributes < MetronomeSDK::Internal::Type::BaseModel
|
|
966
|
+
# @!attribute counts_as_discounted
|
|
967
|
+
# If true, this commit is included in spend trackers with discounted set to
|
|
968
|
+
# DISCOUNTED_ONLY
|
|
969
|
+
#
|
|
970
|
+
# @return [Boolean]
|
|
971
|
+
required :counts_as_discounted, MetronomeSDK::Internal::Type::Boolean
|
|
972
|
+
|
|
973
|
+
# @!method initialize(counts_as_discounted:)
|
|
974
|
+
# Some parameter documentations has been truncated, see
|
|
975
|
+
# {MetronomeSDK::Models::Commit::SpendTrackerAttributes} for more details.
|
|
976
|
+
#
|
|
977
|
+
# Optional attributes controlling how this commit interacts with spend trackers.
|
|
978
|
+
#
|
|
979
|
+
# @param counts_as_discounted [Boolean] If true, this commit is included in spend trackers with discounted set to DISCOU
|
|
980
|
+
end
|
|
981
|
+
|
|
956
982
|
# @see MetronomeSDK::Models::Commit#subscription_config
|
|
957
983
|
class SubscriptionConfig < MetronomeSDK::Internal::Type::BaseModel
|
|
958
984
|
# @!attribute allocation
|
|
@@ -76,6 +76,13 @@ module MetronomeSDK
|
|
|
76
76
|
# @return [MetronomeSDK::Models::SpendThresholdConfiguration, nil]
|
|
77
77
|
optional :spend_threshold_configuration, -> { MetronomeSDK::SpendThresholdConfiguration }
|
|
78
78
|
|
|
79
|
+
# @!attribute spend_trackers
|
|
80
|
+
# Spend trackers attached to this contract.
|
|
81
|
+
#
|
|
82
|
+
# @return [Array<MetronomeSDK::Models::Contract::SpendTracker>, nil]
|
|
83
|
+
optional :spend_trackers,
|
|
84
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Contract::SpendTracker] }
|
|
85
|
+
|
|
79
86
|
# @!attribute subscriptions
|
|
80
87
|
# List of subscriptions on the contract.
|
|
81
88
|
#
|
|
@@ -90,7 +97,7 @@ module MetronomeSDK
|
|
|
90
97
|
# @return [String, nil]
|
|
91
98
|
optional :uniqueness_key, String
|
|
92
99
|
|
|
93
|
-
# @!method initialize(id:, amendments:, current:, customer_id:, initial:, archived_at: nil, custom_fields: nil, customer_billing_provider_configuration: nil, package_id: nil, prepaid_balance_threshold_configuration: nil, scheduled_charges_on_usage_invoices: nil, spend_threshold_configuration: nil, subscriptions: nil, uniqueness_key: nil)
|
|
100
|
+
# @!method initialize(id:, amendments:, current:, customer_id:, initial:, archived_at: nil, custom_fields: nil, customer_billing_provider_configuration: nil, package_id: nil, prepaid_balance_threshold_configuration: nil, scheduled_charges_on_usage_invoices: nil, spend_threshold_configuration: nil, spend_trackers: nil, subscriptions: nil, uniqueness_key: nil)
|
|
94
101
|
# Some parameter documentations has been truncated, see
|
|
95
102
|
# {MetronomeSDK::Models::Contract} for more details.
|
|
96
103
|
#
|
|
@@ -118,6 +125,8 @@ module MetronomeSDK
|
|
|
118
125
|
#
|
|
119
126
|
# @param spend_threshold_configuration [MetronomeSDK::Models::SpendThresholdConfiguration]
|
|
120
127
|
#
|
|
128
|
+
# @param spend_trackers [Array<MetronomeSDK::Models::Contract::SpendTracker>] Spend trackers attached to this contract.
|
|
129
|
+
#
|
|
121
130
|
# @param subscriptions [Array<MetronomeSDK::Models::Subscription>] List of subscriptions on the contract.
|
|
122
131
|
#
|
|
123
132
|
# @param uniqueness_key [String] Prevents the creation of duplicates. If a request to create a record is made wit
|
|
@@ -400,6 +409,136 @@ module MetronomeSDK
|
|
|
400
409
|
# @!method self.values
|
|
401
410
|
# @return [Array<Symbol>]
|
|
402
411
|
end
|
|
412
|
+
|
|
413
|
+
class SpendTracker < MetronomeSDK::Internal::Type::BaseModel
|
|
414
|
+
# @!attribute alias_
|
|
415
|
+
# Human-readable identifier, unique per contract.
|
|
416
|
+
#
|
|
417
|
+
# @return [String]
|
|
418
|
+
required :alias_, String, api_name: :alias
|
|
419
|
+
|
|
420
|
+
# @!attribute applicable_spend_specifiers
|
|
421
|
+
#
|
|
422
|
+
# @return [Array<MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier>]
|
|
423
|
+
required :applicable_spend_specifiers,
|
|
424
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Contract::SpendTracker::ApplicableSpendSpecifier] }
|
|
425
|
+
|
|
426
|
+
# @!attribute credit_type_id
|
|
427
|
+
#
|
|
428
|
+
# @return [String]
|
|
429
|
+
required :credit_type_id, String
|
|
430
|
+
|
|
431
|
+
# @!attribute reset_frequency
|
|
432
|
+
#
|
|
433
|
+
# @return [Symbol, MetronomeSDK::Models::Contract::SpendTracker::ResetFrequency]
|
|
434
|
+
required :reset_frequency, enum: -> { MetronomeSDK::Contract::SpendTracker::ResetFrequency }
|
|
435
|
+
|
|
436
|
+
# @!attribute accumulated_spend
|
|
437
|
+
#
|
|
438
|
+
# @return [MetronomeSDK::Models::Contract::SpendTracker::AccumulatedSpend, nil]
|
|
439
|
+
optional :accumulated_spend, -> { MetronomeSDK::Contract::SpendTracker::AccumulatedSpend }
|
|
440
|
+
|
|
441
|
+
# @!method initialize(alias_:, applicable_spend_specifiers:, credit_type_id:, reset_frequency:, accumulated_spend: nil)
|
|
442
|
+
# @param alias_ [String] Human-readable identifier, unique per contract.
|
|
443
|
+
#
|
|
444
|
+
# @param applicable_spend_specifiers [Array<MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier>]
|
|
445
|
+
#
|
|
446
|
+
# @param credit_type_id [String]
|
|
447
|
+
#
|
|
448
|
+
# @param reset_frequency [Symbol, MetronomeSDK::Models::Contract::SpendTracker::ResetFrequency]
|
|
449
|
+
#
|
|
450
|
+
# @param accumulated_spend [MetronomeSDK::Models::Contract::SpendTracker::AccumulatedSpend]
|
|
451
|
+
|
|
452
|
+
class ApplicableSpendSpecifier < MetronomeSDK::Internal::Type::BaseModel
|
|
453
|
+
# @!attribute sources
|
|
454
|
+
#
|
|
455
|
+
# @return [Array<Symbol, MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier::Source>]
|
|
456
|
+
required :sources,
|
|
457
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[enum: MetronomeSDK::Contract::SpendTracker::ApplicableSpendSpecifier::Source] }
|
|
458
|
+
|
|
459
|
+
# @!attribute spend_type
|
|
460
|
+
#
|
|
461
|
+
# @return [Symbol, MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier::SpendType]
|
|
462
|
+
required :spend_type,
|
|
463
|
+
enum: -> { MetronomeSDK::Contract::SpendTracker::ApplicableSpendSpecifier::SpendType }
|
|
464
|
+
|
|
465
|
+
# @!attribute discounted
|
|
466
|
+
#
|
|
467
|
+
# @return [Symbol, MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier::Discounted, nil]
|
|
468
|
+
optional :discounted,
|
|
469
|
+
enum: -> { MetronomeSDK::Contract::SpendTracker::ApplicableSpendSpecifier::Discounted }
|
|
470
|
+
|
|
471
|
+
# @!method initialize(sources:, spend_type:, discounted: nil)
|
|
472
|
+
# @param sources [Array<Symbol, MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier::Source>]
|
|
473
|
+
# @param spend_type [Symbol, MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier::SpendType]
|
|
474
|
+
# @param discounted [Symbol, MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier::Discounted]
|
|
475
|
+
|
|
476
|
+
module Source
|
|
477
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
478
|
+
|
|
479
|
+
THRESHOLD_RECHARGE = :THRESHOLD_RECHARGE
|
|
480
|
+
MANUAL = :MANUAL
|
|
481
|
+
|
|
482
|
+
# @!method self.values
|
|
483
|
+
# @return [Array<Symbol>]
|
|
484
|
+
end
|
|
485
|
+
|
|
486
|
+
# @see MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier#spend_type
|
|
487
|
+
module SpendType
|
|
488
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
489
|
+
|
|
490
|
+
COMMIT_PURCHASE = :COMMIT_PURCHASE
|
|
491
|
+
|
|
492
|
+
# @!method self.values
|
|
493
|
+
# @return [Array<Symbol>]
|
|
494
|
+
end
|
|
495
|
+
|
|
496
|
+
# @see MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier#discounted
|
|
497
|
+
module Discounted
|
|
498
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
499
|
+
|
|
500
|
+
ANY = :ANY
|
|
501
|
+
DISCOUNTED_ONLY = :DISCOUNTED_ONLY
|
|
502
|
+
UNDISCOUNTED_ONLY = :UNDISCOUNTED_ONLY
|
|
503
|
+
|
|
504
|
+
# @!method self.values
|
|
505
|
+
# @return [Array<Symbol>]
|
|
506
|
+
end
|
|
507
|
+
end
|
|
508
|
+
|
|
509
|
+
# @see MetronomeSDK::Models::Contract::SpendTracker#reset_frequency
|
|
510
|
+
module ResetFrequency
|
|
511
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
512
|
+
|
|
513
|
+
BILLING_PERIOD = :BILLING_PERIOD
|
|
514
|
+
|
|
515
|
+
# @!method self.values
|
|
516
|
+
# @return [Array<Symbol>]
|
|
517
|
+
end
|
|
518
|
+
|
|
519
|
+
# @see MetronomeSDK::Models::Contract::SpendTracker#accumulated_spend
|
|
520
|
+
class AccumulatedSpend < MetronomeSDK::Internal::Type::BaseModel
|
|
521
|
+
# @!attribute amount
|
|
522
|
+
#
|
|
523
|
+
# @return [Float]
|
|
524
|
+
required :amount, Float
|
|
525
|
+
|
|
526
|
+
# @!attribute period_ending_before
|
|
527
|
+
#
|
|
528
|
+
# @return [Time]
|
|
529
|
+
required :period_ending_before, Time
|
|
530
|
+
|
|
531
|
+
# @!attribute period_starting_at
|
|
532
|
+
#
|
|
533
|
+
# @return [Time]
|
|
534
|
+
required :period_starting_at, Time
|
|
535
|
+
|
|
536
|
+
# @!method initialize(amount:, period_ending_before:, period_starting_at:)
|
|
537
|
+
# @param amount [Float]
|
|
538
|
+
# @param period_ending_before [Time]
|
|
539
|
+
# @param period_starting_at [Time]
|
|
540
|
+
end
|
|
541
|
+
end
|
|
403
542
|
end
|
|
404
543
|
end
|
|
405
544
|
end
|