metronome-sdk 2.1.0 → 3.0.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 +65 -0
- data/README.md +10 -1
- data/lib/metronome_sdk/internal/transport/base_client.rb +7 -1
- data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +18 -12
- data/lib/metronome_sdk/internal/util.rb +7 -2
- data/lib/metronome_sdk/models/commit.rb +69 -1
- data/lib/metronome_sdk/models/contract_v2.rb +45 -2
- data/lib/metronome_sdk/models/credit.rb +69 -1
- data/lib/metronome_sdk/models/rate.rb +1 -11
- data/lib/metronome_sdk/models/subscription.rb +32 -5
- data/lib/metronome_sdk/models/v1/alert_create_params.rb +33 -1
- data/lib/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rb +10 -1
- data/lib/metronome_sdk/models/v1/contract_create_params.rb +136 -20
- data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +1 -11
- data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +1 -11
- data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +1 -11
- data/lib/metronome_sdk/models/v1/custom_field_add_key_params.rb +4 -0
- data/lib/metronome_sdk/models/v1/custom_field_delete_values_params.rb +4 -0
- data/lib/metronome_sdk/models/v1/custom_field_list_keys_params.rb +4 -0
- data/lib/metronome_sdk/models/v1/custom_field_list_keys_response.rb +4 -0
- data/lib/metronome_sdk/models/v1/custom_field_remove_key_params.rb +4 -0
- data/lib/metronome_sdk/models/v1/custom_field_set_values_params.rb +4 -0
- data/lib/metronome_sdk/models/v1/customer_create_params.rb +94 -2
- data/lib/metronome_sdk/models/v1/customer_set_billing_configurations_response.rb +111 -0
- data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +32 -1
- data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +15 -1
- data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +15 -1
- data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +33 -1
- data/lib/metronome_sdk/models/v1/customers/invoice.rb +71 -3
- data/lib/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rb +8 -1
- data/lib/metronome_sdk/models/v1/payment.rb +40 -1
- data/lib/metronome_sdk/models/v1/setting_upsert_avalara_credentials_params.rb +10 -1
- data/lib/metronome_sdk/models/v1/settings/billing_provider_create_params.rb +1 -0
- data/lib/metronome_sdk/models/v1/usage_search_response.rb +6 -3
- data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +17 -1
- data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +17 -1
- data/lib/metronome_sdk/models/v2/contract_edit_params.rb +285 -22
- data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +177 -3
- data/lib/metronome_sdk/resources/v1/alerts.rb +3 -1
- data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +1 -3
- data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +1 -1
- data/lib/metronome_sdk/resources/v1/contracts.rb +6 -2
- data/lib/metronome_sdk/resources/v1/customers/alerts.rb +3 -1
- data/lib/metronome_sdk/resources/v1/customers/billing_config.rb +8 -4
- data/lib/metronome_sdk/resources/v1/customers/invoices.rb +7 -7
- data/lib/metronome_sdk/resources/v1/customers/plans.rb +5 -5
- data/lib/metronome_sdk/resources/v1/customers.rb +12 -10
- data/lib/metronome_sdk/resources/v1/plans.rb +2 -2
- data/lib/metronome_sdk/resources/v1/settings.rb +3 -1
- data/lib/metronome_sdk/resources/v1/usage.rb +7 -7
- data/lib/metronome_sdk/resources/v2/contracts.rb +10 -2
- data/lib/metronome_sdk/version.rb +1 -1
- data/lib/metronome_sdk.rb +3 -0
- data/manifest.yaml +2 -0
- data/rbi/metronome_sdk/internal/transport/base_client.rbi +5 -0
- data/rbi/metronome_sdk/internal/transport/pooled_net_requester.rbi +6 -2
- data/rbi/metronome_sdk/internal/type/base_model.rbi +8 -4
- data/rbi/metronome_sdk/models/commit.rbi +171 -0
- data/rbi/metronome_sdk/models/contract_v2.rbi +85 -6
- data/rbi/metronome_sdk/models/credit.rbi +171 -0
- data/rbi/metronome_sdk/models/rate.rbi +3 -18
- data/rbi/metronome_sdk/models/subscription.rbi +55 -9
- data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +69 -0
- data/rbi/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rbi +13 -0
- data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +288 -24
- data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +3 -18
- data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +0 -15
- data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +3 -18
- data/rbi/metronome_sdk/models/v1/custom_field_add_key_params.rbi +20 -0
- data/rbi/metronome_sdk/models/v1/custom_field_delete_values_params.rbi +20 -0
- data/rbi/metronome_sdk/models/v1/custom_field_list_keys_params.rbi +20 -0
- data/rbi/metronome_sdk/models/v1/custom_field_list_keys_response.rbi +20 -0
- data/rbi/metronome_sdk/models/v1/custom_field_remove_key_params.rbi +20 -0
- data/rbi/metronome_sdk/models/v1/custom_field_set_values_params.rbi +20 -0
- data/rbi/metronome_sdk/models/v1/customer_create_params.rbi +204 -0
- data/rbi/metronome_sdk/models/v1/customer_set_billing_configurations_response.rbi +281 -0
- data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +67 -0
- data/rbi/metronome_sdk/models/v1/customers/billing_config_create_params.rbi +18 -0
- data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +18 -0
- data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +71 -0
- data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +121 -0
- data/rbi/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbi +9 -0
- data/rbi/metronome_sdk/models/v1/payment.rbi +79 -0
- data/rbi/metronome_sdk/models/v1/setting_upsert_avalara_credentials_params.rbi +13 -0
- data/rbi/metronome_sdk/models/v1/settings/billing_provider_create_params.rbi +5 -0
- data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +11 -3
- data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +22 -0
- data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +22 -0
- data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +616 -27
- data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +367 -3
- data/rbi/metronome_sdk/resources/v1/alerts.rbi +5 -0
- data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +0 -5
- data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +1 -1
- data/rbi/metronome_sdk/resources/v1/contracts.rbi +9 -0
- data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +5 -0
- data/rbi/metronome_sdk/resources/v1/customers/billing_config.rbi +9 -3
- data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +7 -7
- data/rbi/metronome_sdk/resources/v1/customers/plans.rbi +5 -5
- data/rbi/metronome_sdk/resources/v1/customers.rbi +15 -8
- data/rbi/metronome_sdk/resources/v1/plans.rbi +2 -2
- data/rbi/metronome_sdk/resources/v1/settings.rbi +4 -0
- data/rbi/metronome_sdk/resources/v1/usage.rbi +7 -7
- data/rbi/metronome_sdk/resources/v2/contracts.rbi +12 -0
- data/sig/metronome_sdk/internal/transport/base_client.rbs +2 -0
- data/sig/metronome_sdk/internal/transport/pooled_net_requester.rbs +4 -1
- data/sig/metronome_sdk/models/commit.rbs +74 -0
- data/sig/metronome_sdk/models/contract_v2.rbs +45 -6
- data/sig/metronome_sdk/models/credit.rbs +74 -0
- data/sig/metronome_sdk/models/rate.rbs +3 -10
- data/sig/metronome_sdk/models/subscription.rbs +22 -3
- data/sig/metronome_sdk/models/v1/alert_create_params.rbs +28 -0
- data/sig/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rbs +7 -0
- data/sig/metronome_sdk/models/v1/contract_create_params.rbs +104 -0
- data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +3 -10
- data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +1 -8
- data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +3 -10
- data/sig/metronome_sdk/models/v1/custom_field_add_key_params.rbs +8 -0
- data/sig/metronome_sdk/models/v1/custom_field_delete_values_params.rbs +8 -0
- data/sig/metronome_sdk/models/v1/custom_field_list_keys_params.rbs +8 -0
- data/sig/metronome_sdk/models/v1/custom_field_list_keys_response.rbs +8 -0
- data/sig/metronome_sdk/models/v1/custom_field_remove_key_params.rbs +8 -0
- data/sig/metronome_sdk/models/v1/custom_field_set_values_params.rbs +8 -0
- data/sig/metronome_sdk/models/v1/customer_create_params.rbs +83 -0
- data/sig/metronome_sdk/models/v1/customer_set_billing_configurations_response.rbs +119 -0
- data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +26 -1
- data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +14 -0
- data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +14 -0
- data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +30 -0
- data/sig/metronome_sdk/models/v1/customers/invoice.rbs +64 -0
- data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbs +7 -0
- data/sig/metronome_sdk/models/v1/payment.rbs +45 -0
- data/sig/metronome_sdk/models/v1/setting_upsert_avalara_credentials_params.rbs +8 -1
- data/sig/metronome_sdk/models/v1/settings/billing_provider_create_params.rbs +3 -1
- data/sig/metronome_sdk/models/v1/usage_search_response.rbs +3 -1
- data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +14 -0
- data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +14 -0
- data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +232 -3
- data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +131 -3
- data/sig/metronome_sdk/resources/v1/alerts.rbs +1 -0
- data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +0 -1
- data/sig/metronome_sdk/resources/v1/contracts.rbs +2 -0
- data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +1 -0
- data/sig/metronome_sdk/resources/v1/customers/billing_config.rbs +2 -0
- data/sig/metronome_sdk/resources/v1/customers.rbs +2 -1
- data/sig/metronome_sdk/resources/v1/settings.rbs +1 -0
- data/sig/metronome_sdk/resources/v2/contracts.rbs +4 -0
- metadata +19 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a988182a5b3f8a91e63e06cc9ed209042ea94b2b5d93b70767ea7b1af2509e65
|
|
4
|
+
data.tar.gz: 54b423b7428e7994d37133d36b0357032f84db951abe9bb5bb5f424c40247241
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3ea8e0edd4dc7010d06dd66b20834d5673d79fbfb2c76211bf6c9891f5e836858ad3e8a640e21774e0da7cd9cb9276e1029f8b76b0d867a1d5a95ab195a8773e
|
|
7
|
+
data.tar.gz: 8a585909ec60973a81a8daeed7a6c6bb0a3f11cb88c03be03903f173c5a501a88a07ec42ff4e344abd9151291724e88e55156f0b137ec9640dcb1b0a43e9d2b3
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,70 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 3.0.0 (2026-01-17)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v2.2.0...v3.0.0](https://github.com/Metronome-Industries/metronome-ruby/compare/v2.2.0...v3.0.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* [ORCH-739] expose rev rec data in api ([1e5912a](https://github.com/Metronome-Industries/metronome-ruby/commit/1e5912a60dd3bbfb37740057beac9055f96911e4))
|
|
10
|
+
* [ORCH-739] expose rev rec data in api ([ea99ea2](https://github.com/Metronome-Industries/metronome-ruby/commit/ea99ea27275244d1854395b0906bf1402f09308f))
|
|
11
|
+
* add recurring commit ID and subscription config to commit/credit response schema ([87a38ed](https://github.com/Metronome-Industries/metronome-ruby/commit/87a38ed2828cac15073a4650347ff2b6d3c14935))
|
|
12
|
+
* Add support for custom fields on package terms ([e6ca46b](https://github.com/Metronome-Industries/metronome-ruby/commit/e6ca46b3d30e047799c76d5b6e9407622c94f027))
|
|
13
|
+
* remove use list prices config in requests and responses ([44e02d3](https://github.com/Metronome-Industries/metronome-ruby/commit/44e02d367bedd33dca17c34d45006d21ef630abd))
|
|
14
|
+
* Revert [ORCH-739] expose rev rec data in api ([656d322](https://github.com/Metronome-Industries/metronome-ruby/commit/656d322008021add127b8b6a76e70f3576090e2b))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Chores
|
|
18
|
+
|
|
19
|
+
* fix typo in descriptions ([fdce90d](https://github.com/Metronome-Industries/metronome-ruby/commit/fdce90df6ae0e1223005482011560ba7eb53821c))
|
|
20
|
+
* **internal:** codegen related update ([64bba19](https://github.com/Metronome-Industries/metronome-ruby/commit/64bba1958c92d4d260271fffc212a7ac904fe881))
|
|
21
|
+
* **internal:** codegen related update ([3237dc8](https://github.com/Metronome-Industries/metronome-ruby/commit/3237dc894931f5a4a4504f545f46be1a0d9b8841))
|
|
22
|
+
* **internal:** update `actions/checkout` version ([5aa0985](https://github.com/Metronome-Industries/metronome-ruby/commit/5aa09854840915a76d003d2e94ea7b25478ca198))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### Documentation
|
|
26
|
+
|
|
27
|
+
* prominently feature MCP server setup in root SDK readmes ([353dc18](https://github.com/Metronome-Industries/metronome-ruby/commit/353dc181c9ce9b55c3e588849391c257ca6e79d8))
|
|
28
|
+
|
|
29
|
+
## 2.2.0 (2025-12-18)
|
|
30
|
+
|
|
31
|
+
Full Changelog: [v2.1.0...v2.2.0](https://github.com/Metronome-Industries/metronome-ruby/compare/v2.1.0...v2.2.0)
|
|
32
|
+
|
|
33
|
+
### Features
|
|
34
|
+
|
|
35
|
+
* [ORCH-605] uses x-mint groups to enable conditional rendering of gated revenue system config apis ([22ceee8](https://github.com/Metronome-Industries/metronome-ruby/commit/22ceee870bf6b1642ff4283b37485be599658e47))
|
|
36
|
+
* [ORCH-752] Update contract creation endpoints to allow setting revenue system configuration ([c2ca4f7](https://github.com/Metronome-Industries/metronome-ruby/commit/c2ca4f7ef46b0ead89b74a6e75a37a2ba55d9dc8))
|
|
37
|
+
* Add `commit_transactions` to the body of `/upsertAvalaraCredentials` endpoint ([d99cab3](https://github.com/Metronome-Industries/metronome-ruby/commit/d99cab3cda4f2da4f80ec925c76583e31ea1763a))
|
|
38
|
+
* Add `seat_filter` field to creation request and response parameters of the alert object ([165e3f0](https://github.com/Metronome-Industries/metronome-ruby/commit/165e3f0deab903b00fb7b4b235179b52a4f8093f))
|
|
39
|
+
* add quantity to plan pricing adjustment response ([cbf2539](https://github.com/Metronome-Industries/metronome-ruby/commit/cbf2539bbab6fac9f0d4984cd0f88c9f6b0ceea2))
|
|
40
|
+
* adds external_payment_id to ExternalInvoice ([ff5f18f](https://github.com/Metronome-Industries/metronome-ruby/commit/ff5f18f6b14e08b4c499689ca329b357a03177a9))
|
|
41
|
+
* everything ([6188141](https://github.com/Metronome-Industries/metronome-ruby/commit/618814115adbe126a1b0b5a330244034a14c98f7))
|
|
42
|
+
* GET-6845 get openapi specs ready for GA ([dc48f09](https://github.com/Metronome-Industries/metronome-ruby/commit/dc48f094c3283251a7f452aa4cc3db917ee7eba6))
|
|
43
|
+
* include aggregation BM info from searchEvents ([ea0dfc0](https://github.com/Metronome-Industries/metronome-ruby/commit/ea0dfc021a244b0e0d3ebfbcdacfc053f5194b61))
|
|
44
|
+
* ORCH-833/948/946/947 - updated the API to accept aws_customer_account_id all gated behind a feature flag ([4c2e292](https://github.com/Metronome-Industries/metronome-ruby/commit/4c2e2926ed8b6d0844b3670312f9780f14df2beb))
|
|
45
|
+
* remove beta language, FF, stainless skip ([b504def](https://github.com/Metronome-Industries/metronome-ruby/commit/b504defa5b97aa3f622bbc746e76ac12691d1e90))
|
|
46
|
+
* Return values for set customer billing configuration endpoint ([1641a74](https://github.com/Metronome-Industries/metronome-ruby/commit/1641a74439ebf507fb85f0478bbd056f6047c173))
|
|
47
|
+
* update create alert api to allow LowRemainingSeatBalanceReached alert ([54a60e6](https://github.com/Metronome-Industries/metronome-ruby/commit/54a60e6027b889e61554b7a006c780e3a9fc4815))
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
### Bug Fixes
|
|
51
|
+
|
|
52
|
+
* better thread safety via early initializing SSL store during HTTP client creation ([341992d](https://github.com/Metronome-Industries/metronome-ruby/commit/341992d633b9191d24209713f5f6a734d2229601))
|
|
53
|
+
* calling `break` out of streams should be instantaneous ([0db918b](https://github.com/Metronome-Industries/metronome-ruby/commit/0db918bb075b3420715faf0e73ef96cc01d58697))
|
|
54
|
+
* issue where json.parse errors when receiving HTTP 204 with nobody ([7a27bb6](https://github.com/Metronome-Industries/metronome-ruby/commit/7a27bb648e886deaf33358cde8f5c3c5d80ccf42))
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
### Chores
|
|
58
|
+
|
|
59
|
+
* **client:** send user-agent header ([379e4e4](https://github.com/Metronome-Industries/metronome-ruby/commit/379e4e46eb858bce94633dd193fbc1526ea1c42c))
|
|
60
|
+
* explicitly require "base64" gem ([5d4a7dc](https://github.com/Metronome-Industries/metronome-ruby/commit/5d4a7dc568346f2fc33ab39cf1517582923d98d5))
|
|
61
|
+
* **internal:** codegen related update ([9878983](https://github.com/Metronome-Industries/metronome-ruby/commit/9878983e4d67b0d04d543d7a49afdd14e9eb4f73))
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
### Documentation
|
|
65
|
+
|
|
66
|
+
* document missing fields for schemas related to recurring credits and commits ([d848e15](https://github.com/Metronome-Industries/metronome-ruby/commit/d848e159b2046aebccea5d2b3915779adf891791))
|
|
67
|
+
|
|
3
68
|
## 2.1.0 (2025-10-31)
|
|
4
69
|
|
|
5
70
|
Full Changelog: [v2.0.0...v2.1.0](https://github.com/Metronome-Industries/metronome-ruby/compare/v2.0.0...v2.1.0)
|
data/README.md
CHANGED
|
@@ -4,6 +4,15 @@ The Metronome Ruby library provides convenient access to the Metronome REST API
|
|
|
4
4
|
|
|
5
5
|
It is generated with [Stainless](https://www.stainless.com/).
|
|
6
6
|
|
|
7
|
+
## MCP Server
|
|
8
|
+
|
|
9
|
+
Use the Metronome MCP Server to enable AI assistants to interact with this API, allowing them to explore endpoints, make test requests, and use documentation to help integrate this SDK into your application.
|
|
10
|
+
|
|
11
|
+
[](https://cursor.com/en-US/install-mcp?name=%40metronome%2Fmcp&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBtZXRyb25vbWUvbWNwIl19)
|
|
12
|
+
[](https://vscode.stainless.com/mcp/%7B%22name%22%3A%22%40metronome%2Fmcp%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40metronome%2Fmcp%22%5D%7D)
|
|
13
|
+
|
|
14
|
+
> Note: You may need to set environment variables in your MCP client.
|
|
15
|
+
|
|
7
16
|
## Documentation
|
|
8
17
|
|
|
9
18
|
Documentation for releases of this gem can be found [on RubyDoc](https://gemdocs.org/gems/metronome-sdk).
|
|
@@ -17,7 +26,7 @@ To use this gem, install via Bundler by adding the following to your application
|
|
|
17
26
|
<!-- x-release-please-start-version -->
|
|
18
27
|
|
|
19
28
|
```ruby
|
|
20
|
-
gem "metronome-sdk", "~>
|
|
29
|
+
gem "metronome-sdk", "~> 3.0.0"
|
|
21
30
|
```
|
|
22
31
|
|
|
23
32
|
<!-- x-release-please-end -->
|
|
@@ -201,7 +201,8 @@ module MetronomeSDK
|
|
|
201
201
|
self.class::PLATFORM_HEADERS,
|
|
202
202
|
{
|
|
203
203
|
"accept" => "application/json",
|
|
204
|
-
"content-type" => "application/json"
|
|
204
|
+
"content-type" => "application/json",
|
|
205
|
+
"user-agent" => user_agent
|
|
205
206
|
},
|
|
206
207
|
headers
|
|
207
208
|
)
|
|
@@ -219,6 +220,11 @@ module MetronomeSDK
|
|
|
219
220
|
# @return [Hash{String=>String}]
|
|
220
221
|
private def auth_headers = {}
|
|
221
222
|
|
|
223
|
+
# @api private
|
|
224
|
+
#
|
|
225
|
+
# @return [String]
|
|
226
|
+
private def user_agent = "#{self.class.name}/Ruby #{MetronomeSDK::VERSION}"
|
|
227
|
+
|
|
222
228
|
# @api private
|
|
223
229
|
#
|
|
224
230
|
# @return [String]
|
|
@@ -16,10 +16,11 @@ module MetronomeSDK
|
|
|
16
16
|
class << self
|
|
17
17
|
# @api private
|
|
18
18
|
#
|
|
19
|
+
# @param cert_store [OpenSSL::X509::Store]
|
|
19
20
|
# @param url [URI::Generic]
|
|
20
21
|
#
|
|
21
22
|
# @return [Net::HTTP]
|
|
22
|
-
def connect(url)
|
|
23
|
+
def connect(cert_store:, url:)
|
|
23
24
|
port =
|
|
24
25
|
case [url.port, url.scheme]
|
|
25
26
|
in [Integer, _]
|
|
@@ -33,6 +34,8 @@ module MetronomeSDK
|
|
|
33
34
|
Net::HTTP.new(url.host, port).tap do
|
|
34
35
|
_1.use_ssl = %w[https wss].include?(url.scheme)
|
|
35
36
|
_1.max_retries = 0
|
|
37
|
+
|
|
38
|
+
(_1.cert_store = cert_store) if _1.use_ssl?
|
|
36
39
|
end
|
|
37
40
|
end
|
|
38
41
|
|
|
@@ -102,7 +105,7 @@ module MetronomeSDK
|
|
|
102
105
|
pool =
|
|
103
106
|
@mutex.synchronize do
|
|
104
107
|
@pools[origin] ||= ConnectionPool.new(size: @size) do
|
|
105
|
-
self.class.connect(url)
|
|
108
|
+
self.class.connect(cert_store: @cert_store, url: url)
|
|
106
109
|
end
|
|
107
110
|
end
|
|
108
111
|
|
|
@@ -150,17 +153,19 @@ module MetronomeSDK
|
|
|
150
153
|
end
|
|
151
154
|
|
|
152
155
|
self.class.calibrate_socket_timeout(conn, deadline)
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
156
|
+
::Kernel.catch(:jump) do
|
|
157
|
+
conn.request(req) do |rsp|
|
|
158
|
+
y << [req, rsp]
|
|
159
|
+
::Kernel.throw(:jump) if finished
|
|
160
|
+
|
|
161
|
+
rsp.read_body do |bytes|
|
|
162
|
+
y << bytes.force_encoding(Encoding::BINARY)
|
|
163
|
+
::Kernel.throw(:jump) if finished
|
|
164
|
+
|
|
165
|
+
self.class.calibrate_socket_timeout(conn, deadline)
|
|
166
|
+
end
|
|
167
|
+
eof = true
|
|
162
168
|
end
|
|
163
|
-
eof = true
|
|
164
169
|
end
|
|
165
170
|
end
|
|
166
171
|
ensure
|
|
@@ -192,6 +197,7 @@ module MetronomeSDK
|
|
|
192
197
|
def initialize(size: self.class::DEFAULT_MAX_CONNECTIONS)
|
|
193
198
|
@mutex = Mutex.new
|
|
194
199
|
@size = size
|
|
200
|
+
@cert_store = OpenSSL::X509::Store.new.tap(&:set_default_paths)
|
|
195
201
|
@pools = {}
|
|
196
202
|
end
|
|
197
203
|
|
|
@@ -657,7 +657,8 @@ module MetronomeSDK
|
|
|
657
657
|
def decode_content(headers, stream:, suppress_error: false)
|
|
658
658
|
case (content_type = headers["content-type"])
|
|
659
659
|
in MetronomeSDK::Internal::Util::JSON_CONTENT
|
|
660
|
-
json = stream.to_a.join
|
|
660
|
+
return nil if (json = stream.to_a.join).empty?
|
|
661
|
+
|
|
661
662
|
begin
|
|
662
663
|
JSON.parse(json, symbolize_names: true)
|
|
663
664
|
rescue JSON::ParserError => e
|
|
@@ -667,7 +668,11 @@ module MetronomeSDK
|
|
|
667
668
|
in MetronomeSDK::Internal::Util::JSONL_CONTENT
|
|
668
669
|
lines = decode_lines(stream)
|
|
669
670
|
chain_fused(lines) do |y|
|
|
670
|
-
lines.each
|
|
671
|
+
lines.each do
|
|
672
|
+
next if _1.empty?
|
|
673
|
+
|
|
674
|
+
y << JSON.parse(_1, symbolize_names: true)
|
|
675
|
+
end
|
|
671
676
|
end
|
|
672
677
|
in %r{^text/event-stream}
|
|
673
678
|
lines = decode_lines(stream)
|
|
@@ -140,6 +140,13 @@ module MetronomeSDK
|
|
|
140
140
|
# @return [Symbol, MetronomeSDK::Models::Commit::RateType, nil]
|
|
141
141
|
optional :rate_type, enum: -> { MetronomeSDK::Commit::RateType }
|
|
142
142
|
|
|
143
|
+
# @!attribute recurring_commit_id
|
|
144
|
+
# The ID of the recurring commit that this commit was generated from, if
|
|
145
|
+
# applicable.
|
|
146
|
+
#
|
|
147
|
+
# @return [String, nil]
|
|
148
|
+
optional :recurring_commit_id, String
|
|
149
|
+
|
|
143
150
|
# @!attribute rolled_over_from
|
|
144
151
|
#
|
|
145
152
|
# @return [MetronomeSDK::Models::Commit::RolledOverFrom, nil]
|
|
@@ -164,6 +171,13 @@ module MetronomeSDK
|
|
|
164
171
|
# @return [Array<MetronomeSDK::Models::CommitSpecifier>, nil]
|
|
165
172
|
optional :specifiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::CommitSpecifier] }
|
|
166
173
|
|
|
174
|
+
# @!attribute subscription_config
|
|
175
|
+
# The subscription configuration for this commit, if it was generated from a
|
|
176
|
+
# recurring commit with a subscription attached.
|
|
177
|
+
#
|
|
178
|
+
# @return [MetronomeSDK::Models::Commit::SubscriptionConfig, nil]
|
|
179
|
+
optional :subscription_config, -> { MetronomeSDK::Commit::SubscriptionConfig }
|
|
180
|
+
|
|
167
181
|
# @!attribute uniqueness_key
|
|
168
182
|
# Prevents the creation of duplicates. If a request to create a commit or credit
|
|
169
183
|
# is made with a uniqueness key that was previously used to create a commit or
|
|
@@ -173,7 +187,7 @@ module MetronomeSDK
|
|
|
173
187
|
# @return [String, nil]
|
|
174
188
|
optional :uniqueness_key, String
|
|
175
189
|
|
|
176
|
-
# @!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, rolled_over_from: nil, rollover_fraction: nil, salesforce_opportunity_id: nil, specifiers: nil, uniqueness_key: nil)
|
|
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)
|
|
177
191
|
# Some parameter documentations has been truncated, see
|
|
178
192
|
# {MetronomeSDK::Models::Commit} for more details.
|
|
179
193
|
#
|
|
@@ -221,6 +235,8 @@ module MetronomeSDK
|
|
|
221
235
|
#
|
|
222
236
|
# @param rate_type [Symbol, MetronomeSDK::Models::Commit::RateType]
|
|
223
237
|
#
|
|
238
|
+
# @param recurring_commit_id [String] The ID of the recurring commit that this commit was generated from, if applicabl
|
|
239
|
+
#
|
|
224
240
|
# @param rolled_over_from [MetronomeSDK::Models::Commit::RolledOverFrom]
|
|
225
241
|
#
|
|
226
242
|
# @param rollover_fraction [Float]
|
|
@@ -229,6 +245,8 @@ module MetronomeSDK
|
|
|
229
245
|
#
|
|
230
246
|
# @param specifiers [Array<MetronomeSDK::Models::CommitSpecifier>] List of filters that determine what kind of customer usage draws down a commit o
|
|
231
247
|
#
|
|
248
|
+
# @param subscription_config [MetronomeSDK::Models::Commit::SubscriptionConfig] The subscription configuration for this commit, if it was generated from a recur
|
|
249
|
+
#
|
|
232
250
|
# @param uniqueness_key [String] Prevents the creation of duplicates. If a request to create a commit or credit i
|
|
233
251
|
|
|
234
252
|
# @see MetronomeSDK::Models::Commit#product
|
|
@@ -934,6 +952,56 @@ module MetronomeSDK
|
|
|
934
952
|
# @param commit_id [String]
|
|
935
953
|
# @param contract_id [String]
|
|
936
954
|
end
|
|
955
|
+
|
|
956
|
+
# @see MetronomeSDK::Models::Commit#subscription_config
|
|
957
|
+
class SubscriptionConfig < MetronomeSDK::Internal::Type::BaseModel
|
|
958
|
+
# @!attribute allocation
|
|
959
|
+
#
|
|
960
|
+
# @return [Symbol, MetronomeSDK::Models::Commit::SubscriptionConfig::Allocation, nil]
|
|
961
|
+
optional :allocation, enum: -> { MetronomeSDK::Commit::SubscriptionConfig::Allocation }
|
|
962
|
+
|
|
963
|
+
# @!attribute apply_seat_increase_config
|
|
964
|
+
#
|
|
965
|
+
# @return [MetronomeSDK::Models::Commit::SubscriptionConfig::ApplySeatIncreaseConfig, nil]
|
|
966
|
+
optional :apply_seat_increase_config,
|
|
967
|
+
-> { MetronomeSDK::Commit::SubscriptionConfig::ApplySeatIncreaseConfig }
|
|
968
|
+
|
|
969
|
+
# @!attribute subscription_id
|
|
970
|
+
#
|
|
971
|
+
# @return [String, nil]
|
|
972
|
+
optional :subscription_id, String
|
|
973
|
+
|
|
974
|
+
# @!method initialize(allocation: nil, apply_seat_increase_config: nil, subscription_id: nil)
|
|
975
|
+
# The subscription configuration for this commit, if it was generated from a
|
|
976
|
+
# recurring commit with a subscription attached.
|
|
977
|
+
#
|
|
978
|
+
# @param allocation [Symbol, MetronomeSDK::Models::Commit::SubscriptionConfig::Allocation]
|
|
979
|
+
# @param apply_seat_increase_config [MetronomeSDK::Models::Commit::SubscriptionConfig::ApplySeatIncreaseConfig]
|
|
980
|
+
# @param subscription_id [String]
|
|
981
|
+
|
|
982
|
+
# @see MetronomeSDK::Models::Commit::SubscriptionConfig#allocation
|
|
983
|
+
module Allocation
|
|
984
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
985
|
+
|
|
986
|
+
INDIVIDUAL = :INDIVIDUAL
|
|
987
|
+
POOLED = :POOLED
|
|
988
|
+
|
|
989
|
+
# @!method self.values
|
|
990
|
+
# @return [Array<Symbol>]
|
|
991
|
+
end
|
|
992
|
+
|
|
993
|
+
# @see MetronomeSDK::Models::Commit::SubscriptionConfig#apply_seat_increase_config
|
|
994
|
+
class ApplySeatIncreaseConfig < MetronomeSDK::Internal::Type::BaseModel
|
|
995
|
+
# @!attribute is_prorated
|
|
996
|
+
# Indicates whether a mid-period seat increase should be prorated.
|
|
997
|
+
#
|
|
998
|
+
# @return [Boolean]
|
|
999
|
+
required :is_prorated, MetronomeSDK::Internal::Type::Boolean
|
|
1000
|
+
|
|
1001
|
+
# @!method initialize(is_prorated:)
|
|
1002
|
+
# @param is_prorated [Boolean] Indicates whether a mid-period seat increase should be prorated.
|
|
1003
|
+
end
|
|
1004
|
+
end
|
|
937
1005
|
end
|
|
938
1006
|
end
|
|
939
1007
|
end
|
|
@@ -421,6 +421,12 @@ module MetronomeSDK
|
|
|
421
421
|
# @return [Symbol, MetronomeSDK::Models::ContractV2::Commit::RateType, nil]
|
|
422
422
|
optional :rate_type, enum: -> { MetronomeSDK::ContractV2::Commit::RateType }
|
|
423
423
|
|
|
424
|
+
# @!attribute recurring_commit_id
|
|
425
|
+
# The ID of the recurring commit that created this commit
|
|
426
|
+
#
|
|
427
|
+
# @return [String, nil]
|
|
428
|
+
optional :recurring_commit_id, String
|
|
429
|
+
|
|
424
430
|
# @!attribute rolled_over_from
|
|
425
431
|
#
|
|
426
432
|
# @return [MetronomeSDK::Models::ContractV2::Commit::RolledOverFrom, nil]
|
|
@@ -445,7 +451,13 @@ module MetronomeSDK
|
|
|
445
451
|
# @return [Array<MetronomeSDK::Models::CommitSpecifier>, nil]
|
|
446
452
|
optional :specifiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::CommitSpecifier] }
|
|
447
453
|
|
|
448
|
-
# @!
|
|
454
|
+
# @!attribute subscription_config
|
|
455
|
+
# Attach a subscription to the recurring commit/credit.
|
|
456
|
+
#
|
|
457
|
+
# @return [MetronomeSDK::Models::RecurringCommitSubscriptionConfig, nil]
|
|
458
|
+
optional :subscription_config, -> { MetronomeSDK::RecurringCommitSubscriptionConfig }
|
|
459
|
+
|
|
460
|
+
# @!method initialize(id:, created_at:, product:, type:, access_schedule: 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)
|
|
449
461
|
# Some parameter documentations has been truncated, see
|
|
450
462
|
# {MetronomeSDK::Models::ContractV2::Commit} for more details.
|
|
451
463
|
#
|
|
@@ -491,6 +503,8 @@ module MetronomeSDK
|
|
|
491
503
|
#
|
|
492
504
|
# @param rate_type [Symbol, MetronomeSDK::Models::ContractV2::Commit::RateType]
|
|
493
505
|
#
|
|
506
|
+
# @param recurring_commit_id [String] The ID of the recurring commit that created this commit
|
|
507
|
+
#
|
|
494
508
|
# @param rolled_over_from [MetronomeSDK::Models::ContractV2::Commit::RolledOverFrom]
|
|
495
509
|
#
|
|
496
510
|
# @param rollover_fraction [Float]
|
|
@@ -498,6 +512,8 @@ module MetronomeSDK
|
|
|
498
512
|
# @param salesforce_opportunity_id [String] This field's availability is dependent on your client's configuration.
|
|
499
513
|
#
|
|
500
514
|
# @param specifiers [Array<MetronomeSDK::Models::CommitSpecifier>] List of filters that determine what kind of customer usage draws down a commit o
|
|
515
|
+
#
|
|
516
|
+
# @param subscription_config [MetronomeSDK::Models::RecurringCommitSubscriptionConfig] Attach a subscription to the recurring commit/credit.
|
|
501
517
|
|
|
502
518
|
# @see MetronomeSDK::Models::ContractV2::Commit#product
|
|
503
519
|
class Product < MetronomeSDK::Internal::Type::BaseModel
|
|
@@ -1646,6 +1662,15 @@ module MetronomeSDK
|
|
|
1646
1662
|
# @return [MetronomeSDK::Models::ContractV2::Credit::Contract, nil]
|
|
1647
1663
|
optional :contract, -> { MetronomeSDK::ContractV2::Credit::Contract }
|
|
1648
1664
|
|
|
1665
|
+
# @!attribute created_at
|
|
1666
|
+
# Timestamp of when the credit was created.
|
|
1667
|
+
#
|
|
1668
|
+
# - Recurring credits: latter of credit service period date and parent credit
|
|
1669
|
+
# start date
|
|
1670
|
+
#
|
|
1671
|
+
# @return [Time, nil]
|
|
1672
|
+
optional :created_at, Time
|
|
1673
|
+
|
|
1649
1674
|
# @!attribute custom_fields
|
|
1650
1675
|
# Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
|
|
1651
1676
|
#
|
|
@@ -1689,6 +1714,12 @@ module MetronomeSDK
|
|
|
1689
1714
|
# @return [Float, nil]
|
|
1690
1715
|
optional :priority, Float
|
|
1691
1716
|
|
|
1717
|
+
# @!attribute recurring_credit_id
|
|
1718
|
+
# The ID of the recurring credit that created this credit
|
|
1719
|
+
#
|
|
1720
|
+
# @return [String, nil]
|
|
1721
|
+
optional :recurring_credit_id, String
|
|
1722
|
+
|
|
1692
1723
|
# @!attribute salesforce_opportunity_id
|
|
1693
1724
|
# This field's availability is dependent on your client's configuration.
|
|
1694
1725
|
#
|
|
@@ -1703,7 +1734,13 @@ module MetronomeSDK
|
|
|
1703
1734
|
# @return [Array<MetronomeSDK::Models::CommitSpecifier>, nil]
|
|
1704
1735
|
optional :specifiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::CommitSpecifier] }
|
|
1705
1736
|
|
|
1706
|
-
# @!
|
|
1737
|
+
# @!attribute subscription_config
|
|
1738
|
+
# Attach a subscription to the recurring commit/credit.
|
|
1739
|
+
#
|
|
1740
|
+
# @return [MetronomeSDK::Models::RecurringCommitSubscriptionConfig, nil]
|
|
1741
|
+
optional :subscription_config, -> { MetronomeSDK::RecurringCommitSubscriptionConfig }
|
|
1742
|
+
|
|
1743
|
+
# @!method initialize(id:, product:, type:, access_schedule: nil, applicable_contract_ids: nil, applicable_product_ids: nil, applicable_product_tags: nil, balance: nil, contract: nil, created_at: nil, custom_fields: nil, description: nil, hierarchy_configuration: nil, ledger: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, recurring_credit_id: nil, salesforce_opportunity_id: nil, specifiers: nil, subscription_config: nil)
|
|
1707
1744
|
# Some parameter documentations has been truncated, see
|
|
1708
1745
|
# {MetronomeSDK::Models::ContractV2::Credit} for more details.
|
|
1709
1746
|
#
|
|
@@ -1725,6 +1762,8 @@ module MetronomeSDK
|
|
|
1725
1762
|
#
|
|
1726
1763
|
# @param contract [MetronomeSDK::Models::ContractV2::Credit::Contract]
|
|
1727
1764
|
#
|
|
1765
|
+
# @param created_at [Time] Timestamp of when the credit was created.
|
|
1766
|
+
#
|
|
1728
1767
|
# @param custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
|
|
1729
1768
|
#
|
|
1730
1769
|
# @param description [String]
|
|
@@ -1739,9 +1778,13 @@ module MetronomeSDK
|
|
|
1739
1778
|
#
|
|
1740
1779
|
# @param priority [Float] If multiple credits or commits are applicable, the one with the lower priority w
|
|
1741
1780
|
#
|
|
1781
|
+
# @param recurring_credit_id [String] The ID of the recurring credit that created this credit
|
|
1782
|
+
#
|
|
1742
1783
|
# @param salesforce_opportunity_id [String] This field's availability is dependent on your client's configuration.
|
|
1743
1784
|
#
|
|
1744
1785
|
# @param specifiers [Array<MetronomeSDK::Models::CommitSpecifier>] List of filters that determine what kind of customer usage draws down a commit o
|
|
1786
|
+
#
|
|
1787
|
+
# @param subscription_config [MetronomeSDK::Models::RecurringCommitSubscriptionConfig] Attach a subscription to the recurring commit/credit.
|
|
1745
1788
|
|
|
1746
1789
|
# @see MetronomeSDK::Models::ContractV2::Credit#product
|
|
1747
1790
|
class Product < MetronomeSDK::Internal::Type::BaseModel
|
|
@@ -104,6 +104,13 @@ module MetronomeSDK
|
|
|
104
104
|
# @return [Symbol, MetronomeSDK::Models::Credit::RateType, nil]
|
|
105
105
|
optional :rate_type, enum: -> { MetronomeSDK::Credit::RateType }
|
|
106
106
|
|
|
107
|
+
# @!attribute recurring_credit_id
|
|
108
|
+
# The ID of the recurring credit that this credit was generated from, if
|
|
109
|
+
# applicable.
|
|
110
|
+
#
|
|
111
|
+
# @return [String, nil]
|
|
112
|
+
optional :recurring_credit_id, String
|
|
113
|
+
|
|
107
114
|
# @!attribute salesforce_opportunity_id
|
|
108
115
|
# This field's availability is dependent on your client's configuration.
|
|
109
116
|
#
|
|
@@ -118,6 +125,13 @@ module MetronomeSDK
|
|
|
118
125
|
# @return [Array<MetronomeSDK::Models::CommitSpecifier>, nil]
|
|
119
126
|
optional :specifiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::CommitSpecifier] }
|
|
120
127
|
|
|
128
|
+
# @!attribute subscription_config
|
|
129
|
+
# The subscription configuration for this credit, if it was generated from a
|
|
130
|
+
# recurring credit with a subscription attached.
|
|
131
|
+
#
|
|
132
|
+
# @return [MetronomeSDK::Models::Credit::SubscriptionConfig, nil]
|
|
133
|
+
optional :subscription_config, -> { MetronomeSDK::Credit::SubscriptionConfig }
|
|
134
|
+
|
|
121
135
|
# @!attribute uniqueness_key
|
|
122
136
|
# Prevents the creation of duplicates. If a request to create a commit or credit
|
|
123
137
|
# is made with a uniqueness key that was previously used to create a commit or
|
|
@@ -127,7 +141,7 @@ module MetronomeSDK
|
|
|
127
141
|
# @return [String, nil]
|
|
128
142
|
optional :uniqueness_key, String
|
|
129
143
|
|
|
130
|
-
# @!method initialize(id:, product:, type:, access_schedule: nil, applicable_contract_ids: nil, applicable_product_ids: nil, applicable_product_tags: nil, balance: nil, contract: nil, custom_fields: nil, description: nil, hierarchy_configuration: nil, ledger: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, rate_type: nil, salesforce_opportunity_id: nil, specifiers: nil, uniqueness_key: nil)
|
|
144
|
+
# @!method initialize(id:, product:, type:, access_schedule: nil, applicable_contract_ids: nil, applicable_product_ids: nil, applicable_product_tags: nil, balance: nil, contract: nil, custom_fields: nil, description: nil, hierarchy_configuration: nil, ledger: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, rate_type: nil, recurring_credit_id: nil, salesforce_opportunity_id: nil, specifiers: nil, subscription_config: nil, uniqueness_key: nil)
|
|
131
145
|
# Some parameter documentations has been truncated, see
|
|
132
146
|
# {MetronomeSDK::Models::Credit} for more details.
|
|
133
147
|
#
|
|
@@ -165,10 +179,14 @@ module MetronomeSDK
|
|
|
165
179
|
#
|
|
166
180
|
# @param rate_type [Symbol, MetronomeSDK::Models::Credit::RateType]
|
|
167
181
|
#
|
|
182
|
+
# @param recurring_credit_id [String] The ID of the recurring credit that this credit was generated from, if applicabl
|
|
183
|
+
#
|
|
168
184
|
# @param salesforce_opportunity_id [String] This field's availability is dependent on your client's configuration.
|
|
169
185
|
#
|
|
170
186
|
# @param specifiers [Array<MetronomeSDK::Models::CommitSpecifier>] List of filters that determine what kind of customer usage draws down a commit o
|
|
171
187
|
#
|
|
188
|
+
# @param subscription_config [MetronomeSDK::Models::Credit::SubscriptionConfig] The subscription configuration for this credit, if it was generated from a recur
|
|
189
|
+
#
|
|
172
190
|
# @param uniqueness_key [String] Prevents the creation of duplicates. If a request to create a commit or credit i
|
|
173
191
|
|
|
174
192
|
# @see MetronomeSDK::Models::Credit#product
|
|
@@ -543,6 +561,56 @@ module MetronomeSDK
|
|
|
543
561
|
# @!method self.values
|
|
544
562
|
# @return [Array<Symbol>]
|
|
545
563
|
end
|
|
564
|
+
|
|
565
|
+
# @see MetronomeSDK::Models::Credit#subscription_config
|
|
566
|
+
class SubscriptionConfig < MetronomeSDK::Internal::Type::BaseModel
|
|
567
|
+
# @!attribute allocation
|
|
568
|
+
#
|
|
569
|
+
# @return [Symbol, MetronomeSDK::Models::Credit::SubscriptionConfig::Allocation, nil]
|
|
570
|
+
optional :allocation, enum: -> { MetronomeSDK::Credit::SubscriptionConfig::Allocation }
|
|
571
|
+
|
|
572
|
+
# @!attribute apply_seat_increase_config
|
|
573
|
+
#
|
|
574
|
+
# @return [MetronomeSDK::Models::Credit::SubscriptionConfig::ApplySeatIncreaseConfig, nil]
|
|
575
|
+
optional :apply_seat_increase_config,
|
|
576
|
+
-> { MetronomeSDK::Credit::SubscriptionConfig::ApplySeatIncreaseConfig }
|
|
577
|
+
|
|
578
|
+
# @!attribute subscription_id
|
|
579
|
+
#
|
|
580
|
+
# @return [String, nil]
|
|
581
|
+
optional :subscription_id, String
|
|
582
|
+
|
|
583
|
+
# @!method initialize(allocation: nil, apply_seat_increase_config: nil, subscription_id: nil)
|
|
584
|
+
# The subscription configuration for this credit, if it was generated from a
|
|
585
|
+
# recurring credit with a subscription attached.
|
|
586
|
+
#
|
|
587
|
+
# @param allocation [Symbol, MetronomeSDK::Models::Credit::SubscriptionConfig::Allocation]
|
|
588
|
+
# @param apply_seat_increase_config [MetronomeSDK::Models::Credit::SubscriptionConfig::ApplySeatIncreaseConfig]
|
|
589
|
+
# @param subscription_id [String]
|
|
590
|
+
|
|
591
|
+
# @see MetronomeSDK::Models::Credit::SubscriptionConfig#allocation
|
|
592
|
+
module Allocation
|
|
593
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
594
|
+
|
|
595
|
+
INDIVIDUAL = :INDIVIDUAL
|
|
596
|
+
POOLED = :POOLED
|
|
597
|
+
|
|
598
|
+
# @!method self.values
|
|
599
|
+
# @return [Array<Symbol>]
|
|
600
|
+
end
|
|
601
|
+
|
|
602
|
+
# @see MetronomeSDK::Models::Credit::SubscriptionConfig#apply_seat_increase_config
|
|
603
|
+
class ApplySeatIncreaseConfig < MetronomeSDK::Internal::Type::BaseModel
|
|
604
|
+
# @!attribute is_prorated
|
|
605
|
+
# Indicates whether a mid-period seat increase should be prorated.
|
|
606
|
+
#
|
|
607
|
+
# @return [Boolean]
|
|
608
|
+
required :is_prorated, MetronomeSDK::Internal::Type::Boolean
|
|
609
|
+
|
|
610
|
+
# @!method initialize(is_prorated:)
|
|
611
|
+
# @param is_prorated [Boolean] Indicates whether a mid-period seat increase should be prorated.
|
|
612
|
+
end
|
|
613
|
+
end
|
|
546
614
|
end
|
|
547
615
|
end
|
|
548
616
|
end
|
|
@@ -53,15 +53,7 @@ module MetronomeSDK
|
|
|
53
53
|
# @return [Array<MetronomeSDK::Models::Tier>, nil]
|
|
54
54
|
optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Tier] }
|
|
55
55
|
|
|
56
|
-
# @!
|
|
57
|
-
# Only set for PERCENTAGE rate_type. Defaults to false. If true, rate is computed
|
|
58
|
-
# using list prices rather than the standard rates for this product on the
|
|
59
|
-
# contract.
|
|
60
|
-
#
|
|
61
|
-
# @return [Boolean, nil]
|
|
62
|
-
optional :use_list_prices, MetronomeSDK::Internal::Type::Boolean
|
|
63
|
-
|
|
64
|
-
# @!method initialize(rate_type:, credit_type: nil, custom_rate: nil, is_prorated: nil, price: nil, pricing_group_values: nil, quantity: nil, tiers: nil, use_list_prices: 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)
|
|
65
57
|
# Some parameter documentations has been truncated, see
|
|
66
58
|
# {MetronomeSDK::Models::Rate} for more details.
|
|
67
59
|
#
|
|
@@ -80,8 +72,6 @@ module MetronomeSDK
|
|
|
80
72
|
# @param quantity [Float] Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
|
|
81
73
|
#
|
|
82
74
|
# @param tiers [Array<MetronomeSDK::Models::Tier>] Only set for TIERED rate_type.
|
|
83
|
-
#
|
|
84
|
-
# @param use_list_prices [Boolean] Only set for PERCENTAGE rate_type. Defaults to false. If true, rate is computed
|
|
85
75
|
|
|
86
76
|
# @see MetronomeSDK::Models::Rate#rate_type
|
|
87
77
|
module RateType
|
|
@@ -24,8 +24,8 @@ module MetronomeSDK
|
|
|
24
24
|
# QUANTITY_ONLY. **QUANTITY_ONLY**: The subscription quantity is specified
|
|
25
25
|
# directly on the subscription. `initial_quantity` must be provided with this
|
|
26
26
|
# option. Compatible with recurring commits/credits that use POOLED allocation.
|
|
27
|
-
# **SEAT_BASED**:
|
|
28
|
-
#
|
|
27
|
+
# **SEAT_BASED**: Use when you want to pass specific seat identifiers (e.g. add
|
|
28
|
+
# user_123) to increment and decrement a subscription quantity, rather than
|
|
29
29
|
# directly providing the quantity. You must use a **SEAT_BASED** subscription to
|
|
30
30
|
# use a linked recurring credit with an allocation per seat. `seat_config` must be
|
|
31
31
|
# provided with this option.
|
|
@@ -82,7 +82,12 @@ module MetronomeSDK
|
|
|
82
82
|
# @return [String, nil]
|
|
83
83
|
optional :name, String
|
|
84
84
|
|
|
85
|
-
# @!
|
|
85
|
+
# @!attribute seat_config
|
|
86
|
+
#
|
|
87
|
+
# @return [MetronomeSDK::Models::Subscription::SeatConfig, nil]
|
|
88
|
+
optional :seat_config, -> { MetronomeSDK::Subscription::SeatConfig }
|
|
89
|
+
|
|
90
|
+
# @!method initialize(billing_periods:, collection_schedule:, proration:, quantity_management_mode:, quantity_schedule:, starting_at:, subscription_rate:, id: nil, custom_fields: nil, description: nil, ending_before: nil, fiat_credit_type_id: nil, name: nil, seat_config: nil)
|
|
86
91
|
# Some parameter documentations has been truncated, see
|
|
87
92
|
# {MetronomeSDK::Models::Subscription} for more details.
|
|
88
93
|
#
|
|
@@ -111,6 +116,8 @@ module MetronomeSDK
|
|
|
111
116
|
# @param fiat_credit_type_id [String]
|
|
112
117
|
#
|
|
113
118
|
# @param name [String]
|
|
119
|
+
#
|
|
120
|
+
# @param seat_config [MetronomeSDK::Models::Subscription::SeatConfig]
|
|
114
121
|
|
|
115
122
|
# @see MetronomeSDK::Models::Subscription#billing_periods
|
|
116
123
|
class BillingPeriods < MetronomeSDK::Internal::Type::BaseModel
|
|
@@ -231,8 +238,8 @@ module MetronomeSDK
|
|
|
231
238
|
# QUANTITY_ONLY. **QUANTITY_ONLY**: The subscription quantity is specified
|
|
232
239
|
# directly on the subscription. `initial_quantity` must be provided with this
|
|
233
240
|
# option. Compatible with recurring commits/credits that use POOLED allocation.
|
|
234
|
-
# **SEAT_BASED**:
|
|
235
|
-
#
|
|
241
|
+
# **SEAT_BASED**: Use when you want to pass specific seat identifiers (e.g. add
|
|
242
|
+
# user_123) to increment and decrement a subscription quantity, rather than
|
|
236
243
|
# directly providing the quantity. You must use a **SEAT_BASED** subscription to
|
|
237
244
|
# use a linked recurring credit with an allocation per seat. `seat_config` must be
|
|
238
245
|
# provided with this option.
|
|
@@ -316,6 +323,26 @@ module MetronomeSDK
|
|
|
316
323
|
# @param name [String]
|
|
317
324
|
end
|
|
318
325
|
end
|
|
326
|
+
|
|
327
|
+
# @see MetronomeSDK::Models::Subscription#seat_config
|
|
328
|
+
class SeatConfig < MetronomeSDK::Internal::Type::BaseModel
|
|
329
|
+
# @!attribute seat_group_key
|
|
330
|
+
# The property name, sent on usage events, that identifies the seat ID associated
|
|
331
|
+
# with the usage event. For example, the property name might be seat_id or
|
|
332
|
+
# user_id. The property must be set as a group key on billable metrics and a
|
|
333
|
+
# presentation/pricing group key on contract products. This allows linked
|
|
334
|
+
# recurring credits with an allocation per seat to be consumed by only one seat's
|
|
335
|
+
# usage.
|
|
336
|
+
#
|
|
337
|
+
# @return [String]
|
|
338
|
+
required :seat_group_key, String
|
|
339
|
+
|
|
340
|
+
# @!method initialize(seat_group_key:)
|
|
341
|
+
# Some parameter documentations has been truncated, see
|
|
342
|
+
# {MetronomeSDK::Models::Subscription::SeatConfig} for more details.
|
|
343
|
+
#
|
|
344
|
+
# @param seat_group_key [String] The property name, sent on usage events, that identifies the seat ID associated
|
|
345
|
+
end
|
|
319
346
|
end
|
|
320
347
|
end
|
|
321
348
|
end
|