openvibers/openvibe.sources Commits
Sources: OVHcloud's dedicated-server catalogs (bare-metal and Eco) (#206)
Changes
@@@ -144,16 +144,19 @@ match as text.**Catalogs that keep plans, hardware and prices apart** (OVHcloud's public order catalog, `ovhcloud-vps`). A key maycarry a selector, `key[field=value,…]` (one to four conditions): `key` must be an array, and the path steps into itsfirst element whose fields equal every value, compared as text after `scalar()` (so `interval=1` matches the number 1).--A value is literal text or `$rec.<path>`, read from the record itself. No match is null.++A value is literal text, `$rec.<path>` (read from the record) or `$root.<path>` (read from the response), and either++path may carry its own selectors. That reaches a plan's default addon and then that addon's own product without code++per provider; no match is null.```json"where": { "planCode": { "pattern": "^vps-[0-9]{4}-model[0-9]+$" } },"extra": { "vcpu": "$root.products[name=$rec.product].blobs.technical.cpu.cores",++ "memory_gb": "$root.products[name=$root.addons[planCode=$rec.addonFamilies[name=memory].default].product].blobs.technical.memory.size","price_monthly": "pricings[mode=default,commitment=0,intervalUnit=month,interval=1].price" }````max_bytes` (an integer from 1 KiB to 64 MiB) sets one endpoint's body cap instead of `SOURCES_MAX_BYTES`. OVHcloud's--catalog is about 12 MB.++VPS catalog is about 12 MB, its bare-metal catalog about 32 MB and its Eco catalog about 10 MB.`timeout_ms` (an integer from 1 s to 120 s) sets one endpoint's deadline instead of `SOURCES_FETCH_TIMEOUT_MS`. NYC OpenData computes the HPD per-building violation tally (`nyc-hpd-open-violations`) in 12 to 60 seconds.@@@ -352,7 +355,7 @@ for the N-1 rollback window.## Seeds--[seeds/sources.json](seeds/sources.json) holds the 65 registered sources, each with its robots, terms and licence notes (the production rows are the record; the terms notes match them as of the 2026-10-23 review).++[seeds/sources.json](seeds/sources.json) holds the 66 registered sources, each with its robots, terms and licence notes (the production rows are the record; the terms notes match them as of the 2026-10-23 review).`npm run seed` creates the ones that do not exist yet, **all disabled**, and never changes an existing one; a personenables a source after reading its terms (`PATCH /api/v1/sources/:key {"enabled": true}`), and the fetcher re-checksrobots.txt on every run. Production on 2026-10-22:@@@ -365,7 +368,7 @@ robots.txt on every run. Production on 2026-10-22:| deals | `dealnews-daily` (rss, `feed@3`: the offer's price, retailer, end date, category and editors' pick) | 1 of 1 || coupons | `dealnews-coupon-codes` (rss with `extract`: only items that state a code and the shop, as kind `coupon`); `staff-coupon-codes` (manual, with the evidence URL) | 2 of 2 || trade | `sec-xbrl-filings`, `ecb-euro-reference-rates` (rss); `sec-company-tickers`, `frankfurter-eur-rates` (api) | 4 of 4 |--| hosting | `porkbun-tld-pricing`, `ovhcloud-vps`, `linode-types`, `aws-lightsail-bundles`, `vultr-plans` (api); `lowendspirit-offers`, `lowendtalk-offers`, `lowendbox-posts` (rss) | 5 of 8: `vultr-plans` is off (its API host's robots.txt disallows every path), and LowEndTalk's and LowEndBox's feeds answer 403 to the production host |++| hosting | `porkbun-tld-pricing`, `ovhcloud-vps`, `ovhcloud-baremetal`, `linode-types`, `aws-lightsail-bundles`, `vultr-plans` (api); `lowendspirit-offers`, `lowendtalk-offers`, `lowendbox-posts` (rss) | 5 of 9: `vultr-plans` is off (its API host's robots.txt disallows every path), LowEndTalk's and LowEndBox's feeds answer 403 to the production host, and `ovhcloud-baremetal` is seeded disabled for review || crowdfunding | `opencollective-accounts` (api) | 1 of 1 || games | `steam-top-sellers`, `steam-new-releases`, `steam-specials` (api: the store's featured lists, in their order) | 3 of 3 |@@@ -1180,6 +1180,101 @@"sensitivity": "none","default_indexability": "noindex"},++ {++ "key": "ovhcloud-baremetal",++ "name": "OVHcloud dedicated servers (US bare-metal and Eco catalogs)",++ "type": "api",++ "category": "hosting",++ "homepage_url": "https://us.ovhcloud.com/bare-metal/",++ "endpoints": [++ {++ "url": "https://api.us.ovhcloud.com/1.0/order/catalog/public/baremetalServers?ovhSubsidiary=US",++ "format": "json",++ "items_path": "plans",++ "item_kind": "plan",++ "max_bytes": 41943040,++ "timeout_ms": 120000,++ "where": {++ "planCode": {++ "pattern": "-us$"++ }++ },++ "fields": {++ "identity": "planCode",++ "title": "invoiceName"++ },++ "extra_lists": {++ "locations": "configurations[name=dedicated_datacenter].values"++ },++ "extra": {++ "product": "product",++ "currency": "$root.locale.currencyCode",++ "range": "$root.products[name=$rec.product].blobs.technical.server.range",++ "cpu_cores": "$root.products[name=$rec.product].blobs.technical.server.cpu.cores",++ "cpu_sockets": "$root.products[name=$rec.product].blobs.technical.server.cpu.number",++ "cpu_model": "$root.products[name=$rec.product].blobs.technical.server.cpu.model",++ "cpu_brand": "$root.products[name=$rec.product].blobs.technical.server.cpu.brand",++ "memory_gb": "$root.products[name=$root.addons[planCode=$rec.addonFamilies[name=memory].default].product].blobs.technical.memory.size",++ "disk_capacity_gb": "$root.products[name=$root.addons[planCode=$rec.addonFamilies[name=storage].default].product].blobs.technical.storage.disks.0.capacity",++ "disk_count": "$root.products[name=$root.addons[planCode=$rec.addonFamilies[name=storage].default].product].blobs.technical.storage.disks.0.number",++ "disk_interface": "$root.products[name=$root.addons[planCode=$rec.addonFamilies[name=storage].default].product].blobs.technical.storage.disks.0.interface",++ "disk_technology": "$root.products[name=$root.addons[planCode=$rec.addonFamilies[name=storage].default].product].blobs.technical.storage.disks.0.technology",++ "bandwidth_mbps": "$root.products[name=$root.addons[planCode=$rec.addonFamilies[name=bandwidth].default].product].blobs.technical.bandwidth.level",++ "bandwidth_limit": "$root.products[name=$root.addons[planCode=$rec.addonFamilies[name=bandwidth].default].product].blobs.technical.bandwidth.limit",++ "price_monthly": "pricings[mode=default,commitment=0,intervalUnit=month,interval=1].price",++ "setup_fee": "pricings[mode=default,commitment=0,intervalUnit=none,interval=0].price"++ }++ },++ {++ "url": "https://api.us.ovhcloud.com/1.0/order/catalog/public/eco?ovhSubsidiary=US",++ "format": "json",++ "items_path": "plans",++ "item_kind": "plan",++ "max_bytes": 16777216,++ "timeout_ms": 60000,++ "where": {++ "planCode": {++ "pattern": "-us$"++ }++ },++ "fields": {++ "identity": "planCode",++ "title": "invoiceName"++ },++ "extra_lists": {++ "locations": "configurations[name=dedicated_datacenter].values"++ },++ "extra": {++ "product": "product",++ "currency": "$root.locale.currencyCode",++ "range": "$root.products[name=$rec.product].blobs.technical.server.range",++ "cpu_cores": "$root.products[name=$rec.product].blobs.technical.server.cpu.cores",++ "cpu_sockets": "$root.products[name=$rec.product].blobs.technical.server.cpu.number",++ "cpu_model": "$root.products[name=$rec.product].blobs.technical.server.cpu.model",++ "cpu_brand": "$root.products[name=$rec.product].blobs.technical.server.cpu.brand",++ "memory_gb": "$root.products[name=$root.addons[planCode=$rec.addonFamilies[name=memory].default].product].blobs.technical.memory.size",++ "disk_capacity_gb": "$root.products[name=$root.addons[planCode=$rec.addonFamilies[name=storage].default].product].blobs.technical.storage.disks.0.capacity",++ "disk_count": "$root.products[name=$root.addons[planCode=$rec.addonFamilies[name=storage].default].product].blobs.technical.storage.disks.0.number",++ "disk_interface": "$root.products[name=$root.addons[planCode=$rec.addonFamilies[name=storage].default].product].blobs.technical.storage.disks.0.interface",++ "disk_technology": "$root.products[name=$root.addons[planCode=$rec.addonFamilies[name=storage].default].product].blobs.technical.storage.disks.0.technology",++ "bandwidth_mbps": "$root.products[name=$root.addons[planCode=$rec.addonFamilies[name=bandwidth].default].product].blobs.technical.bandwidth.level",++ "bandwidth_limit": "$root.products[name=$root.addons[planCode=$rec.addonFamilies[name=bandwidth].default].product].blobs.technical.bandwidth.limit",++ "price_monthly": "pricings[mode=default,commitment=0,intervalUnit=month,interval=1].price",++ "setup_fee": "pricings[mode=default,commitment=0,intervalUnit=none,interval=0].price"++ }++ }++ ],++ "robots_note": "robots.txt checked 2026-11-05 from the production host: https://api.us.ovhcloud.com/robots.txt answers 404 (nginx), and https://api.ovh.com/robots.txt redirects to https://api.eu.ovhcloud.com/robots.txt, also 404, so the API hosts publish no robots.txt rules; a 404 is treated as no restrictions (never guessed as a disallow). The fetcher re-checks robots.txt on every run. (us.ovhcloud.com and www.ovhcloud.com, the marketing sites, are different hosts and are not fetched.)",++ "terms_note": "OVHcloud's API schema (https://api.us.ovhcloud.com/1.0/order.json, read 2026-11-05) marks GET /order/catalog/public/baremetalServers noAuthentication true with apiStatus 'Beta version', and GET /order/catalog/public/eco noAuthentication true with apiStatus 'Stable production version'; both answered keylessly. The US Terms of Service (effective 15 May 2025, https://us.ovhcloud.com/legal/terms-of-service/, read 2026-11-05) say 'Except as expressly authorized in this Agreement, You will not make any copies or duplicates of any OVHcloud Services without the prior written permission of OVHcloud' (the rented Services); no clause found bans reading the public catalog or automated API access. The Service Specific Terms, section 2 Dedicated Servers (https://us.ovhcloud.com/legal/service-specific-terms/, read 2026-11-05) say 'The fees, features, and basic hardware and software configurations are described and accessible online via the OVHcloud website'. The website terms (https://www.ovhcloud.com/en/terms-and-conditions/, read 2026-11-05) say 'Any partial or full reproduction or representation of the website or its components by any process whatsoever, for any purposes whatsoever, is prohibited without the express consent of OVH': we never fetch that website, and keep only facts (plan codes, names, specifications, prices, currency) from the API, each linked to OVHcloud as a dated observation, never its text or images. Two files a day, about 32 MB (bare metal) and 10 MB (Eco). Prices are the catalog's integers in hundred-millionths of a dollar (14700000000 is $147.00): default-mode phase 1, month 1 is the monthly price; default-mode phase 0, intervalUnit none is the installation fee (the site's Advance-1 2026 shows $204/month and $204 installation). Only plan codes ending -us are kept (US datacenters; -ca/-eu copies filtered). Re-verify before enabling; disable on any request from OVHcloud.",++ "license_note": "Plan specifications and prices are OVHcloud's data (https://us.ovhcloud.com/bare-metal/prices/). No licence to republish them was found beyond the public catalog being offered without authentication. Attribute OVHcloud and link the dedicated-server price page; no endorsement implied.",++ "min_interval_ms": 60000,++ "poll_interval_sec": 86400,++ "max_items": 200,++ "enabled": false,++ "review_required": true,++ "sensitivity": "none",++ "default_indexability": "noindex"++ },{"key": "porkbun-tld-pricing","name": "Porkbun domain prices (every TLD it sells)",@@@ -41,13 +41,17 @@* A key may carry a selector, `key[field=value,…]` (one to four conditions): `key` must be an array, and* the path steps into its first element whose fields equal every value (compared as text after* `scalar()`, so `interval=1` matches the number 1). A value is literal text (letters, digits, spaces,-- * `_ : @ + -`) or `$rec.<path>`, a plain dotted path read from the record itself. No match, a missing-- * value or a non-array is undefined (the field is null). OVHcloud's catalog lists plans and their-- * hardware separately and keeps every price variant in one array:++ * `_ : @ + -`), `$rec.<path>` (read from the record) or `$root.<path>` (read from the response), and++ * either path may itself carry selectors. That reaches an addon named by the record and then that++ * addon's own product, without code per provider; OVHcloud's catalog keeps plans, their default++ * addons, and the addons' products apart:** "extra": { "vcpu": "$root.products[name=$rec.product].blobs.technical.cpu.cores",++ * "memory_gb": "$root.products[name=$root.addons[planCode=$rec.addonFamilies[name=memory].default].product].blobs.technical.memory.size",* "price": "pricings[mode=default,commitment=0,intervalUnit=month].price" }*++ * No match, a missing value or a non-array is undefined (the field is null).++ ** A `where` expectation may also be `{ "pattern": "<regular expression>" }` (at most 200 characters):* the value must be text the expression matches, e.g. `{ "planCode": { "pattern": "^vps-[0-9]{4}-model[0-9]+$" } }`.*@@@ -82,13 +86,14 @@const { parseXml, toText, toIsoDate, epochSecondsToIso, canonicalUrl, toId, ParseError } = require('./util');const PARSER_VERSION = 'api@1';--// A segment is `*` (the single child of an object), `{$key}` (the map key, only inside `$root.`),--// or an ordinary key. PATH_RE is syntax only; keyPathViolation enforces where each token may sit.--// A selector condition is `field=value`, the value literal text or `$rec.` and a plain dotted path.--const SEL_COND = '[A-Za-z0-9_]+=(?:\\$rec(?:\\.[A-Za-z0-9_]+)+|[A-Za-z0-9_ :@+-]+)';--const SELECTOR = `\\[${SEL_COND}(?:,${SEL_COND}){0,3}\\]`;--const PATH_SEG = `(?:\\*|\\{\\$key\\}|[A-Za-z0-9_@:$-]+(?:${SELECTOR})?)`;--const PATH_RE = new RegExp(`^${PATH_SEG}(?:\\.${PATH_SEG})*$`);++// A segment is `*` (the single child of an object), `{$key}` (the map key, only inside a `$root.` path),++// or a key, optionally with a selector. A selector condition's value is literal text or a++// `$rec.`/`$root.` path that may itself carry selectors. The parser below enforces the syntax; the++// walker only parses paths that already passed `pathValid()` when they came from the registry.++const NAME_RE = /^[A-Za-z0-9_@:$-]+$/;++const FIELD_RE = /^[A-Za-z0-9_]+$/;++const LITERAL_RE = /^[A-Za-z0-9_ :@+-]+$/;++const MAX_DEPTH = 8;/** A path's segments: dots split it, except inside a selector (whose `$rec.` values have dots of their own). */const SPLIT = new Map();@@@ -108,41 +113,110 @@ function splitPath(path) {return segs;}--/** `key[a=b,c=$rec.d]` → { name, conds: [[field, value]] }, or null for a plain segment. */--function selectorOf(seg) {-- const m = /^([^[]+)\[(.+)\]$/.exec(seg);-- if (!m) return null;-- return { name: m[1], conds: m[2].split(',').map((c) => [c.slice(0, c.indexOf('=')), c.slice(c.indexOf('=') + 1)]) };++/** Split a selector's inner text on commas outside nested brackets. */++function selectorConds(inner) {++ const parts = [];++ let depth = 0;++ let start = 0;++ for (let i = 0; i < inner.length; i++) {++ const ch = inner[i];++ if (ch === '[') depth++;++ else if (ch === ']') { depth--; if (depth < 0) return null; }++ else if (ch === ',' && depth === 0) { parts.push(inner.slice(start, i)); start = i + 1; }++ }++ if (depth !== 0) return null;++ parts.push(inner.slice(start));++ return parts;++}++++/**++ * `key[a=b,c=$rec.d]` → { name, conds: [[field, value]] }, or { bad: true } when malformed.++ * Parsed once per path and cached: a catalog can walk the same mapping for hundreds of plans.++ */++const PATHS = new Map();++function parsePath(path) {++ let parsed = PATHS.get(path);++ if (parsed) return parsed;++ const segs = splitPath(path).map((seg) => {++ if (seg === '*') return { kind: '*' };++ if (seg === '{$key}') return { kind: '{$key}' };++ const open = seg.indexOf('[');++ if (open === -1) return NAME_RE.test(seg) ? { kind: 'key', name: seg } : { kind: 'bad' };++ if (seg[seg.length - 1] !== ']') return { kind: 'bad' };++ const name = seg.slice(0, open);++ if (!NAME_RE.test(name)) return { kind: 'bad' };++ const parts = selectorConds(seg.slice(open + 1, -1));++ if (!parts || parts.length < 1 || parts.length > 4) return { kind: 'bad' };++ const conds = [];++ for (const part of parts) {++ const eq = part.indexOf('=');++ if (eq <= 0) return { kind: 'bad' };++ const field = part.slice(0, eq);++ const value = part.slice(eq + 1);++ if (!FIELD_RE.test(field) || !value) return { kind: 'bad' };++ conds.push([field, value]);++ }++ return { kind: 'sel', name, conds };++ });++ parsed = { segs };++ if (PATHS.size < 2000) PATHS.set(path, parsed);++ return parsed;++}++++/** Is a path syntactically valid, including every selector and every nested reference in it? */++function pathValid(path, depth = 0, top = true) {++ if (typeof path !== 'string' || !path || depth > MAX_DEPTH) return false;++ const { segs } = parsePath(path);++ if (segs.some((seg) => seg.kind === 'bad')) return false;++ if (top && segs[0].kind === 'key' && segs[0].name === '$rec') return false;++ for (const seg of segs) {++ if (seg.kind !== 'sel') continue;++ for (const [, value] of seg.conds) {++ if (value.startsWith('$rec.')) { if (!pathValid(value.slice(5), depth + 1, false)) return false; }++ else if (value.startsWith('$root.')) { if (!pathValid(value.slice(6), depth + 1, false)) return false; }++ else if (!LITERAL_RE.test(value)) return false;++ }++ }++ return true;++}++++/** A selector condition's value: literal text, a record path, or a response path. */++function refValue(raw, key, rec, root, depth) {++ if (raw.startsWith('$rec.')) return scalar(walk(rec, raw.slice(5), key, rec, root, depth + 1));++ if (raw.startsWith('$root.')) return scalar(walk(root, raw.slice(6), key, rec, root, depth + 1));++ return raw;}/*** Walk a dot path: `*` steps into an object's single own property, `{$key}` uses the map key, and* `key[field=value,…]` steps into the first element of the array `key` whose fields match.*/--function walk(obj, path, key, rec) {++function walk(obj, path, key, rec, root = obj, depth = 0) {++ if (depth > MAX_DEPTH) return undefined;++ const { segs } = parsePath(path);let cur = obj;-- for (const seg of splitPath(path)) {++ for (const seg of segs) {if (cur == null || typeof cur !== 'object') return undefined;-- if (seg === '*') {++ if (seg.kind === '*') {if (Array.isArray(cur)) return undefined;const own = Object.keys(cur);if (own.length !== 1) return undefined;cur = cur[own[0]];-- } else if (seg === '{$key}') {++ } else if (seg.kind === '{$key}') {if (key === undefined) return undefined;cur = cur[key];-- } else {-- const sel = selectorOf(seg);-- if (!sel) { cur = cur[seg]; continue; }-- const list = cur[sel.name];++ } else if (seg.kind === 'key') {++ cur = cur[seg.name];++ } else if (seg.kind === 'sel') {++ const list = cur[seg.name];if (!Array.isArray(list)) return undefined;-- const wanted = sel.conds.map(([f, v]) => [f, v.startsWith('$rec.') ? scalar(walk(rec, v.slice('$rec.'.length), key, rec)) : v]);++ const wanted = seg.conds.map(([f, v]) => [f, refValue(v, key, rec, root, depth)]);if (wanted.some(([, v]) => v == null)) return undefined;cur = list.find((el) => el && typeof el === 'object' && wanted.every(([f, v]) => {const a = scalar(el[f]);return a != null && String(a) === String(v);}));-- }++ } else return undefined;}return cur;}@@@ -151,13 +225,13 @@ function walk(obj, path, key, rec) {function getField(body, rec, key, p) {if (!p) return rec;if (p === '$key') return key;-- if (p.startsWith('$root.')) return walk(body, p.slice('$root.'.length), key, rec);-- return walk(rec, p, key, rec);++ if (p.startsWith('$root.')) return walk(body, p.slice('$root.'.length), key, rec, body);++ return walk(rec, p, key, rec, body);}function at(obj, path) {if (!path) return obj;-- return walk(obj, path, undefined);++ return walk(obj, path, undefined, obj, obj);}/** A list the API gives → up to 20 of its scalars (a lone scalar → a list of one; nothing → []). */@@@ -229,7 +303,7 @@ function checkConditions(where, label, shape) {if (typeof where !== 'object' || Array.isArray(where)) return `${label} must be an object of path -> expected`;if (Object.keys(where).length > 10) return `at most 10 ${label} conditions`;for (const [p, expected] of Object.entries(where)) {-- if (!PATH_RE.test(p)) return `${label}.${p} path is malformed`;++ if (!pathValid(p)) return `${label}.${p} path is malformed`;const kerr = keyPathViolation(p, shape);if (kerr) return `${label}.${p}: ${kerr}`;if (isPattern(expected)) {@@@ -254,19 +328,19 @@ function checkMapping(ep, { bulk = false } = {}) {if (!bulk && ep.duplicates !== undefined && !['first', 'last'].includes(ep.duplicates)) return 'duplicates must be first or last';const shape = ep.items_shape || 'array';if (!bulk && !['array', 'map'].includes(shape)) return 'items_shape must be array or map';-- if (!bulk && ep.items_path !== undefined && ep.items_path !== '' && !PATH_RE.test(ep.items_path)) return 'items_path is malformed';++ if (!bulk && ep.items_path !== undefined && ep.items_path !== '' && !pathValid(ep.items_path)) return 'items_path is malformed';const fields = ep.fields || {};if (!fields.identity && !fields.url) return 'fields.identity or fields.url is required';for (const [k, p] of Object.entries(fields)) {if (!['identity', 'url', 'title', 'summary', 'author', 'published_at', 'published_at_epoch', 'updated_at', 'updated_at_epoch'].includes(k)) return `unknown field ${k}`;-- if (typeof p !== 'string' || !PATH_RE.test(p)) return `fields.${k} path is malformed`;++ if (typeof p !== 'string' || !pathValid(p)) return `fields.${k} path is malformed`;const kerr = keyPathViolation(p, shape);if (kerr) return `fields.${k}: ${kerr}`;}const extra = ep.extra || {};if (Object.keys(extra).length > 30) return 'at most 30 extra fields';for (const [k, p] of Object.entries(extra)) {-- if (!/^[a-z][a-z0-9_]{0,39}$/.test(k) || typeof p !== 'string' || !PATH_RE.test(p)) return `extra.${k} is malformed`;++ if (!/^[a-z][a-z0-9_]{0,39}$/.test(k) || typeof p !== 'string' || !pathValid(p)) return `extra.${k} is malformed`;const kerr = keyPathViolation(p, shape);if (kerr) return `extra.${k}: ${kerr}`;}@@@ -274,7 +348,7 @@ function checkMapping(ep, { bulk = false } = {}) {if (typeof lists !== 'object' || Array.isArray(lists)) return 'extra_lists must be an object of field -> path';if (Object.keys(lists).length > 10) return 'at most 10 extra_lists fields';for (const [k, p] of Object.entries(lists)) {-- if (!/^[a-z][a-z0-9_]{0,39}$/.test(k) || typeof p !== 'string' || !PATH_RE.test(p)) return `extra_lists.${k} is malformed`;++ if (!/^[a-z][a-z0-9_]{0,39}$/.test(k) || typeof p !== 'string' || !pathValid(p)) return `extra_lists.${k} is malformed`;if (Object.prototype.hasOwnProperty.call(extra, k)) return `extra_lists.${k} is also an extra field`;const kerr = keyPathViolation(p, shape);if (kerr) return `extra_lists.${k}: ${kerr}`;@@@ -218,4 +218,74 @@ t('an endpoint without the new keys parses exactly as before', () => {assert.strictEqual(r.items[1].canonical_url, null);});++const DEDICATED = JSON.stringify({++ locale: { currencyCode: 'USD' },++ plans: [++ {++ planCode: 'srv-1', product: 'p-1',++ addonFamilies: [{ name: 'memory', default: 'ram-32' }, { name: 'storage', default: 'disk-2x960' }],++ pricings: [{ mode: 'default', commitment: 0, intervalUnit: 'month', interval: 1, price: 14700000000 }],++ },++ {++ planCode: 'srv-2', product: 'p-2',++ addonFamilies: [{ name: 'memory', default: 'ram-64' }, { name: 'storage', default: 'disk-1x480' }],++ pricings: [],++ },++ ],++ addons: [++ { planCode: 'ram-32', product: 'ram-32-prod' }, { planCode: 'ram-64', product: 'ram-64-prod' },++ { planCode: 'disk-2x960', product: 'disk-2x960-prod' }, { planCode: 'disk-1x480', product: 'disk-1x480-prod' },++ ],++ products: [++ { name: 'p-1', blobs: { technical: { server: { cpu: { cores: 6, number: 1 } } } } },++ { name: 'p-2', blobs: { technical: { server: { cpu: { cores: 24, number: 2 } } } } },++ { name: 'ram-32-prod', blobs: { technical: { memory: { size: 32 } } } },++ { name: 'ram-64-prod', blobs: { technical: { memory: { size: 64 } } } },++ { name: 'disk-2x960-prod', blobs: { technical: { storage: { disks: [{ capacity: 960, number: 2, interface: 'NVMe' }] } } } },++ { name: 'disk-1x480-prod', blobs: { technical: { storage: { disks: [{ capacity: 480, number: 1, interface: 'SATA' }] } } } },++ ],++});++++const nestedEndpoint = {++ format: 'json', items_path: 'plans', fields: { identity: 'planCode' },++ extra: {++ cores: '$root.products[name=$rec.product].blobs.technical.server.cpu.cores',++ sockets: '$root.products[name=$rec.product].blobs.technical.server.cpu.number',++ memory: '$root.products[name=$root.addons[planCode=$rec.addonFamilies[name=memory].default].product].blobs.technical.memory.size',++ disk: '$root.products[name=$root.addons[planCode=$rec.addonFamilies[name=storage].default].product].blobs.technical.storage.disks.0.capacity',++ disks: '$root.products[name=$root.addons[planCode=$rec.addonFamilies[name=storage].default].product].blobs.technical.storage.disks.0.number',++ price: 'pricings[mode=default,commitment=0,intervalUnit=month,interval=1].price',++ },++};++++t('a selector value may be a $root or $rec path with its own selector, so a plan reaches its addon and that addon\'s product', () => {++ assert.strictEqual(api.checkMapping(nestedEndpoint), null);++ const r = api.parse(DEDICATED, { url: 'https://x.example/', endpoint: nestedEndpoint });++ assert.deepStrictEqual(r.items.map((i) => i.identity), ['srv-1', 'srv-2']);++ assert.deepStrictEqual(r.items[0].fields, { cores: 6, sockets: 1, memory: 32, disk: 960, disks: 2, price: 14700000000 });++ assert.deepStrictEqual(r.items[1].fields, { cores: 24, sockets: 2, memory: 64, disk: 480, disks: 1, price: null });++ // A named family the record does not have, and an addon code that names no addon, both give null.++ const missing = { ...nestedEndpoint, extra: {++ missing_family: '$root.products[name=$root.addons[planCode=$rec.addonFamilies[name=gpu].default].product].blobs.technical.memory.size',++ missing_addon: '$root.products[name=$root.addons[planCode=$rec.nope].product].blobs.technical.memory.size',++ } };++ assert.strictEqual(api.checkMapping(missing), null);++ const m = api.parse(DEDICATED, { url: 'https://x.example/', endpoint: missing });++ assert.deepStrictEqual(m.items.map((i) => i.fields), [{ missing_family: null, missing_addon: null }, { missing_family: null, missing_addon: null }]);++});++++t('checkMapping refuses a malformed nested reference and stops at a bounded depth', () => {++ const extra = (x) => api.checkMapping({ fields: { identity: 'id' }, extra: { x } });++ assert.strictEqual(extra('$root.a[b=$root.c[d=$rec.e].f]'), null);++ assert.strictEqual(extra('$root.a[b=$rec.c[name=d,e=f].g]'), null, 'a nested selector may carry two conditions');++ assert.match(extra('$root.a[b=$rec].x'), /malformed/);++ assert.match(extra('$root.a[b=$root].x'), /malformed/);++ assert.match(extra('$root.a[b=$root.c[d=$rec.e].f'), /malformed/, 'the outer bracket is unclosed');++ assert.match(extra('$root.a[b=$rec.c[name=d,e=f,g=h,i=j,j=k].x]'), /malformed/, 'a nested selector has at most four conditions');++ assert.match(extra('$rec.a'), /malformed/, 'a top-level $rec path is not a registry path');++ let deep = 'z';++ for (let i = 0; i < 10; i++) deep = `y${i}[a=$rec.${deep}]`;++ assert.match(extra('$root.' + deep), /malformed/, 'references are bounded');++});++t.run();nnew file mode 100644@@@ -0,0 +1,4274 @@++{++ "catalogId": 3775,++ "locale": {++ "currencyCode": "USD",++ "subsidiary": "US",++ "taxRate": 0++ },++ "plans": [++ {++ "planCode": "19infra032-se",++ "invoiceName": "INFRA-3-SE",++ "addonFamilies": [++ {++ "name": "memory",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "ram-128g-ecc-2933-infra-us"++ ],++ "default": "ram-128g-ecc-2933-infra-us"++ },++ {++ "name": "bandwidth",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "bandwidth-guaranteed-2000-ultimate-2019v1-us",++ "bandwidth-1000-burst-2gbps-infra-us"++ ],++ "default": "bandwidth-1000-burst-2gbps-infra-us"++ },++ {++ "name": "storage",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "softraid-2x960nvme-infra-us"++ ],++ "default": "softraid-2x960nvme-infra-us"++ }++ ],++ "product": "19infra03-custom",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": 10++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": 10++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 30100000000,++ "formattedPrice": "$301.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [++ {++ "name": "dedicated_datacenter",++ "isCustom": false,++ "isMandatory": true,++ "values": [++ "vin",++ "hil"++ ]++ },++ {++ "name": "dedicated_os",++ "isCustom": false,++ "isMandatory": true,++ "values": [++ "none_64.en"++ ]++ },++ {++ "name": "region",++ "isCustom": false,++ "isMandatory": false,++ "values": [++ "united_states"++ ]++ }++ ],++ "family": null,++ "blobs": {++ "commercial": {++ "range": "infrastructure"++ }++ }++ },++ {++ "planCode": "20bv012-us",++ "invoiceName": "BV-1",++ "addonFamilies": [++ {++ "name": "bandwidth",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "bandwidth-500-bv-us"++ ],++ "default": "bandwidth-500-bv-us"++ },++ {++ "name": "memory",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "ram-256g-bv-us"++ ],++ "default": "ram-256g-bv-us"++ },++ {++ "name": "storage",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "hybridsoftraid-4x2000sa-2x240ssd-bv-us",++ "softraid-2x240ssd-bv-us"++ ],++ "default": "softraid-2x240ssd-bv-us"++ }++ ],++ "product": "20bv01",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": 10++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": 10++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 10900000000,++ "formattedPrice": "$109.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [++ {++ "name": "dedicated_datacenter",++ "isCustom": false,++ "isMandatory": true,++ "values": [++ "vin",++ "hil"++ ]++ },++ {++ "name": "dedicated_os",++ "isCustom": false,++ "isMandatory": true,++ "values": [++ "none_64.en"++ ]++ },++ {++ "name": "region",++ "isCustom": false,++ "isMandatory": false,++ "values": [++ "united_states"++ ]++ }++ ],++ "family": null,++ "blobs": {++ "commercial": {++ "range": "best-value"++ }++ }++ },++ {++ "planCode": "20hg03-us",++ "invoiceName": "HG-3",++ "addonFamilies": [++ {++ "name": "bandwidth",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "bandwidth-guaranteed-3000-ultimate-2019v2-us",++ "bandwidth-1000-burst-3gbps-hg-us",++ "bandwidth-guaranteed-2000-ultimate-2019v1-us"++ ],++ "default": "bandwidth-1000-burst-3gbps-hg-us"++ },++ {++ "name": "memory",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "ram-192g-hg3-us"++ ],++ "default": "ram-192g-hg3-us"++ },++ {++ "name": "storage",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "softraid-2x6000sas-hg-us"++ ],++ "default": "softraid-2x6000sas-hg-us"++ }++ ],++ "product": "20hg03-us",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": 10++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": 10++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 97500000000,++ "formattedPrice": "$975.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [++ {++ "name": "dedicated_datacenter",++ "isCustom": false,++ "isMandatory": true,++ "values": [++ "vin",++ "hil"++ ]++ },++ {++ "name": "dedicated_os",++ "isCustom": false,++ "isMandatory": true,++ "values": [++ "none_64.en"++ ]++ },++ {++ "name": "region",++ "isCustom": false,++ "isMandatory": false,++ "values": [++ "united_states"++ ]++ }++ ],++ "family": null,++ "blobs": {++ "commercial": {++ "range": "hg"++ }++ }++ },++ {++ "planCode": "22bf062-us",++ "invoiceName": "BFSTOR21-3",++ "addonFamilies": [++ {++ "name": "memory",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "ram-48g-bf6-us"++ ],++ "default": "ram-48g-bf6-us"++ },++ {++ "name": "storage",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "softraid-12x4000sas-bf6-us"++ ],++ "default": "softraid-12x4000sas-bf6-us"++ },++ {++ "name": "bandwidth",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "bandwidth-500-included-bf-us"++ ],++ "default": "bandwidth-500-included-bf-us"++ }++ ],++ "product": "22bf06",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": 10++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 20900000000,++ "formattedPrice": "$209.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": 10++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 20900000000,++ "formattedPrice": "$209.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [++ {++ "name": "dedicated_datacenter",++ "isCustom": false,++ "isMandatory": true,++ "values": [++ "vin",++ "hil"++ ]++ },++ {++ "name": "dedicated_os",++ "isCustom": false,++ "isMandatory": true,++ "values": [++ "none_64.en"++ ]++ },++ {++ "name": "region",++ "isCustom": false,++ "isMandatory": true,++ "values": [++ "united_states"++ ]++ }++ ],++ "family": null,++ "blobs": {++ "commercial": {++ "name": "BFSTOR21-3"++ }++ }++ },++ {++ "planCode": "24adv01-v3-eu",++ "invoiceName": "ADVANCE-1 | AMD EPYC 4244P",++ "addonFamilies": [++ {++ "name": "bandwidth",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "bandwidth-3000-adv-gen3-eu",++ "bandwidth-4000-adv-gen3-eu",++ "bandwidth-5000-adv-gen3-eu"++ ],++ "default": "bandwidth-3000-adv-gen3-eu"++ },++ {++ "name": "storage",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "hybridsoftraid-2x960nvme-pcie-gen4-2x1920nvme-pcie-gen4-24adv01-v3-eu",++ "hybridsoftraid-2x960nvme-pcie-gen4-2x3840nvme-pcie-gen4-24adv01-v3-eu",++ "hybridsoftraid-2x960nvme-pcie-gen4-2x7680nvme-pcie-gen4-24adv01-v3-eu",++ "softraid-2x960nvme-pcie-gen4-24adv01-v3-eu",++ "softraid-4x960nvme-pcie-gen4-24adv01-v3-eu",++ "softraid-4x1920nvme-pcie-gen4-24adv01-v3-eu",++ "softraid-4x3840nvme-pcie-gen4-24adv01-v3-eu",++ "softraid-4x7680nvme-pcie-gen4-24adv01-v3-eu"++ ],++ "default": "softraid-2x960nvme-pcie-gen4-24adv01-v3-eu"++ },++ {++ "name": "memory",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "ram-32g-on-die-ecc-5200-24adv01-v3-eu",++ "ram-64g-on-die-ecc-5200-24adv01-v3-eu",++ "ram-128g-on-die-ecc-3600-24adv01-v3-eu",++ "ram-192g-on-die-ecc-3600-24adv01-v3-eu"++ ],++ "default": "ram-32g-on-die-ecc-5200-24adv01-v3-eu"++ }++ ],++ "product": "24adv01",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": 10++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 14700000000,++ "formattedPrice": "$147.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": 10++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 14700000000,++ "formattedPrice": "$147.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [++ {++ "name": "dedicated_datacenter",++ "isCustom": false,++ "isMandatory": false,++ "values": [++ "fra",++ "gra",++ "lon",++ "rbx",++ "waw",++ "sbg"++ ]++ },++ {++ "name": "dedicated_os",++ "isCustom": false,++ "isMandatory": true,++ "values": [++ "none_64.en"++ ]++ },++ {++ "name": "region",++ "isCustom": false,++ "isMandatory": true,++ "values": [++ "united_states"++ ]++ },++ {++ "name": "enable-backup",++ "isCustom": false,++ "isMandatory": false,++ "values": [++ "true",++ "false"++ ]++ }++ ],++ "family": null,++ "blobs": {++ "commercial": {++ "features": [++ {++ "name": "release-year",++ "value": "2024"++ },++ {++ "name": "baremetal-server-usecases",++ "value": "hosting,bdd"++ },++ {++ "name": "alternative-cpu",++ "value": "26adv01-v7-eu"++ },++ {++ "name": "last-generation",++ "value": "false"++ }++ ],++ "name": "ADVANCE-1"++ }++ }++ },++ {++ "planCode": "24adv01-v3-us",++ "invoiceName": "ADVANCE-1 | AMD EPYC 4244P",++ "addonFamilies": [++ {++ "name": "bandwidth",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "bandwidth-5000-adv-gen3-us",++ "bandwidth-3000-adv-gen3-us",++ "bandwidth-4000-adv-gen3-us"++ ],++ "default": "bandwidth-3000-adv-gen3-us"++ },++ {++ "name": "storage",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "hybridsoftraid-2x960nvme-pcie-gen4-2x1920nvme-pcie-gen4-24adv01-v3-us",++ "hybridsoftraid-2x960nvme-pcie-gen4-2x3840nvme-pcie-gen4-24adv01-v3-us",++ "hybridsoftraid-2x960nvme-pcie-gen4-2x7680nvme-pcie-gen4-24adv01-v3-us",++ "softraid-2x960nvme-pcie-gen4-24adv01-v3-us",++ "softraid-4x960nvme-pcie-gen4-24adv01-v3-us",++ "softraid-4x1920nvme-pcie-gen4-24adv01-v3-us",++ "softraid-4x3840nvme-pcie-gen4-24adv01-v3-us",++ "softraid-4x7680nvme-pcie-gen4-24adv01-v3-us"++ ],++ "default": "softraid-2x960nvme-pcie-gen4-24adv01-v3-us"++ },++ {++ "name": "memory",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "ram-32g-on-die-ecc-5200-24adv01-v3-us",++ "ram-64g-on-die-ecc-5200-24adv01-v3-us",++ "ram-128g-on-die-ecc-3600-24adv01-v3-us",++ "ram-192g-on-die-ecc-3600-24adv01-v3-us"++ ],++ "default": "ram-32g-on-die-ecc-5200-24adv01-v3-us"++ }++ ],++ "product": "24adv01",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": 10++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 14700000000,++ "formattedPrice": "$147.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": 10++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 14700000000,++ "formattedPrice": "$147.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [++ {++ "name": "dedicated_datacenter",++ "isCustom": false,++ "isMandatory": false,++ "values": [++ "vin",++ "hil"++ ]++ },++ {++ "name": "dedicated_os",++ "isCustom": false,++ "isMandatory": true,++ "values": [++ "none_64.en"++ ]++ },++ {++ "name": "region",++ "isCustom": false,++ "isMandatory": true,++ "values": [++ "united_states"++ ]++ },++ {++ "name": "enable-backup",++ "isCustom": false,++ "isMandatory": false,++ "values": [++ "true",++ "false"++ ]++ }++ ],++ "family": null,++ "blobs": {++ "commercial": {++ "features": [++ {++ "name": "release-year",++ "value": "2024"++ },++ {++ "name": "baremetal-server-usecases",++ "value": "hosting,bdd"++ },++ {++ "name": "alternative-cpu",++ "value": "26adv01-v7-us"++ },++ {++ "name": "last-generation",++ "value": "false"++ }++ ],++ "name": "ADVANCE-1"++ }++ }++ },++ {++ "planCode": "26game02-v4-us",++ "invoiceName": "GAME-2 | AMD RYZEN 9 9950X3D",++ "addonFamilies": [++ {++ "name": "memory",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "ram-128g-on-die-ecc-3600-26game02-v4-us",++ "ram-64g-on-die-ecc-5600-26game02-v4-us",++ "ram-192g-on-die-ecc-3600-26game02-v4-us",++ "ram-256g-on-die-ecc-3600-26game02-v4-us"++ ],++ "default": "ram-64g-on-die-ecc-5600-26game02-v4-us"++ },++ {++ "name": "storage",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "softraid-2x960nvme-26game02-v4-us"++ ],++ "default": "softraid-2x960nvme-26game02-v4-us"++ },++ {++ "name": "bandwidth",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "bandwidth-1000-game-gen4-us"++ ],++ "default": "bandwidth-1000-game-gen4-us"++ }++ ],++ "product": "26game02",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": 10++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 40100000000,++ "formattedPrice": "$401.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [++ {++ "description": "Free setup fees for all customers",++ "discount": {++ "value": 40100000000,++ "formattedValue": "$401.00 USD",++ "tax": 0++ },++ "duration": null,++ "context": "standard",++ "customFieldValues": [],++ "endDate": "2026-11-04T15:00:00-05:00",++ "formattedValue": "",++ "globalQuantity": null,++ "isForTestingPurpose": false,++ "isGlobalQuantityLimited": false,++ "minimumDuration": 1,++ "name": "2710_SpecialOffers_SetUpFee",++ "quantity": null,++ "startDate": "2026-10-21T14:30:50.51-04:00",++ "tags": null,++ "total": {++ "value": 0,++ "formattedValue": "$0.00 USD",++ "tax": 0++ },++ "type": "percentage",++ "value": 100++ }++ ],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": 10++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 40100000000,++ "formattedPrice": "$401.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [++ {++ "name": "dedicated_os",++ "isCustom": false,++ "isMandatory": true,++ "values": [++ "none_64.en"++ ]++ },++ {++ "name": "region",++ "isCustom": false,++ "isMandatory": true,++ "values": [++ "united_states"++ ]++ },++ {++ "name": "dedicated_datacenter",++ "isCustom": false,++ "isMandatory": true,++ "values": [++ "vin",++ "hil"++ ]++ },++ {++ "name": "enable-backup",++ "isCustom": false,++ "isMandatory": false,++ "values": [++ "true",++ "false"++ ]++ }++ ],++ "family": null,++ "blobs": {++ "commercial": {++ "features": [++ {++ "name": "baremetal-server-usecases",++ "value": "gaming"++ },++ {++ "name": "release-year",++ "value": "2026"++ }++ ],++ "name": "GAME-2"++ }++ }++ },++ {++ "planCode": "24hci-a1-v2-us",++ "invoiceName": "HGR-HCI-a1",++ "addonFamilies": [++ {++ "name": "bandwidth",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "bandwidth-10000-hgr-gen2-us",++ "bandwidth-15000-hgr-gen2-us",++ "bandwidth-20000-hgr-gen2-us",++ "bandwidth-25000-hgr-gen2-us"++ ],++ "default": "bandwidth-10000-hgr-gen2-us"++ },++ {++ "name": "memory",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "ram-256g-ecc-4800-24hci-a1-v2-us",++ "ram-512g-ecc-4800-24hci-a1-v2-us",++ "ram-1024g-ecc-4800-24hci-a1-v2-us",++ "ram-1536g-ecc-4800-24hci-a1-v2-us",++ "ram-2304g-ecc-4800-24hci-a1-v2-us"++ ],++ "default": "ram-256g-ecc-4800-24hci-a1-v2-us"++ },++ {++ "name": "storage",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "softraid-6x3840nvme-24hci-a1-v2-us",++ "softraid-12x3840nvme-24hci-a1-v2-us",++ "softraid-18x3840nvme-24hci-a1-v2-us",++ "softraid-24x3840nvme-24hci-a1-v2-us"++ ],++ "default": "softraid-6x3840nvme-24hci-a1-v2-us"++ }++ ],++ "product": "24hci-a1",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": 10++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 165500000000,++ "formattedPrice": "$1655.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": 10++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 165500000000,++ "formattedPrice": "$1655.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [++ {++ "name": "dedicated_datacenter",++ "isCustom": false,++ "isMandatory": false,++ "values": [++ "vin",++ "hil"++ ]++ },++ {++ "name": "dedicated_os",++ "isCustom": false,++ "isMandatory": true,++ "values": [++ "none_64.en"++ ]++ },++ {++ "name": "region",++ "isCustom": false,++ "isMandatory": true,++ "values": [++ "united_states"++ ]++ },++ {++ "name": "enable-backup",++ "isCustom": false,++ "isMandatory": false,++ "values": [++ "true",++ "false"++ ]++ }++ ],++ "family": null,++ "blobs": {++ "commercial": {++ "features": [++ {++ "name": "baremetal-server-usecases",++ "value": "virtualisation-containerisation-orchestration,hyperconverged-infrastructure,confidential-computing,hpc"++ },++ {++ "name": "alternative-cpu",++ "value": "26hci-a1-v2"++ },++ {++ "name": "last-generation",++ "value": "false"++ },++ {++ "name": "release-year",++ "value": "2024"++ }++ ],++ "name": "HGR-HCI-a1"++ }++ }++ },++ {++ "planCode": "23scaleamd01-v3-us",++ "invoiceName": "Scale-a1",++ "addonFamilies": [++ {++ "name": "bandwidth",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "bandwidth-20000-scale-gen2-us",++ "bandwidth-25000-scale-gen2-us",++ "bandwidth-15000-scale-gen2-us",++ "bandwidth-5000-scale-gen2-us",++ "bandwidth-10000-scale-gen2-us"++ ],++ "default": "bandwidth-5000-scale-gen2-us"++ },++ {++ "name": "storage",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "noraid-0-23scaleamd01-v3-us",++ "softraid-2x1920nvme-23scaleamd01-v3-us",++ "softraid-2x3840nvme-23scaleamd01-v3-us",++ "softraid-2x7680nvme-23scaleamd01-v3-us",++ "softraid-4x1920nvme-23scaleamd01-v3-us",++ "softraid-4x3840nvme-23scaleamd01-v3-us",++ "softraid-4x7680nvme-23scaleamd01-v3-us",++ "softraid-6x1920nvme-23scaleamd01-v3-us",++ "softraid-6x3840nvme-23scaleamd01-v3-us",++ "softraid-6x7680nvme-23scaleamd01-v3-us"++ ],++ "default": "noraid-0-23scaleamd01-v3-us"++ },++ {++ "name": "memory",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "ram-128g-ecc-4800-23scaleamd01-v3-us",++ "ram-256g-ecc-4800-23scaleamd01-v3-us",++ "ram-512g-ecc-4800-23scaleamd01-v3-us",++ "ram-1024g-ecc-4800-23scaleamd01-v3-us"++ ],++ "default": "ram-128g-ecc-4800-23scaleamd01-v3-us"++ }++ ],++ "product": "23scaleamd01",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": 10++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 68900000000,++ "formattedPrice": "$689.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [++ {++ "description": "Free setup fees for all customers",++ "discount": {++ "value": 68900000000,++ "formattedValue": "$689.00 USD",++ "tax": 0++ },++ "duration": null,++ "context": "standard",++ "customFieldValues": [],++ "endDate": "2026-11-04T15:00:00-05:00",++ "formattedValue": "",++ "globalQuantity": null,++ "isForTestingPurpose": false,++ "isGlobalQuantityLimited": false,++ "minimumDuration": 1,++ "name": "2710_SpecialOffers_SetUpFee",++ "quantity": null,++ "startDate": "2026-10-21T14:30:50.51-04:00",++ "tags": null,++ "total": {++ "value": 0,++ "formattedValue": "$0.00 USD",++ "tax": 0++ },++ "type": "percentage",++ "value": 100++ }++ ],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": 10++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 68900000000,++ "formattedPrice": "$689.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [++ {++ "name": "dedicated_datacenter",++ "isCustom": false,++ "isMandatory": false,++ "values": [++ "vin",++ "hil"++ ]++ },++ {++ "name": "dedicated_os",++ "isCustom": false,++ "isMandatory": true,++ "values": [++ "none_64.en"++ ]++ },++ {++ "name": "region",++ "isCustom": false,++ "isMandatory": true,++ "values": [++ "united_states"++ ]++ },++ {++ "name": "enable-backup",++ "isCustom": false,++ "isMandatory": false,++ "values": [++ "true",++ "false"++ ]++ }++ ],++ "family": null,++ "blobs": {++ "commercial": {++ "features": [++ {++ "name": "release-year",++ "value": "2024"++ },++ {++ "name": "alternative-cpu",++ "value": "26scaleamd01-v4-us"++ },++ {++ "name": "last-generation",++ "value": "false"++ },++ {++ "name": "baremetal-server-usecases",++ "value": "confidential-computing,vdi,virtualisation-containerisation-orchestration,bdd"++ }++ ],++ "name": "Scale-a1"++ }++ }++ },++ {++ "planCode": "26adv01-v7-us",++ "invoiceName": "ADVANCE-1 | AMD EPYC 4245P",++ "addonFamilies": [++ {++ "name": "storage",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "hybridsoftraid-2x960nvme-pcie-gen5-2x1920nvme-pcie-gen5-26adv01-v7-us",++ "hybridsoftraid-2x960nvme-pcie-gen5-2x3840nvme-pcie-gen5-26adv01-v7-us",++ "hybridsoftraid-2x960nvme-pcie-gen5-2x7680nvme-pcie-gen5-26adv01-v7-us",++ "hybridsoftraid-2x960nvme-pcie-gen5-2x15360nvme-pcie-gen5-26adv01-v7-us",++ "softraid-2x960nvme-pcie-gen5-26adv01-v7-us",++ "softraid-4x960nvme-pcie-gen5-26adv01-v7-us",++ "softraid-4x1920nvme-pcie-gen5-26adv01-v7-us",++ "softraid-4x3840nvme-pcie-gen5-26adv01-v7-us",++ "softraid-4x7680nvme-pcie-gen5-26adv01-v7-us"++ ],++ "default": "softraid-2x960nvme-pcie-gen5-26adv01-v7-us"++ },++ {++ "name": "memory",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "ram-32g-ddr5-on-die-ecc-5600-26adv01-v7-us",++ "ram-64g-ddr5-on-die-ecc-3600-26adv01-v7-us",++ "ram-128g-ddr5-on-die-ecc-3600-26adv01-v7-us",++ "ram-192g-ddr5-on-die-ecc-3600-26adv01-v7-us",++ "ram-256g-ddr5-on-die-ecc-3600-26adv01-v7-us"++ ],++ "default": "ram-32g-ddr5-on-die-ecc-5600-26adv01-v7-us"++ },++ {++ "name": "bandwidth",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "bandwidth-4000-adv-gen4-us",++ "bandwidth-5000-adv-gen4-us",++ "bandwidth-3000-adv-gen4-us"++ ],++ "default": "bandwidth-3000-adv-gen4-us"++ }++ ],++ "product": "26adv01",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": 10++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 20400000000,++ "formattedPrice": "$204.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": 10++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 20400000000,++ "formattedPrice": "$204.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [++ {++ "name": "dedicated_os",++ "isCustom": false,++ "isMandatory": true,++ "values": [++ "none_64.en"++ ]++ },++ {++ "name": "region",++ "isCustom": false,++ "isMandatory": true,++ "values": [++ "united_states"++ ]++ },++ {++ "name": "dedicated_datacenter",++ "isCustom": false,++ "isMandatory": true,++ "values": [++ "hil",++ "vin"++ ]++ },++ {++ "name": "enable-backup",++ "isCustom": false,++ "isMandatory": false,++ "values": [++ "true",++ "false"++ ]++ }++ ],++ "family": null,++ "blobs": {++ "commercial": {++ "features": [++ {++ "name": "release-year",++ "value": "2026"++ },++ {++ "name": "baremetal-server-usecases",++ "value": "hosting,bdd"++ },++ {++ "name": "alternative-cpu",++ "value": "24adv01-v3-us"++ },++ {++ "name": "last-generation",++ "value": "true"++ }++ ],++ "name": "ADVANCE-1"++ }++ }++ }++ ],++ "products": [++ {++ "name": "bandwidth-500",++ "description": "500 Mbps unmetered public bandwidth",++ "blobs": {++ "technical": {++ "bandwidth": {++ "burst": 0,++ "level": 500,++ "limit": 0,++ "guaranteed": false++ }++ }++ },++ "configurations": []++ },++ {++ "name": "ram-48g-ecc-2400",++ "description": "48GB DDR4 ECC 2400MHz",++ "blobs": {++ "technical": {++ "memory": {++ "ecc": true,++ "size": 48,++ "ramType": "DDR4",++ "frequency": 2400++ }++ }++ },++ "configurations": []++ },++ {++ "name": "softraid-12x4000sas",++ "description": "12x HDD SAS 4TB Datacenter Class Soft RAID",++ "blobs": {++ "technical": {++ "storage": {++ "raid": "Soft RAID",++ "disks": [++ {++ "specs": "3.5in",++ "usage": "data",++ "number": 12,++ "capacity": 4000,++ "interface": "SAS",++ "technology": "HDD"++ }++ ],++ "hotSwap": false,++ "raidDetails": {++ "type": "Soft RAID"++ }++ }++ }++ },++ "configurations": []++ },++ {++ "name": "ram-256g-ecc-1600",++ "description": "256GB DDR3 ECC 1600MHz",++ "blobs": {++ "technical": {++ "memory": {++ "ecc": true,++ "size": 256,++ "ramType": "DDR3",++ "frequency": 1600++ }++ }++ },++ "configurations": []++ },++ {++ "name": "softraid-2x240ssd",++ "description": "2x SSD SATA 240GB Datacenter Class Soft RAID",++ "blobs": {++ "technical": {++ "storage": {++ "raid": "Soft RAID",++ "disks": [++ {++ "specs": "2.5in 7mm",++ "usage": "data",++ "number": 2,++ "capacity": 240,++ "interface": "SATA",++ "technology": "SSD"++ }++ ],++ "hotSwap": false,++ "raidDetails": {++ "type": "Soft RAID"++ }++ }++ }++ },++ "configurations": []++ },++ {++ "name": "softraid-2x960nvme",++ "description": "2x SSD NVMe 960GB Datacenter Class Soft RAID",++ "blobs": {++ "technical": {++ "storage": {++ "raid": "Soft RAID",++ "disks": [++ {++ "specs": "M.2 80",++ "usage": "data",++ "number": 2,++ "capacity": 960,++ "interface": "NVMe",++ "technology": "SSD"++ }++ ],++ "hotSwap": false,++ "raidDetails": {++ "type": "Soft RAID"++ }++ }++ }++ },++ "configurations": []++ },++ {++ "name": "bandwidth-1000-burst-3gbps",++ "description": "1Gbps unmetered public bandwidth - 3Gbps burst",++ "blobs": {++ "technical": {++ "bandwidth": {++ "burst": 3000,++ "level": 1000,++ "limit": 0,++ "guaranteed": false++ }++ }++ },++ "configurations": []++ },++ {++ "name": "softraid-2x6000sas",++ "description": "2x HDD SAS 6TB Datacenter Class Soft RAID",++ "blobs": {++ "technical": {++ "storage": {++ "raid": "Soft RAID",++ "disks": [++ {++ "specs": "3.5in",++ "number": 2,++ "capacity": 6000,++ "interface": "SAS",++ "technology": "HDD"++ }++ ]++ }++ }++ },++ "configurations": []++ },++ {++ "name": "ram-192g-ecc-2666",++ "description": "RAM 192GB DDR4 ECC 2666MHz",++ "blobs": {++ "technical": {++ "memory": {++ "ecc": true,++ "size": 192,++ "ramType": "DDR4",++ "frequency": 2666++ }++ }++ },++ "configurations": []++ },++ {++ "name": "softraid-6x3840nvme",++ "description": "6x SSD NVMe 3.84TB Enterprise Class Soft RAID",++ "blobs": {++ "technical": {++ "storage": {++ "raid": "Soft RAID",++ "disks": [++ {++ "specs": "M.2 80",++ "usage": "data",++ "number": 6,++ "capacity": 3840,++ "interface": "NVMe",++ "technology": "SSD"++ }++ ],++ "hotSwap": true,++ "raidDetails": {++ "type": "Soft RAID"++ }++ }++ }++ },++ "configurations": []++ },++ {++ "name": "20bv01",++ "description": "2x Intel Xeon E5-2660",++ "blobs": {++ "technical": {++ "server": {++ "cpu": {++ "boost": 3,++ "brand": "Intel",++ "cores": 8,++ "model": "Xeon E5-2660",++ "score": 15000,++ "number": 2,++ "threads": 16,++ "frequency": 2.2++ },++ "frame": {++ "size": "1U",++ "model": "OVH",++ "dualPowerSupply": false++ },++ "range": "best-value",++ "services": {++ "sla": 99,++ "antiddos": "standard"++ }++ }++ }++ },++ "configurations": [++ {++ "name": "extra_reservation",++ "isCustom": true,++ "isMandatory": false,++ "values": null++ }++ ]++ },++ {++ "name": "20hg03-us",++ "description": "2x Intel Xeon Gold 6132",++ "blobs": {++ "technical": {++ "server": {++ "cpu": {++ "boost": 3.7,++ "brand": "Intel",++ "cores": 28,++ "model": "2x Xeon Gold 6132",++ "score": 16000,++ "threads": 56,++ "frequency": 2.6++ },++ "frame": {++ "size": "1U",++ "model": "Intel"++ },++ "range": "hg"++ }++ }++ },++ "configurations": []++ },++ {++ "name": "22bf06",++ "description": "Intel Xeon Silver 4110",++ "blobs": {++ "technical": {++ "server": {++ "cpu": {++ "boost": 3,++ "brand": "Intel",++ "cores": 8,++ "model": "Xeon Silver 4110",++ "score": 10232,++ "number": 1,++ "threads": 16,++ "frequency": 2.1++ },++ "frame": {++ "size": "1U",++ "model": "OVH",++ "dualPowerSupply": false++ },++ "range": "rise",++ "services": {++ "sla": 99,++ "antiddos": "standard"++ }++ }++ }++ },++ "configurations": [++ {++ "name": "extra_reservation",++ "isCustom": true,++ "isMandatory": false,++ "values": null++ }++ ]++ },++ {++ "name": "bandwidth-1000",++ "description": "1Gbps unmetered and guaranteed public bandwidth",++ "blobs": {++ "technical": {++ "bandwidth": {++ "burst": 0,++ "level": 1000,++ "limit": 0,++ "guaranteed": true++ }++ }++ },++ "configurations": []++ },++ {++ "name": "bandwidth-3000",++ "description": "3Gbps unmetered public bandwidth",++ "blobs": {++ "technical": {++ "bandwidth": {++ "burst": 0,++ "level": 3000,++ "limit": 0,++ "guaranteed": true++ }++ }++ },++ "configurations": []++ },++ {++ "name": "bandwidth-5000",++ "description": "5Gbps unmetered and guaranteed public bandwidth",++ "blobs": {++ "technical": {++ "bandwidth": {++ "burst": 0,++ "level": 5000,++ "limit": 0,++ "guaranteed": true++ }++ }++ },++ "configurations": []++ },++ {++ "name": "ram-64g-on-die-ecc-5600",++ "description": "64GB DDR5 On-Die ECC 5600MHz",++ "blobs": {++ "technical": {++ "memory": {++ "ecc": false,++ "size": 64,++ "ramType": "DDR5",++ "frequency": 5600++ }++ }++ },++ "configurations": []++ },++ {++ "name": "bandwidth-10000",++ "description": "10Gbps unmetered and guaranteed public bandwidth",++ "blobs": {++ "technical": {++ "bandwidth": {++ "burst": 0,++ "level": 10000,++ "limit": 0,++ "guaranteed": true++ }++ }++ },++ "configurations": []++ },++ {++ "name": "noraid-0",++ "description": "No storage drive",++ "blobs": {++ "technical": {++ "storage": {++ "raid": "none",++ "disks": [++ {++ "specs": "M.2 80",++ "usage": "data",++ "number": 0,++ "capacity": 0,++ "interface": "NVMe",++ "technology": "SSD"++ }++ ],++ "hotSwap": false,++ "raidDetails": {++ "type": "none"++ }++ }++ }++ },++ "configurations": []++ },++ {++ "name": "ram-128g-ecc-4800",++ "description": "128GB DDR5 ECC 4800MHz",++ "blobs": {++ "technical": {++ "memory": {++ "ecc": true,++ "size": 128,++ "ramType": "DDR5",++ "frequency": 4800++ }++ }++ },++ "configurations": []++ },++ {++ "name": "ram-256g-ecc-4800",++ "description": "256GB DDR5 ECC 4800MHz",++ "blobs": {++ "technical": {++ "memory": {++ "ecc": true,++ "size": 256,++ "ramType": "DDR5",++ "frequency": 4800++ }++ }++ },++ "configurations": []++ },++ {++ "name": "ram-32g-ddr5-on-die-ecc-5600",++ "description": "32GB DDR5 On-Die ECC 5600MHz",++ "blobs": {++ "technical": {++ "memory": {++ "ecc": false,++ "size": 32,++ "ramType": "DDR5",++ "frequency": 5600++ }++ }++ },++ "configurations": []++ },++ {++ "name": "softraid-2x960nvme-pcie-gen5",++ "description": "2x SSD NVMe 960GB Datacenter Class Soft RAID",++ "blobs": {++ "technical": {++ "storage": {++ "raid": "Soft RAID",++ "disks": [++ {++ "specs": "M.2 80",++ "usage": "data",++ "number": 2,++ "capacity": 960,++ "interface": "NVMe",++ "technology": "SSD",++ "physicalInterface": "pcie-gen5"++ }++ ],++ "hotSwap": false,++ "raidDetails": {++ "type": "Soft RAID"++ }++ }++ }++ },++ "configurations": []++ },++ {++ "name": "ram-32g-on-die-ecc-5200",++ "description": "32GB DDR5 On-Die ECC 5200Hz",++ "blobs": {++ "technical": {++ "memory": {++ "ecc": false,++ "size": 32,++ "ramType": "DDR5",++ "frequency": 5200++ }++ }++ },++ "configurations": []++ },++ {++ "name": "softraid-2x960nvme-pcie-gen4",++ "description": "2x SSD NVMe 960GB Enterprise Class Soft RAID",++ "blobs": {++ "technical": {++ "storage": {++ "raid": "Soft RAID",++ "disks": [++ {++ "specs": "M.2 80",++ "usage": "data",++ "number": 2,++ "capacity": 960,++ "interface": "NVMe",++ "technology": "SSD",++ "physicalInterface": "pcie-gen4"++ }++ ],++ "hotSwap": false,++ "raidDetails": {++ "type": "Soft RAID"++ }++ }++ }++ },++ "configurations": []++ },++ {++ "name": "24adv01",++ "description": "AMD EPYC 4244P",++ "blobs": {++ "technical": {++ "server": {++ "cpu": {++ "boost": 5.1,++ "brand": "AMD",++ "cores": 6,++ "model": "EPYC 4244P",++ "score": 27900,++ "number": 1,++ "threads": 12,++ "frequency": 3.8++ },++ "frame": {++ "size": "0.5U",++ "model": "OVH",++ "dualPowerSupply": false++ },++ "range": "advance",++ "services": {++ "sla": 99.95,++ "antiddos": "standard"++ }++ }++ }++ },++ "configurations": [++ {++ "name": "extra_reservation",++ "isCustom": true,++ "isMandatory": false,++ "values": null++ }++ ]++ },++ {++ "name": "26game02",++ "description": "AMD RYZEN 9 9950X3D",++ "blobs": {++ "technical": {++ "server": {++ "cpu": {++ "boost": 5.7,++ "brand": "AMD",++ "cores": 16,++ "model": "RYZEN 9 9950X3D",++ "score": 69700,++ "number": 1,++ "threads": 32,++ "frequency": 4.3++ },++ "frame": {++ "size": "0.5U",++ "model": "OVH",++ "dualPowerSupply": false++ },++ "range": "game",++ "services": {++ "sla": 99.95,++ "antiddos": "standard"++ }++ }++ }++ },++ "configurations": [++ {++ "name": "extra_reservation",++ "isCustom": true,++ "isMandatory": false,++ "values": null++ }++ ]++ },++ {++ "name": "24hci-a1",++ "description": "2x AMD Epyc 9254",++ "blobs": {++ "technical": {++ "server": {++ "cpu": {++ "boost": 3.9,++ "brand": "AMD",++ "cores": 24,++ "model": "Epyc 9254",++ "score": 100000,++ "number": 2,++ "threads": 48,++ "frequency": 2.9++ },++ "frame": {++ "size": "1U",++ "model": "OVH",++ "dualPowerSupply": true++ },++ "range": "hgr",++ "network": {++ "capacity": 25,++ "interfaces": 4++ },++ "services": {++ "sla": 99.99,++ "antiddos": "standard"++ }++ }++ }++ },++ "configurations": [++ {++ "name": "extra_reservation",++ "isCustom": true,++ "isMandatory": false,++ "values": null++ }++ ]++ },++ {++ "name": "23scaleamd01",++ "description": "AMD EPYC GENOA 9124",++ "blobs": {++ "technical": {++ "server": {++ "cpu": {++ "boost": 3.6,++ "brand": "AMD",++ "cores": 16,++ "model": "EPYC GENOA 9124",++ "score": 45900,++ "number": 1,++ "threads": 32,++ "frequency": 3++ },++ "frame": {++ "size": "1U",++ "model": "OVH",++ "dualPowerSupply": true++ },++ "range": "scale",++ "services": {++ "sla": 99.99,++ "antiddos": "standard"++ }++ }++ }++ },++ "configurations": [++ {++ "name": "extra_reservation",++ "isCustom": true,++ "isMandatory": false,++ "values": null++ }++ ]++ },++ {++ "name": "26adv01",++ "description": "AMD EPYC 4245P",++ "blobs": {++ "technical": {++ "server": {++ "cpu": {++ "boost": 5.4,++ "brand": "AMD",++ "cores": 6,++ "model": "EPYC 4245P",++ "score": 31075,++ "number": 1,++ "threads": 12,++ "frequency": 3.9++ },++ "frame": {++ "size": "0.5U",++ "model": "OVH",++ "dualPowerSupply": false++ },++ "range": "advance",++ "services": {++ "sla": 99.95,++ "antiddos": "standard"++ }++ }++ }++ },++ "configurations": [++ {++ "name": "extra_reservation",++ "isCustom": true,++ "isMandatory": false,++ "values": null++ }++ ]++ }++ ],++ "addons": [++ {++ "planCode": "bandwidth-500-included-bf-us",++ "invoiceName": "Unlimited traffic - 500Mbps bandwidth",++ "addonFamilies": [],++ "product": "bandwidth-500",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [],++ "family": null,++ "blobs": null++ },++ {++ "planCode": "ram-48g-bf6-us",++ "invoiceName": "48GB DDR4 ECC 2400MHz",++ "addonFamilies": [],++ "product": "ram-48g-ecc-2400",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [],++ "family": null,++ "blobs": null++ },++ {++ "planCode": "softraid-12x4000sas-bf6-us",++ "invoiceName": "12x HDD SAS 4TB Datacenter Class Soft RAID",++ "addonFamilies": [],++ "product": "softraid-12x4000sas",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [],++ "family": null,++ "blobs": null++ },++ {++ "planCode": "bandwidth-500-bv-us",++ "invoiceName": "500Mbps unmetered public bandwidth",++ "addonFamilies": [],++ "product": "bandwidth-500",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 0,++ "capacities": [++ "upgrade"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [],++ "family": "public-bandwidth",++ "blobs": null++ },++ {++ "planCode": "ram-256g-bv-us",++ "invoiceName": "256GB DDR3 ECC 1600MHz",++ "addonFamilies": [],++ "product": "ram-256g-ecc-1600",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [],++ "family": null,++ "blobs": null++ },++ {++ "planCode": "softraid-2x240ssd-bv-us",++ "invoiceName": "2x SSD SATA 240GB Datacenter Class Soft RAID",++ "addonFamilies": [],++ "product": "softraid-2x240ssd",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [],++ "family": null,++ "blobs": null++ },++ {++ "planCode": "bandwidth-1000-burst-3gbps-hg-us",++ "invoiceName": "1Gbps unmetered public bandwidth - 3Gbps burst",++ "addonFamilies": [],++ "product": "bandwidth-1000-burst-3gbps",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 0,++ "capacities": [++ "upgrade"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [],++ "family": "public-bandwidth",++ "blobs": null++ },++ {++ "planCode": "softraid-2x6000sas-hg-us",++ "invoiceName": "2x HDD SAS 6TB Datacenter Class Soft RAID",++ "addonFamilies": [],++ "product": "softraid-2x6000sas",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [],++ "family": null,++ "blobs": null++ },++ {++ "planCode": "ram-192g-hg3-us",++ "invoiceName": "192GB DDR4 ECC 2666MHz",++ "addonFamilies": [],++ "product": "ram-192g-ecc-2666",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [],++ "family": null,++ "blobs": null++ },++ {++ "planCode": "ram-64g-on-die-ecc-5600-26game02-v4-us",++ "invoiceName": "64GB DDR5 On-Die ECC 5600MHz",++ "addonFamilies": [],++ "product": "ram-64g-on-die-ecc-5600",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [],++ "family": null,++ "blobs": null++ },++ {++ "planCode": "softraid-2x960nvme-26game02-v4-us",++ "invoiceName": "2x SSD NVMe 960GB Enterprise Class Soft RAID",++ "addonFamilies": [],++ "product": "softraid-2x960nvme",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [],++ "family": null,++ "blobs": null++ },++ {++ "planCode": "bandwidth-3000-adv-gen3-us",++ "invoiceName": "3Gbps unmetered and guaranteed public bandwidth",++ "addonFamilies": [],++ "product": "bandwidth-3000",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 0,++ "capacities": [++ "upgrade"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [],++ "family": "public-bandwidth",++ "blobs": null++ },++ {++ "planCode": "bandwidth-1000-game-gen4-us",++ "invoiceName": "1Gbps unmetered public bandwidth",++ "addonFamilies": [],++ "product": "bandwidth-1000",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 0,++ "capacities": [++ "upgrade"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [],++ "family": "public-bandwidth",++ "blobs": null++ },++ {++ "planCode": "bandwidth-10000-hgr-gen2-us",++ "invoiceName": "10Gbps guaranteed unmetered public bandwidth",++ "addonFamilies": [],++ "product": "bandwidth-10000",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 0,++ "capacities": [++ "upgrade"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [],++ "family": "public-bandwidth",++ "blobs": null++ },++ {++ "planCode": "bandwidth-5000-scale-gen2-us",++ "invoiceName": "5Gbps guaranteed unmetered public bandwidth",++ "addonFamilies": [],++ "product": "bandwidth-5000",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 0,++ "capacities": [++ "upgrade"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [],++ "family": "public-bandwidth",++ "blobs": null++ },++ {++ "planCode": "noraid-0-23scaleamd01-v3-us",++ "invoiceName": "No storage drive",++ "addonFamilies": [],++ "product": "noraid-0",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 0,++ "capacities": [++ "upgrade"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [],++ "family": "storage",++ "blobs": null++ },++ {++ "planCode": "ram-128g-ecc-4800-23scaleamd01-v3-us",++ "invoiceName": "128GB DDR5 ECC 4800MHz",++ "addonFamilies": [],++ "product": "ram-128g-ecc-4800",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 0,++ "capacities": [++ "upgrade"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [],++ "family": "memory",++ "blobs": null++ },++ {++ "planCode": "ram-256g-ecc-4800-24hci-a1-v2-us",++ "invoiceName": "256GB DDR5 ECC 4800MHz",++ "addonFamilies": [],++ "product": "ram-256g-ecc-4800",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 0,++ "capacities": [++ "upgrade"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [],++ "family": "memory",++ "blobs": null++ },++ {++ "planCode": "softraid-6x3840nvme-24hci-a1-v2-us",++ "invoiceName": "6x SSD NVMe 3.84TB Enterprise Class Soft RAID",++ "addonFamilies": [],++ "product": "softraid-6x3840nvme",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 0,++ "capacities": [++ "upgrade"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [],++ "family": "storage",++ "blobs": null++ },++ {++ "planCode": "ram-32g-ddr5-on-die-ecc-5600-26adv01-v7-us",++ "invoiceName": "32GB DDR5 On-Die ECC 5600MHz",++ "addonFamilies": [],++ "product": "ram-32g-ddr5-on-die-ecc-5600",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 0,++ "capacities": [++ "upgrade"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [],++ "family": "memory",++ "blobs": null++ },++ {++ "planCode": "softraid-2x960nvme-pcie-gen5-26adv01-v7-us",++ "invoiceName": "2x SSD NVMe 960GB Datacenter Class Soft RAID",++ "addonFamilies": [],++ "product": "softraid-2x960nvme-pcie-gen5",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 0,++ "capacities": [++ "upgrade"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [],++ "family": "storage",++ "blobs": null++ },++ {++ "planCode": "ram-32g-on-die-ecc-5200-24adv01-v3-us",++ "invoiceName": "32GB DDR5 On-Die ECC 5200MHz",++ "addonFamilies": [],++ "product": "ram-32g-on-die-ecc-5200",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 0,++ "capacities": [++ "upgrade"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [],++ "family": "memory",++ "blobs": null++ },++ {++ "planCode": "softraid-2x960nvme-pcie-gen4-24adv01-v3-us",++ "invoiceName": "2x SSD NVMe 960GB Enterprise Class Soft RAID",++ "addonFamilies": [],++ "product": "softraid-2x960nvme-pcie-gen4",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 0,++ "capacities": [++ "upgrade"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [],++ "family": "storage",++ "blobs": null++ },++ {++ "planCode": "bandwidth-3000-adv-gen4-us",++ "invoiceName": "3Gbps unmetered and guaranteed public bandwidth",++ "addonFamilies": [],++ "product": "bandwidth-3000",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 0,++ "capacities": [++ "upgrade"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [],++ "family": "public-bandwidth",++ "blobs": null++ }++ ]++}\\ No newline at end of filennew file mode 100644@@@ -0,0 +1,2409 @@++{++ "catalogId": 3796,++ "locale": {++ "currencyCode": "USD",++ "subsidiary": "US",++ "taxRate": 0++ },++ "plans": [++ {++ "planCode": "24risegame012-ca",++ "invoiceName": "RISE-GAME-1 | AMD Ryzen 5 5600X",++ "addonFamilies": [++ {++ "name": "storage",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "softraid-2x512nvme-24risegame-ca"++ ],++ "default": "softraid-2x512nvme-24risegame-ca"++ },++ {++ "name": "bandwidth",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "bandwidth-1000-rise-game-ca"++ ],++ "default": "bandwidth-1000-rise-game-ca"++ },++ {++ "name": "memory",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "ram-32g-ecc-2400-24risegame01-ca",++ "ram-64g-ecc-2400-24risegame01-ca"++ ],++ "default": "ram-32g-ecc-2400-24risegame01-ca"++ }++ ],++ "product": "24risegame01",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": 10++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 9000000000,++ "formattedPrice": "$90.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": 10++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 9000000000,++ "formattedPrice": "$90.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [++ {++ "name": "dedicated_datacenter",++ "isCustom": false,++ "isMandatory": false,++ "values": [++ "bhs"++ ]++ },++ {++ "name": "dedicated_os",++ "isCustom": false,++ "isMandatory": true,++ "values": [++ "none_64.en"++ ]++ },++ {++ "name": "region",++ "isCustom": false,++ "isMandatory": true,++ "values": [++ "united_states"++ ]++ }++ ],++ "family": null,++ "blobs": {++ "commercial": {++ "features": [++ {++ "name": "baremetal-server-usecases",++ "value": "gaming"++ }++ ],++ "name": "RISE-GAME-1"++ }++ }++ },++ {++ "planCode": "24risegame012-us",++ "invoiceName": "RISE-GAME-1 | AMD Ryzen 5 5600X",++ "addonFamilies": [++ {++ "name": "memory",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "ram-32g-ecc-2400-24risegame01-us",++ "ram-64g-ecc-2400-24risegame01-us"++ ],++ "default": "ram-32g-ecc-2400-24risegame01-us"++ },++ {++ "name": "storage",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "softraid-2x512nvme-24risegame-us"++ ],++ "default": "softraid-2x512nvme-24risegame-us"++ },++ {++ "name": "bandwidth",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "bandwidth-1000-rise-game-us"++ ],++ "default": "bandwidth-1000-rise-game-us"++ }++ ],++ "product": "24risegame01",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": 10++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 9000000000,++ "formattedPrice": "$90.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": 10++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 9000000000,++ "formattedPrice": "$90.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [++ {++ "name": "dedicated_datacenter",++ "isCustom": false,++ "isMandatory": false,++ "values": [++ "vin",++ "hil"++ ]++ },++ {++ "name": "dedicated_os",++ "isCustom": false,++ "isMandatory": true,++ "values": [++ "none_64.en"++ ]++ },++ {++ "name": "region",++ "isCustom": false,++ "isMandatory": true,++ "values": [++ "united_states"++ ]++ }++ ],++ "family": null,++ "blobs": {++ "commercial": {++ "features": [++ {++ "name": "baremetal-server-usecases",++ "value": "gaming"++ }++ ],++ "name": "RISE-GAME-1"++ }++ }++ },++ {++ "planCode": "26sk50a-v1-us",++ "invoiceName": "KS-5-A | Intel Xeon E-2274G",++ "addonFamilies": [++ {++ "name": "storage",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "softraid-2x960nvme-2x6000sa-26sk50a-v1-us",++ "softraid-2x960nvme-26sk50a-v1-us",++ "softraid-2x1920nvme-26sk50a-v1-us",++ "softraid-3x1920nvme-26sk50a-v1-us",++ "softraid-2x3840nvme-26sk50a-v1-us",++ "softraid-3x6000sa-26sk50a-v1-us"++ ],++ "default": "softraid-2x960nvme-26sk50a-v1-us"++ },++ {++ "name": "memory",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "ram-32g-ecc-2666-26sk50a-v1-us",++ "ram-64g-ecc-2666-26sk50a-v1-us"++ ],++ "default": "ram-32g-ecc-2666-26sk50a-v1-us"++ },++ {++ "name": "bandwidth",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "bandwidth-500-ks-gen0-us"++ ],++ "default": "bandwidth-500-ks-gen0-us"++ }++ ],++ "product": "26sk50a",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": 10++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 3000000000,++ "formattedPrice": "$30.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": 10++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 3000000000,++ "formattedPrice": "$30.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [++ {++ "name": "dedicated_os",++ "isCustom": false,++ "isMandatory": true,++ "values": [++ "none_64.en"++ ]++ },++ {++ "name": "region",++ "isCustom": false,++ "isMandatory": true,++ "values": [++ "united_states"++ ]++ },++ {++ "name": "enable-backup",++ "isCustom": false,++ "isMandatory": false,++ "values": [++ "true",++ "false"++ ]++ },++ {++ "name": "dedicated_datacenter",++ "isCustom": false,++ "isMandatory": true,++ "values": [++ "hil",++ "vin"++ ]++ }++ ],++ "family": null,++ "blobs": {++ "commercial": {++ "features": [++ {++ "name": "baremetal-server-usecases",++ "value": "bdd,dev-env,email"++ }++ ],++ "name": "KS-5-A"++ }++ }++ },++ {++ "planCode": "24rise092-us",++ "invoiceName": "RISE-9 | AMD Epyc 7642",++ "addonFamilies": [++ {++ "name": "memory",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "ram-256g-ecc-2933-24rise09-us",++ "ram-512g-ecc-2933-24rise09-us",++ "ram-1024g-ecc-2933-24rise09-us"++ ],++ "default": "ram-256g-ecc-2933-24rise09-us"++ },++ {++ "name": "bandwidth",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "bandwidth-2000-24rise-us",++ "bandwidth-1000-24rise-us",++ "bandwidth-3000-24rise-us"++ ],++ "default": "bandwidth-1000-24rise-us"++ },++ {++ "name": "storage",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "softraid-4x1920nvme-24rise-us",++ "softraid-4x3840nvme-24rise-us",++ "softraid-0disk-24rise-us",++ "softraid-2x3840nvme-24rise-us",++ "softraid-2x1920nvme-24rise-us"++ ],++ "default": "softraid-0disk-24rise-us"++ }++ ],++ "product": "24rise09",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": 10++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 26000000000,++ "formattedPrice": "$260.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": 10++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 26000000000,++ "formattedPrice": "$260.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [++ {++ "name": "dedicated_os",++ "isCustom": false,++ "isMandatory": true,++ "values": [++ "none_64.en"++ ]++ },++ {++ "name": "region",++ "isCustom": false,++ "isMandatory": true,++ "values": [++ "united_states"++ ]++ },++ {++ "name": "dedicated_datacenter",++ "isCustom": false,++ "isMandatory": true,++ "values": [++ "hil",++ "vin"++ ]++ }++ ],++ "family": null,++ "blobs": {++ "commercial": {++ "features": [++ {++ "name": "baremetal-server-usecases",++ "value": "vdi,bdd,hpc,virtualisation-containerisation-orchestration"++ }++ ],++ "name": "RISE-9"++ }++ }++ },++ {++ "planCode": "24sys03-v1-us",++ "invoiceName": "SYS-3 | Intel Xeon-E 2288G",++ "addonFamilies": [++ {++ "name": "memory",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "ram-32g-ecc-2666-24sys03-v1-us",++ "ram-64g-ecc-2666-24sys03-v1-us",++ "ram-128g-ecc-2666-24sys03-v1-us"++ ],++ "default": "ram-32g-ecc-2666-24sys03-v1-us"++ },++ {++ "name": "storage",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "softraid-2x960nvme-24sys03-v1-us",++ "hybridsoftraid-2x6000sa-2x960nvme-24sys03-v1-us",++ "softraid-2x1920nvme-24sys03-v1-us",++ "softraid-3x1920nvme-24sys03-v1-us",++ "softraid-3x4000sa-24sys03-v1-us"++ ],++ "default": "softraid-2x960nvme-24sys03-v1-us"++ },++ {++ "name": "bandwidth",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "bandwidth-1000-24sys-us",++ "bandwidth-2000-24sys-us"++ ],++ "default": "bandwidth-1000-24sys-us"++ }++ ],++ "product": "24sys03",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": 10++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 6000000000,++ "formattedPrice": "$60.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": 10++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 6000000000,++ "formattedPrice": "$60.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [++ {++ "name": "dedicated_datacenter",++ "isCustom": false,++ "isMandatory": false,++ "values": [++ "hil",++ "vin"++ ]++ },++ {++ "name": "dedicated_os",++ "isCustom": false,++ "isMandatory": true,++ "values": [++ "none_64.en"++ ]++ },++ {++ "name": "region",++ "isCustom": false,++ "isMandatory": true,++ "values": [++ "united_states"++ ]++ }++ ],++ "family": null,++ "blobs": {++ "commercial": {++ "features": [++ {++ "name": "baremetal-server-usecases",++ "value": "hosting,dev-env"++ }++ ],++ "name": "SYS-3"++ }++ }++ },++ {++ "planCode": "24rise01-v2-us",++ "invoiceName": "RISE-1 | Intel Xeon-E 2386G",++ "addonFamilies": [++ {++ "name": "bandwidth",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "bandwidth-1000-unguaranteed-rise-gen2-us"++ ],++ "default": "bandwidth-1000-unguaranteed-rise-gen2-us"++ },++ {++ "name": "storage",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "softraid-2x960nvme-24rise01-v2-us",++ "softraid-2x512nvme-24rise01-v2-us",++ "softraid-4x3840nvme-24rise01-v2-us",++ "hybridsoftraid-2x6000sa-2x512nvme-24rise01-v2-us",++ "softraid-2x1920nvme-24rise01-v2-us",++ "softraid-2x3840nvme-24rise01-v2-us",++ "softraid-2x4000sa-24rise01-v2-us",++ "softraid-2x6000sa-24rise01-v2-us",++ "softraid-3x1920nvme-24rise01-v2-us",++ "softraid-3x3840nvme-24rise01-v2-us",++ "softraid-4x960nvme-24rise01-v2-us"++ ],++ "default": "softraid-2x512nvme-24rise01-v2-us"++ },++ {++ "name": "memory",++ "exclusive": true,++ "mandatory": true,++ "addons": [++ "ram-32g-ecc-3200-24rise01-v2-us",++ "ram-64g-ecc-3200-24rise01-v2-us",++ "ram-128g-ecc-2933-24rise01-v2-us"++ ],++ "default": "ram-32g-ecc-3200-24rise01-v2-us"++ }++ ],++ "product": "24rise01",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": 10++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 7000000000,++ "formattedPrice": "$70.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": 10++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 7000000000,++ "formattedPrice": "$70.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [++ {++ "name": "dedicated_datacenter",++ "isCustom": false,++ "isMandatory": false,++ "values": [++ "hil",++ "vin"++ ]++ },++ {++ "name": "dedicated_os",++ "isCustom": false,++ "isMandatory": true,++ "values": [++ "none_64.en"++ ]++ },++ {++ "name": "region",++ "isCustom": false,++ "isMandatory": true,++ "values": [++ "united_states"++ ]++ }++ ],++ "family": null,++ "blobs": {++ "commercial": {++ "features": [++ {++ "name": "baremetal-server-usecases",++ "value": "hosting,confidential-computing,dev-env,email,bdd"++ }++ ],++ "name": "RISE-1"++ }++ }++ }++ ],++ "products": [++ {++ "name": "bandwidth-1000",++ "description": "1Gbps unmetered and guaranteed public bandwidth",++ "blobs": {++ "technical": {++ "bandwidth": {++ "burst": 0,++ "level": 1000,++ "limit": 0,++ "guaranteed": true++ }++ }++ },++ "configurations": []++ },++ {++ "name": "bandwidth-500",++ "description": "500 Mbps unmetered public bandwidth",++ "blobs": {++ "technical": {++ "bandwidth": {++ "burst": 0,++ "level": 500,++ "limit": 0,++ "guaranteed": false++ }++ }++ },++ "configurations": []++ },++ {++ "name": "ram-256g-ecc-2933",++ "description": "256GB DDR4 ECC 2933MHz",++ "blobs": {++ "technical": {++ "memory": {++ "ecc": true,++ "size": 256,++ "ramType": "DDR4",++ "frequency": 2933++ }++ }++ },++ "configurations": []++ },++ {++ "name": "ram-32g-ecc-2400",++ "description": "32GB DDR4 ECC 2400MHz",++ "blobs": {++ "technical": {++ "memory": {++ "ecc": true,++ "size": 32,++ "ramType": "DDR4",++ "frequency": 2400++ }++ }++ },++ "configurations": []++ },++ {++ "name": "ram-32g-ecc-2666",++ "description": "32GB DDR4 ECC 2666MHz",++ "blobs": {++ "technical": {++ "memory": {++ "ecc": true,++ "size": 32,++ "ramType": "DDR4",++ "frequency": 2666++ }++ }++ },++ "configurations": []++ },++ {++ "name": "softraid-2x512nvme",++ "description": "2x SSD NVMe 512GB Datacenter Class Soft RAID",++ "blobs": {++ "technical": {++ "storage": {++ "raid": "Soft RAID",++ "disks": [++ {++ "specs": "M.2 80",++ "usage": "data",++ "number": 2,++ "capacity": 512,++ "interface": "NVMe",++ "technology": "SSD"++ }++ ],++ "hotSwap": false,++ "raidDetails": {++ "type": "Soft RAID"++ }++ }++ }++ },++ "configurations": []++ },++ {++ "name": "softraid-2x960nvme",++ "description": "2x SSD NVMe 960GB Datacenter Class Soft RAID",++ "blobs": {++ "technical": {++ "storage": {++ "raid": "Soft RAID",++ "disks": [++ {++ "specs": "M.2 80",++ "usage": "data",++ "number": 2,++ "capacity": 960,++ "interface": "NVMe",++ "technology": "SSD"++ }++ ],++ "hotSwap": false,++ "raidDetails": {++ "type": "Soft RAID"++ }++ }++ }++ },++ "configurations": []++ },++ {++ "name": "24risegame01",++ "description": "AMD Ryzen 5 5600X",++ "blobs": {++ "technical": {++ "server": {++ "cpu": {++ "boost": 4.6,++ "brand": "AMD",++ "cores": 6,++ "model": "Ryzen 5 5600X",++ "score": 22206,++ "number": 1,++ "threads": 12,++ "frequency": 3.7++ },++ "frame": {++ "size": "1U",++ "model": "OVH",++ "dualPowerSupply": false++ },++ "range": "rise",++ "services": {++ "sla": 99.95,++ "antiddos": "game"++ }++ }++ }++ },++ "configurations": [++ {++ "name": "extra_reservation",++ "isCustom": true,++ "isMandatory": false,++ "values": null++ }++ ]++ },++ {++ "name": "26sk50a",++ "description": "Intel Xeon E-2274G",++ "blobs": {++ "technical": {++ "server": {++ "cpu": {++ "boost": 4.9,++ "brand": "Intel",++ "cores": 4,++ "model": "Xeon E-2274G",++ "score": 11360,++ "number": 1,++ "threads": 8,++ "frequency": 4++ },++ "frame": {++ "size": "1U",++ "model": "OVH",++ "dualPowerSupply": false++ },++ "range": "kimsufi",++ "services": {++ "sla": 99.9,++ "antiddos": "standard"++ }++ }++ }++ },++ "configurations": [++ {++ "name": "extra_reservation",++ "isCustom": true,++ "isMandatory": false,++ "values": null++ }++ ]++ },++ {++ "name": "noraid-0",++ "description": "No storage drive",++ "blobs": {++ "technical": {++ "storage": {++ "raid": "none",++ "disks": [++ {++ "specs": "M.2 80",++ "usage": "data",++ "number": 0,++ "capacity": 0,++ "interface": "NVMe",++ "technology": "SSD"++ }++ ],++ "hotSwap": false,++ "raidDetails": {++ "type": "none"++ }++ }++ }++ },++ "configurations": []++ },++ {++ "name": "24rise09",++ "description": "AMD Epyc 7642",++ "blobs": {++ "technical": {++ "server": {++ "cpu": {++ "boost": 3.6,++ "brand": "AMD",++ "cores": 48,++ "model": "Epyc 7642",++ "number": 1,++ "threads": 96,++ "frequency": 2.3++ },++ "frame": {++ "size": "1U",++ "model": "OVH",++ "dualPowerSupply": false++ },++ "range": "rise",++ "services": {++ "sla": 99.95,++ "antiddos": "standard"++ }++ }++ }++ },++ "configurations": [++ {++ "name": "extra_reservation",++ "isCustom": true,++ "isMandatory": false,++ "values": null++ }++ ]++ },++ {++ "name": "24sys03",++ "description": "Intel Xeon-E 2288G",++ "blobs": {++ "technical": {++ "server": {++ "cpu": {++ "boost": 5,++ "brand": "Intel",++ "cores": 8,++ "model": "Xeon-E 2288G",++ "score": 19000,++ "number": 1,++ "threads": 16,++ "frequency": 3.7++ },++ "frame": {++ "size": "1U",++ "model": "OVH",++ "dualPowerSupply": false++ },++ "range": "soyoustart",++ "services": {++ "sla": 99.9,++ "antiddos": "standard"++ }++ }++ }++ },++ "configurations": [++ {++ "name": "extra_reservation",++ "isCustom": true,++ "isMandatory": false,++ "values": null++ }++ ]++ },++ {++ "name": "ram-32g-ecc-3200",++ "description": "32GB DDR4 ECC 3200MHz",++ "blobs": {++ "technical": {++ "memory": {++ "ecc": true,++ "size": 32,++ "ramType": "DDR4",++ "frequency": 3200++ }++ }++ },++ "configurations": []++ },++ {++ "name": "24rise01",++ "description": "Intel Xeon-E 2386G",++ "blobs": {++ "technical": {++ "server": {++ "cpu": {++ "boost": 4.7,++ "brand": "Intel",++ "cores": 6,++ "model": "Xeon-E 2386G",++ "score": 13976,++ "number": 1,++ "threads": 12,++ "frequency": 3.5++ },++ "frame": {++ "size": "0.5U",++ "model": "OVH",++ "dualPowerSupply": false++ },++ "range": "rise",++ "services": {++ "sla": 99.95,++ "antiddos": "standard"++ }++ }++ }++ },++ "configurations": [++ {++ "name": "extra_reservation",++ "isCustom": true,++ "isMandatory": false,++ "values": null++ }++ ]++ },++ {++ "name": "bandwidth-1000-unguaranteed",++ "description": "1Gbps unmetered public bandwidth",++ "blobs": {++ "technical": {++ "bandwidth": {++ "burst": 0,++ "level": 1000,++ "limit": 0,++ "guaranteed": false++ }++ }++ },++ "configurations": []++ }++ ],++ "addons": [++ {++ "planCode": "bandwidth-1000-rise-game-us",++ "invoiceName": "1Gbps unmetered public bandwidth",++ "addonFamilies": [],++ "product": "bandwidth-1000",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "upgrade"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [],++ "family": "public-bandwidth",++ "blobs": null++ },++ {++ "planCode": "ram-256g-ecc-2933-24rise09-us",++ "invoiceName": "256GB DDR4 ECC 2933MHz",++ "addonFamilies": [],++ "product": "ram-256g-ecc-2933",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [],++ "family": null,++ "blobs": null++ },++ {++ "planCode": "ram-32g-ecc-2400-24risegame01-us",++ "invoiceName": "32GB DDR4 ECC 2400MHz",++ "addonFamilies": [],++ "product": "ram-32g-ecc-2400",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [],++ "family": null,++ "blobs": null++ },++ {++ "planCode": "softraid-2x512nvme-24risegame-us",++ "invoiceName": "2x SSD NVMe 512GB Enterprise Class Soft RAID",++ "addonFamilies": [],++ "product": "softraid-2x512nvme",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [],++ "family": null,++ "blobs": null++ },++ {++ "planCode": "ram-32g-ecc-2666-26sk50a-v1-us",++ "invoiceName": "32GB DDR4 ECC 2666MHz",++ "addonFamilies": [],++ "product": "ram-32g-ecc-2666",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [],++ "family": null,++ "blobs": null++ },++ {++ "planCode": "softraid-2x960nvme-26sk50a-v1-us",++ "invoiceName": "2x SSD NVMe 960GB Enterprise Class Soft RAID",++ "addonFamilies": [],++ "product": "softraid-2x960nvme",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [],++ "family": null,++ "blobs": null++ },++ {++ "planCode": "bandwidth-500-ks-gen0-us",++ "invoiceName": "500Mbps unmetered public bandwidth",++ "addonFamilies": [],++ "product": "bandwidth-500",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 0,++ "capacities": [++ "upgrade"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [],++ "family": "public-bandwidth",++ "blobs": null++ },++ {++ "planCode": "bandwidth-1000-24rise-us",++ "invoiceName": "1Gbps unmetered and guaranteed public bandwidth",++ "addonFamilies": [],++ "product": "bandwidth-1000",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 0,++ "capacities": [++ "upgrade"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [],++ "family": "public-bandwidth",++ "blobs": null++ },++ {++ "planCode": "softraid-0disk-24rise-us",++ "invoiceName": "No storage drive",++ "addonFamilies": [],++ "product": "noraid-0",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [],++ "family": null,++ "blobs": null++ },++ {++ "planCode": "ram-32g-ecc-2666-24sys03-v1-us",++ "invoiceName": "32GB DDR4 ECC 2666MHz",++ "addonFamilies": [],++ "product": "ram-32g-ecc-2666",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [],++ "family": null,++ "blobs": null++ },++ {++ "planCode": "softraid-2x960nvme-24sys03-v1-us",++ "invoiceName": "2x SSD NVMe 960GB Enterprise Class Soft RAID",++ "addonFamilies": [],++ "product": "softraid-2x960nvme",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 0,++ "capacities": [++ "upgrade"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [],++ "family": "storage",++ "blobs": null++ },++ {++ "planCode": "ram-32g-ecc-3200-24rise01-v2-us",++ "invoiceName": "32GB DDR4 ECC 3200MHz",++ "addonFamilies": [],++ "product": "ram-32g-ecc-3200",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [],++ "family": null,++ "blobs": null++ },++ {++ "planCode": "softraid-2x512nvme-24rise01-v2-us",++ "invoiceName": "2x SSD NVMe 512GB Datacenter Class Soft RAID",++ "addonFamilies": [],++ "product": "softraid-2x512nvme",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 0,++ "capacities": [++ "upgrade"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [],++ "family": "storage",++ "blobs": null++ },++ {++ "planCode": "bandwidth-1000-unguaranteed-rise-gen2-us",++ "invoiceName": "1Gbps unmetered public bandwidth",++ "addonFamilies": [],++ "product": "bandwidth-1000-unguaranteed",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 0,++ "capacities": [++ "upgrade"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [],++ "family": "public-bandwidth",++ "blobs": null++ },++ {++ "planCode": "bandwidth-1000-24sys-us",++ "invoiceName": "1Gbps unmetered and guaranteed public bandwidth",++ "addonFamilies": [],++ "product": "bandwidth-1000",++ "pricingType": "rental",++ "consumptionConfiguration": null,++ "pricings": [++ {++ "phase": 0,++ "capacities": [++ "installation"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 0,++ "capacities": [++ "upgrade"++ ],++ "commitment": 0,++ "description": "rental (only applicable for 1 time)",++ "interval": 0,++ "intervalUnit": "none",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": 1++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ },++ {++ "phase": 1,++ "capacities": [++ "renew"++ ],++ "commitment": 0,++ "description": "rental for 1 month",++ "interval": 1,++ "intervalUnit": "month",++ "quantity": {++ "min": 1,++ "max": null++ },++ "repeat": {++ "min": 1,++ "max": null++ },++ "price": 0,++ "formattedPrice": "$0.00 USD",++ "tax": 0,++ "mode": "default",++ "strategy": "tiered",++ "mustBeCompleted": false,++ "type": "rental",++ "promotions": [],++ "engagementConfiguration": null++ }++ ],++ "configurations": [],++ "family": "public-bandwidth",++ "blobs": null++ }++ ]++}\\ No newline at end of file@@@ -19,7 +19,7 @@ const seed = (key) => seeds.find((s) => s.key === key);const endpoint = (key) => seed(key).endpoints[0];t('both hosting seeds declare an api mapping the adapter accepts', () => {-- for (const key of ['vultr-plans', 'linode-types', 'ovhcloud-vps']) {++ for (const key of ['vultr-plans', 'linode-types', 'ovhcloud-vps', 'ovhcloud-baremetal']) {const s = seed(key);assert.ok(s, `${key} is seeded`);assert.strictEqual(s.type, 'api');@@@ -110,6 +110,50 @@ t('OVHcloud domain prices: one item per ending, the first year, renewal and tranassert.strictEqual(by['co.uk'].transfer, 0, 'a free transfer stays 0; Host decides what 0 means per field');});++++t('OVHcloud dedicated servers: the bare-metal and Eco catalogs, each plan joined to its default addons and their products', () => {++ const s = seed('ovhcloud-baremetal');++ assert.deepStrictEqual([s.type, s.category, s.enabled, s.review_required], ['api', 'hosting', false, true]);++ assert.strictEqual(s.endpoints.length, 2, 'one endpoint for the bare-metal catalog and one for Eco');++ assert.deepStrictEqual(s.endpoints.map((e) => e.max_bytes), [40 * 1024 * 1024, 16 * 1024 * 1024]);++ for (const ep of s.endpoints) assert.strictEqual(api.checkMapping(ep), null);++ assert.strictEqual(validateSource(s).max_items, 200);++++ const main = api.parse(fx('ovhcloud-baremetal.json'), { url: s.endpoints[0].url, endpoint: s.endpoints[0], maxItems: 200 });++ assert.deepStrictEqual([main.items.length, main.meta.filtered, main.skipped], [8, 2, 0]);++ assert.deepStrictEqual(main.items.map((i) => i.identity).sort(), [++ '20bv012-us', '20hg03-us', '22bf062-us', '23scaleamd01-v3-us', '24adv01-v3-us', '24hci-a1-v2-us', '26adv01-v7-us', '26game02-v4-us',++ ]);++ const by = Object.fromEntries(main.items.map((i) => [i.identity, i.fields]));++ assert.deepStrictEqual(by['24adv01-v3-us'], {++ product: '24adv01', currency: 'USD', range: 'advance',++ cpu_cores: 6, cpu_sockets: 1, cpu_model: 'EPYC 4244P', cpu_brand: 'AMD', memory_gb: 32,++ disk_capacity_gb: 960, disk_count: 2, disk_interface: 'NVMe', disk_technology: 'SSD',++ bandwidth_mbps: 3000, bandwidth_limit: 0, price_monthly: 14700000000, setup_fee: 14700000000,++ locations: ['vin', 'hil'],++ });++ // A legacy plan: no installation fee in the catalog ($0), two sockets, SATA SSDs, and a different bandwidth.++ assert.deepStrictEqual([by['20bv012-us'].setup_fee, by['20bv012-us'].cpu_sockets, by['20bv012-us'].memory_gb, by['20bv012-us'].disk_capacity_gb, by['20bv012-us'].disk_count, by['20bv012-us'].bandwidth_mbps, by['20bv012-us'].price_monthly],++ [0, 2, 256, 240, 2, 500, 10900000000]);++ // HG-3's product states no socket count (the CPU model says "2x"); the adapter keeps null rather than inventing one.++ assert.deepStrictEqual([by['20hg03-us'].cpu_cores, by['20hg03-us'].cpu_sockets, by['20hg03-us'].memory_gb, by['20hg03-us'].disk_capacity_gb, by['20hg03-us'].disk_count, by['20hg03-us'].setup_fee, by['20hg03-us'].price_monthly],++ [28, null, 192, 6000, 2, 0, 97500000000]);++ // A Scale plan sold with no drives: capacity 0 and count 0 are the catalog's own facts, not a missing field.++ assert.deepStrictEqual([by['23scaleamd01-v3-us'].disk_capacity_gb, by['23scaleamd01-v3-us'].disk_count], [0, 0]);++ assert.deepStrictEqual([by['24hci-a1-v2-us'].cpu_cores, by['24hci-a1-v2-us'].cpu_sockets, by['24hci-a1-v2-us'].disk_capacity_gb, by['24hci-a1-v2-us'].disk_count], [24, 2, 3840, 6]);++ // The -eu copy and the legacy special edition are filtered by the -us plan-code pattern.++ assert.ok(!main.items.some((i) => /-(?:eu|ca|se)$/.test(i.identity)));++++ const eco = api.parse(fx('ovhcloud-eco.json'), { url: s.endpoints[1].url, endpoint: s.endpoints[1], maxItems: 200 });++ assert.deepStrictEqual([eco.items.length, eco.meta.filtered, eco.skipped], [5, 1, 0]);++ const eby = Object.fromEntries(eco.items.map((i) => [i.identity, i.fields]));++ assert.deepStrictEqual([eby['26sk50a-v1-us'].price_monthly, eby['26sk50a-v1-us'].setup_fee, eby['26sk50a-v1-us'].memory_gb, eby['26sk50a-v1-us'].disk_capacity_gb, eby['26sk50a-v1-us'].disk_count],++ [3000000000, 3000000000, 32, 960, 2]);++ assert.deepStrictEqual([eby['24risegame012-us'].range, eby['24risegame012-us'].cpu_cores, eby['24risegame012-us'].disk_capacity_gb, eby['24risegame012-us'].bandwidth_mbps],++ ['rise', 6, 512, 1000]);++ assert.ok(!eco.items.some((i) => i.identity.endsWith('-ca')));++});++t('the registry accepts category hosting and refuses an unknown category', () => {const rec = validateSource(seed('vultr-plans'));assert.strictEqual(rec.category, 'hosting');
@@ -144,16 +144,19 @@ match as text.
@@ -144,16 +144,19 @@ match as text.
**Catalogs that keep plans, hardware and prices apart** (OVHcloud's public order catalog, `ovhcloud-vps`). A key may
**Catalogs that keep plans, hardware and prices apart** (OVHcloud's public order catalog, `ovhcloud-vps`). A key may
carry a selector, `key[field=value,…]` (one to four conditions): `key` must be an array, and the path steps into its
carry a selector, `key[field=value,…]` (one to four conditions): `key` must be an array, and the path steps into its
first element whose fields equal every value, compared as text after `scalar()` (so `interval=1` matches the number 1).
first element whose fields equal every value, compared as text after `scalar()` (so `interval=1` matches the number 1).
-A value is literal text or `$rec.<path>`, read from the record itself. No match is null.
+A value is literal text, `$rec.<path>` (read from the record) or `$root.<path>` (read from the response), and either
+path may carry its own selectors. That reaches a plan's default addon and then that addon's own product without code
+per provider; no match is null.
```json
```json
"where": { "planCode": { "pattern": "^vps-[0-9]{4}-model[0-9]+$" } },
"where": { "planCode": { "pattern": "^vps-[0-9]{4}-model[0-9]+$" } },
"extra": { "vcpu": "$root.products[name=$rec.product].blobs.technical.cpu.cores",
"extra": { "vcpu": "$root.products[name=$rec.product].blobs.technical.cpu.cores",
+ "memory_gb": "$root.products[name=$root.addons[planCode=$rec.addonFamilies[name=memory].default].product].blobs.technical.memory.size",
"price_monthly": "pricings[mode=default,commitment=0,intervalUnit=month,interval=1].price" }
"price_monthly": "pricings[mode=default,commitment=0,intervalUnit=month,interval=1].price" }
```
```
`max_bytes` (an integer from 1 KiB to 64 MiB) sets one endpoint's body cap instead of `SOURCES_MAX_BYTES`. OVHcloud's
`max_bytes` (an integer from 1 KiB to 64 MiB) sets one endpoint's body cap instead of `SOURCES_MAX_BYTES`. OVHcloud's
-catalog is about 12 MB.
+VPS catalog is about 12 MB, its bare-metal catalog about 32 MB and its Eco catalog about 10 MB.
`timeout_ms` (an integer from 1 s to 120 s) sets one endpoint's deadline instead of `SOURCES_FETCH_TIMEOUT_MS`. NYC Open
`timeout_ms` (an integer from 1 s to 120 s) sets one endpoint's deadline instead of `SOURCES_FETCH_TIMEOUT_MS`. NYC Open
Data computes the HPD per-building violation tally (`nyc-hpd-open-violations`) in 12 to 60 seconds.
Data computes the HPD per-building violation tally (`nyc-hpd-open-violations`) in 12 to 60 seconds.
@@ -352,7 +355,7 @@ for the N-1 rollback window.
@@ -352,7 +355,7 @@ for the N-1 rollback window.
## Seeds
## Seeds
-[seeds/sources.json](seeds/sources.json) holds the 65 registered sources, each with its robots, terms and licence notes (the production rows are the record; the terms notes match them as of the 2026-10-23 review).
+[seeds/sources.json](seeds/sources.json) holds the 66 registered sources, each with its robots, terms and licence notes (the production rows are the record; the terms notes match them as of the 2026-10-23 review).
`npm run seed` creates the ones that do not exist yet, **all disabled**, and never changes an existing one; a person
`npm run seed` creates the ones that do not exist yet, **all disabled**, and never changes an existing one; a person
enables a source after reading its terms (`PATCH /api/v1/sources/:key {"enabled": true}`), and the fetcher re-checks
enables a source after reading its terms (`PATCH /api/v1/sources/:key {"enabled": true}`), and the fetcher re-checks
robots.txt on every run. Production on 2026-10-22:
robots.txt on every run. Production on 2026-10-22:
@@ -365,7 +368,7 @@ robots.txt on every run. Production on 2026-10-22:
@@ -365,7 +368,7 @@ robots.txt on every run. Production on 2026-10-22:
| deals | `dealnews-daily` (rss, `feed@3`: the offer's price, retailer, end date, category and editors' pick) | 1 of 1 |
| deals | `dealnews-daily` (rss, `feed@3`: the offer's price, retailer, end date, category and editors' pick) | 1 of 1 |
| coupons | `dealnews-coupon-codes` (rss with `extract`: only items that state a code and the shop, as kind `coupon`); `staff-coupon-codes` (manual, with the evidence URL) | 2 of 2 |
| coupons | `dealnews-coupon-codes` (rss with `extract`: only items that state a code and the shop, as kind `coupon`); `staff-coupon-codes` (manual, with the evidence URL) | 2 of 2 |
| trade | `sec-xbrl-filings`, `ecb-euro-reference-rates` (rss); `sec-company-tickers`, `frankfurter-eur-rates` (api) | 4 of 4 |
| trade | `sec-xbrl-filings`, `ecb-euro-reference-rates` (rss); `sec-company-tickers`, `frankfurter-eur-rates` (api) | 4 of 4 |
-| hosting | `porkbun-tld-pricing`, `ovhcloud-vps`, `linode-types`, `aws-lightsail-bundles`, `vultr-plans` (api); `lowendspirit-offers`, `lowendtalk-offers`, `lowendbox-posts` (rss) | 5 of 8: `vultr-plans` is off (its API host's robots.txt disallows every path), and LowEndTalk's and LowEndBox's feeds answer 403 to the production host |
+| hosting | `porkbun-tld-pricing`, `ovhcloud-vps`, `ovhcloud-baremetal`, `linode-types`, `aws-lightsail-bundles`, `vultr-plans` (api); `lowendspirit-offers`, `lowendtalk-offers`, `lowendbox-posts` (rss) | 5 of 9: `vultr-plans` is off (its API host's robots.txt disallows every path), LowEndTalk's and LowEndBox's feeds answer 403 to the production host, and `ovhcloud-baremetal` is seeded disabled for review |
| crowdfunding | `opencollective-accounts` (api) | 1 of 1 |
| crowdfunding | `opencollective-accounts` (api) | 1 of 1 |
| games | `steam-top-sellers`, `steam-new-releases`, `steam-specials` (api: the store's featured lists, in their order) | 3 of 3 |
| games | `steam-top-sellers`, `steam-new-releases`, `steam-specials` (api: the store's featured lists, in their order) | 3 of 3 |
@@ -1180,6 +1180,101 @@
@@ -1180,6 +1180,101 @@
"sensitivity": "none",
"sensitivity": "none",
"default_indexability": "noindex"
"default_indexability": "noindex"
},
},
+ {
+ "key": "ovhcloud-baremetal",
+ "name": "OVHcloud dedicated servers (US bare-metal and Eco catalogs)",
+ "type": "api",
+ "category": "hosting",
+ "homepage_url": "https://us.ovhcloud.com/bare-metal/",
+ "endpoints": [
+ {
+ "url": "https://api.us.ovhcloud.com/1.0/order/catalog/public/baremetalServers?ovhSubsidiary=US",
+ "format": "json",
+ "items_path": "plans",
+ "item_kind": "plan",
+ "max_bytes": 41943040,
+ "timeout_ms": 120000,
+ "where": {
+ "planCode": {
+ "pattern": "-us$"
+ }
+ },
+ "fields": {
+ "identity": "planCode",
+ "title": "invoiceName"
+ },
+ "extra_lists": {
+ "locations": "configurations[name=dedicated_datacenter].values"
+ },
+ "extra": {
+ "product": "product",
+ "currency": "$root.locale.currencyCode",
+ "range": "$root.products[name=$rec.product].blobs.technical.server.range",
+ "cpu_cores": "$root.products[name=$rec.product].blobs.technical.server.cpu.cores",
+ "cpu_sockets": "$root.products[name=$rec.product].blobs.technical.server.cpu.number",
+ "cpu_model": "$root.products[name=$rec.product].blobs.technical.server.cpu.model",
+ "cpu_brand": "$root.products[name=$rec.product].blobs.technical.server.cpu.brand",
+ "memory_gb": "$root.products[name=$root.addons[planCode=$rec.addonFamilies[name=memory].default].product].blobs.technical.memory.size",
+ "disk_capacity_gb": "$root.products[name=$root.addons[planCode=$rec.addonFamilies[name=storage].default].product].blobs.technical.storage.disks.0.capacity",
+ "disk_count": "$root.products[name=$root.addons[planCode=$rec.addonFamilies[name=storage].default].product].blobs.technical.storage.disks.0.number",
+ "disk_interface": "$root.products[name=$root.addons[planCode=$rec.addonFamilies[name=storage].default].product].blobs.technical.storage.disks.0.interface",
+ "disk_technology": "$root.products[name=$root.addons[planCode=$rec.addonFamilies[name=storage].default].product].blobs.technical.storage.disks.0.technology",
+ "bandwidth_mbps": "$root.products[name=$root.addons[planCode=$rec.addonFamilies[name=bandwidth].default].product].blobs.technical.bandwidth.level",
+ "bandwidth_limit": "$root.products[name=$root.addons[planCode=$rec.addonFamilies[name=bandwidth].default].product].blobs.technical.bandwidth.limit",
+ "price_monthly": "pricings[mode=default,commitment=0,intervalUnit=month,interval=1].price",
+ "setup_fee": "pricings[mode=default,commitment=0,intervalUnit=none,interval=0].price"
+ }
+ },
+ {
+ "url": "https://api.us.ovhcloud.com/1.0/order/catalog/public/eco?ovhSubsidiary=US",
+ "format": "json",
+ "items_path": "plans",
+ "item_kind": "plan",
+ "max_bytes": 16777216,
+ "timeout_ms": 60000,
+ "where": {
+ "planCode": {
+ "pattern": "-us$"
+ }
+ },
+ "fields": {
+ "identity": "planCode",
+ "title": "invoiceName"
+ },
+ "extra_lists": {
+ "locations": "configurations[name=dedicated_datacenter].values"
+ },
+ "extra": {
+ "product": "product",
+ "currency": "$root.locale.currencyCode",
+ "range": "$root.products[name=$rec.product].blobs.technical.server.range",
+ "cpu_cores": "$root.products[name=$rec.product].blobs.technical.server.cpu.cores",
+ "cpu_sockets": "$root.products[name=$rec.product].blobs.technical.server.cpu.number",
+ "cpu_model": "$root.products[name=$rec.product].blobs.technical.server.cpu.model",
+ "cpu_brand": "$root.products[name=$rec.product].blobs.technical.server.cpu.brand",
+ "memory_gb": "$root.products[name=$root.addons[planCode=$rec.addonFamilies[name=memory].default].product].blobs.technical.memory.size",
+ "disk_capacity_gb": "$root.products[name=$root.addons[planCode=$rec.addonFamilies[name=storage].default].product].blobs.technical.storage.disks.0.capacity",
+ "disk_count": "$root.products[name=$root.addons[planCode=$rec.addonFamilies[name=storage].default].product].blobs.technical.storage.disks.0.number",
+ "disk_interface": "$root.products[name=$root.addons[planCode=$rec.addonFamilies[name=storage].default].product].blobs.technical.storage.disks.0.interface",
+ "disk_technology": "$root.products[name=$root.addons[planCode=$rec.addonFamilies[name=storage].default].product].blobs.technical.storage.disks.0.technology",
+ "bandwidth_mbps": "$root.products[name=$root.addons[planCode=$rec.addonFamilies[name=bandwidth].default].product].blobs.technical.bandwidth.level",
+ "bandwidth_limit": "$root.products[name=$root.addons[planCode=$rec.addonFamilies[name=bandwidth].default].product].blobs.technical.bandwidth.limit",
+ "price_monthly": "pricings[mode=default,commitment=0,intervalUnit=month,interval=1].price",
+ "setup_fee": "pricings[mode=default,commitment=0,intervalUnit=none,interval=0].price"
+ }
+ }
+ ],
+ "robots_note": "robots.txt checked 2026-11-05 from the production host: https://api.us.ovhcloud.com/robots.txt answers 404 (nginx), and https://api.ovh.com/robots.txt redirects to https://api.eu.ovhcloud.com/robots.txt, also 404, so the API hosts publish no robots.txt rules; a 404 is treated as no restrictions (never guessed as a disallow). The fetcher re-checks robots.txt on every run. (us.ovhcloud.com and www.ovhcloud.com, the marketing sites, are different hosts and are not fetched.)",
+ "terms_note": "OVHcloud's API schema (https://api.us.ovhcloud.com/1.0/order.json, read 2026-11-05) marks GET /order/catalog/public/baremetalServers noAuthentication true with apiStatus 'Beta version', and GET /order/catalog/public/eco noAuthentication true with apiStatus 'Stable production version'; both answered keylessly. The US Terms of Service (effective 15 May 2025, https://us.ovhcloud.com/legal/terms-of-service/, read 2026-11-05) say 'Except as expressly authorized in this Agreement, You will not make any copies or duplicates of any OVHcloud Services without the prior written permission of OVHcloud' (the rented Services); no clause found bans reading the public catalog or automated API access. The Service Specific Terms, section 2 Dedicated Servers (https://us.ovhcloud.com/legal/service-specific-terms/, read 2026-11-05) say 'The fees, features, and basic hardware and software configurations are described and accessible online via the OVHcloud website'. The website terms (https://www.ovhcloud.com/en/terms-and-conditions/, read 2026-11-05) say 'Any partial or full reproduction or representation of the website or its components by any process whatsoever, for any purposes whatsoever, is prohibited without the express consent of OVH': we never fetch that website, and keep only facts (plan codes, names, specifications, prices, currency) from the API, each linked to OVHcloud as a dated observation, never its text or images. Two files a day, about 32 MB (bare metal) and 10 MB (Eco). Prices are the catalog's integers in hundred-millionths of a dollar (14700000000 is $147.00): default-mode phase 1, month 1 is the monthly price; default-mode phase 0, intervalUnit none is the installation fee (the site's Advance-1 2026 shows $204/month and $204 installation). Only plan codes ending -us are kept (US datacenters; -ca/-eu copies filtered). Re-verify before enabling; disable on any request from OVHcloud.",
+ "license_note": "Plan specifications and prices are OVHcloud's data (https://us.ovhcloud.com/bare-metal/prices/). No licence to republish them was found beyond the public catalog being offered without authentication. Attribute OVHcloud and link the dedicated-server price page; no endorsement implied.",
+ "min_interval_ms": 60000,
+ "poll_interval_sec": 86400,
+ "max_items": 200,
+ "enabled": false,
+ "review_required": true,
+ "sensitivity": "none",
+ "default_indexability": "noindex"
+ },
{
{
"key": "porkbun-tld-pricing",
"key": "porkbun-tld-pricing",
"name": "Porkbun domain prices (every TLD it sells)",
"name": "Porkbun domain prices (every TLD it sells)",
@@ -41,13 +41,17 @@
@@ -41,13 +41,17 @@
* A key may carry a selector, `key[field=value,…]` (one to four conditions): `key` must be an array, and
* A key may carry a selector, `key[field=value,…]` (one to four conditions): `key` must be an array, and
* the path steps into its first element whose fields equal every value (compared as text after
* the path steps into its first element whose fields equal every value (compared as text after
* `scalar()`, so `interval=1` matches the number 1). A value is literal text (letters, digits, spaces,
* `scalar()`, so `interval=1` matches the number 1). A value is literal text (letters, digits, spaces,
- * `_ : @ + -`) or `$rec.<path>`, a plain dotted path read from the record itself. No match, a missing
- * value or a non-array is undefined (the field is null). OVHcloud's catalog lists plans and their
- * hardware separately and keeps every price variant in one array:
+ * `_ : @ + -`), `$rec.<path>` (read from the record) or `$root.<path>` (read from the response), and
+ * either path may itself carry selectors. That reaches an addon named by the record and then that
+ * addon's own product, without code per provider; OVHcloud's catalog keeps plans, their default
+ * addons, and the addons' products apart:
*
*
* "extra": { "vcpu": "$root.products[name=$rec.product].blobs.technical.cpu.cores",
* "extra": { "vcpu": "$root.products[name=$rec.product].blobs.technical.cpu.cores",
+ * "memory_gb": "$root.products[name=$root.addons[planCode=$rec.addonFamilies[name=memory].default].product].blobs.technical.memory.size",
* "price": "pricings[mode=default,commitment=0,intervalUnit=month].price" }
* "price": "pricings[mode=default,commitment=0,intervalUnit=month].price" }
*
*
+ * No match, a missing value or a non-array is undefined (the field is null).
+ *
* A `where` expectation may also be `{ "pattern": "<regular expression>" }` (at most 200 characters):
* A `where` expectation may also be `{ "pattern": "<regular expression>" }` (at most 200 characters):
* the value must be text the expression matches, e.g. `{ "planCode": { "pattern": "^vps-[0-9]{4}-model[0-9]+$" } }`.
* the value must be text the expression matches, e.g. `{ "planCode": { "pattern": "^vps-[0-9]{4}-model[0-9]+$" } }`.
*
*
@@ -82,13 +86,14 @@
@@ -82,13 +86,14 @@
const { parseXml, toText, toIsoDate, epochSecondsToIso, canonicalUrl, toId, ParseError } = require('./util');
const { parseXml, toText, toIsoDate, epochSecondsToIso, canonicalUrl, toId, ParseError } = require('./util');
const PARSER_VERSION = 'api@1';
const PARSER_VERSION = 'api@1';
-// A segment is `*` (the single child of an object), `{$key}` (the map key, only inside `$root.`),
-// or an ordinary key. PATH_RE is syntax only; keyPathViolation enforces where each token may sit.
-// A selector condition is `field=value`, the value literal text or `$rec.` and a plain dotted path.
-const SEL_COND = '[A-Za-z0-9_]+=(?:\\$rec(?:\\.[A-Za-z0-9_]+)+|[A-Za-z0-9_ :@+-]+)';
-const SELECTOR = `\\[${SEL_COND}(?:,${SEL_COND}){0,3}\\]`;
-const PATH_SEG = `(?:\\*|\\{\\$key\\}|[A-Za-z0-9_@:$-]+(?:${SELECTOR})?)`;
-const PATH_RE = new RegExp(`^${PATH_SEG}(?:\\.${PATH_SEG})*$`);
+// A segment is `*` (the single child of an object), `{$key}` (the map key, only inside a `$root.` path),
+// or a key, optionally with a selector. A selector condition's value is literal text or a
+// `$rec.`/`$root.` path that may itself carry selectors. The parser below enforces the syntax; the
+// walker only parses paths that already passed `pathValid()` when they came from the registry.
+const NAME_RE = /^[A-Za-z0-9_@:$-]+$/;
+const FIELD_RE = /^[A-Za-z0-9_]+$/;
+const LITERAL_RE = /^[A-Za-z0-9_ :@+-]+$/;
+const MAX_DEPTH = 8;
/** A path's segments: dots split it, except inside a selector (whose `$rec.` values have dots of their own). */
/** A path's segments: dots split it, except inside a selector (whose `$rec.` values have dots of their own). */
const SPLIT = new Map();
const SPLIT = new Map();
@@ -108,41 +113,110 @@ function splitPath(path) {
@@ -108,41 +113,110 @@ function splitPath(path) {
return segs;
return segs;
}
}
-/** `key[a=b,c=$rec.d]` → { name, conds: [[field, value]] }, or null for a plain segment. */
-function selectorOf(seg) {
- const m = /^([^[]+)\[(.+)\]$/.exec(seg);
- if (!m) return null;
- return { name: m[1], conds: m[2].split(',').map((c) => [c.slice(0, c.indexOf('=')), c.slice(c.indexOf('=') + 1)]) };
+/** Split a selector's inner text on commas outside nested brackets. */
+function selectorConds(inner) {
+ const parts = [];
+ let depth = 0;
+ let start = 0;
+ for (let i = 0; i < inner.length; i++) {
+ const ch = inner[i];
+ if (ch === '[') depth++;
+ else if (ch === ']') { depth--; if (depth < 0) return null; }
+ else if (ch === ',' && depth === 0) { parts.push(inner.slice(start, i)); start = i + 1; }
+ }
+ if (depth !== 0) return null;
+ parts.push(inner.slice(start));
+ return parts;
+}
+
+/**
+ * `key[a=b,c=$rec.d]` → { name, conds: [[field, value]] }, or { bad: true } when malformed.
+ * Parsed once per path and cached: a catalog can walk the same mapping for hundreds of plans.
+ */
+const PATHS = new Map();
+function parsePath(path) {
+ let parsed = PATHS.get(path);
+ if (parsed) return parsed;
+ const segs = splitPath(path).map((seg) => {
+ if (seg === '*') return { kind: '*' };
+ if (seg === '{$key}') return { kind: '{$key}' };
+ const open = seg.indexOf('[');
+ if (open === -1) return NAME_RE.test(seg) ? { kind: 'key', name: seg } : { kind: 'bad' };
+ if (seg[seg.length - 1] !== ']') return { kind: 'bad' };
+ const name = seg.slice(0, open);
+ if (!NAME_RE.test(name)) return { kind: 'bad' };
+ const parts = selectorConds(seg.slice(open + 1, -1));
+ if (!parts || parts.length < 1 || parts.length > 4) return { kind: 'bad' };
+ const conds = [];
+ for (const part of parts) {
+ const eq = part.indexOf('=');
+ if (eq <= 0) return { kind: 'bad' };
+ const field = part.slice(0, eq);
+ const value = part.slice(eq + 1);
+ if (!FIELD_RE.test(field) || !value) return { kind: 'bad' };
+ conds.push([field, value]);
+ }
+ return { kind: 'sel', name, conds };
+ });
+ parsed = { segs };
+ if (PATHS.size < 2000) PATHS.set(path, parsed);
+ return parsed;
+}
+
+/** Is a path syntactically valid, including every selector and every nested reference in it? */
+function pathValid(path, depth = 0, top = true) {
+ if (typeof path !== 'string' || !path || depth > MAX_DEPTH) return false;
+ const { segs } = parsePath(path);
+ if (segs.some((seg) => seg.kind === 'bad')) return false;
+ if (top && segs[0].kind === 'key' && segs[0].name === '$rec') return false;
+ for (const seg of segs) {
+ if (seg.kind !== 'sel') continue;
+ for (const [, value] of seg.conds) {
+ if (value.startsWith('$rec.')) { if (!pathValid(value.slice(5), depth + 1, false)) return false; }
+ else if (value.startsWith('$root.')) { if (!pathValid(value.slice(6), depth + 1, false)) return false; }
+ else if (!LITERAL_RE.test(value)) return false;
+ }
+ }
+ return true;
+}
+
+/** A selector condition's value: literal text, a record path, or a response path. */
+function refValue(raw, key, rec, root, depth) {
+ if (raw.startsWith('$rec.')) return scalar(walk(rec, raw.slice(5), key, rec, root, depth + 1));
+ if (raw.startsWith('$root.')) return scalar(walk(root, raw.slice(6), key, rec, root, depth + 1));
+ return raw;
}
}
/**
/**
* Walk a dot path: `*` steps into an object's single own property, `{$key}` uses the map key, and
* Walk a dot path: `*` steps into an object's single own property, `{$key}` uses the map key, and
* `key[field=value,…]` steps into the first element of the array `key` whose fields match.
* `key[field=value,…]` steps into the first element of the array `key` whose fields match.
*/
*/
-function walk(obj, path, key, rec) {
+function walk(obj, path, key, rec, root = obj, depth = 0) {
+ if (depth > MAX_DEPTH) return undefined;
+ const { segs } = parsePath(path);
let cur = obj;
let cur = obj;
- for (const seg of splitPath(path)) {
+ for (const seg of segs) {
if (cur == null || typeof cur !== 'object') return undefined;
if (cur == null || typeof cur !== 'object') return undefined;
- if (seg === '*') {
+ if (seg.kind === '*') {
if (Array.isArray(cur)) return undefined;
if (Array.isArray(cur)) return undefined;
const own = Object.keys(cur);
const own = Object.keys(cur);
if (own.length !== 1) return undefined;
if (own.length !== 1) return undefined;
cur = cur[own[0]];
cur = cur[own[0]];
- } else if (seg === '{$key}') {
+ } else if (seg.kind === '{$key}') {
if (key === undefined) return undefined;
if (key === undefined) return undefined;
cur = cur[key];
cur = cur[key];
- } else {
- const sel = selectorOf(seg);
- if (!sel) { cur = cur[seg]; continue; }
- const list = cur[sel.name];
+ } else if (seg.kind === 'key') {
+ cur = cur[seg.name];
+ } else if (seg.kind === 'sel') {
+ const list = cur[seg.name];
if (!Array.isArray(list)) return undefined;
if (!Array.isArray(list)) return undefined;
- const wanted = sel.conds.map(([f, v]) => [f, v.startsWith('$rec.') ? scalar(walk(rec, v.slice('$rec.'.length), key, rec)) : v]);
+ const wanted = seg.conds.map(([f, v]) => [f, refValue(v, key, rec, root, depth)]);
if (wanted.some(([, v]) => v == null)) return undefined;
if (wanted.some(([, v]) => v == null)) return undefined;
cur = list.find((el) => el && typeof el === 'object' && wanted.every(([f, v]) => {
cur = list.find((el) => el && typeof el === 'object' && wanted.every(([f, v]) => {
const a = scalar(el[f]);
const a = scalar(el[f]);
return a != null && String(a) === String(v);
return a != null && String(a) === String(v);
}));
}));
- }
+ } else return undefined;
}
}
return cur;
return cur;
}
}
@@ -151,13 +225,13 @@ function walk(obj, path, key, rec) {
@@ -151,13 +225,13 @@ function walk(obj, path, key, rec) {
function getField(body, rec, key, p) {
function getField(body, rec, key, p) {
if (!p) return rec;
if (!p) return rec;
if (p === '$key') return key;
if (p === '$key') return key;
- if (p.startsWith('$root.')) return walk(body, p.slice('$root.'.length), key, rec);
- return walk(rec, p, key, rec);
+ if (p.startsWith('$root.')) return walk(body, p.slice('$root.'.length), key, rec, body);
+ return walk(rec, p, key, rec, body);
}
}
function at(obj, path) {
function at(obj, path) {
if (!path) return obj;
if (!path) return obj;
- return walk(obj, path, undefined);
+ return walk(obj, path, undefined, obj, obj);
}
}
/** A list the API gives → up to 20 of its scalars (a lone scalar → a list of one; nothing → []). */
/** A list the API gives → up to 20 of its scalars (a lone scalar → a list of one; nothing → []). */
@@ -229,7 +303,7 @@ function checkConditions(where, label, shape) {
@@ -229,7 +303,7 @@ function checkConditions(where, label, shape) {
if (typeof where !== 'object' || Array.isArray(where)) return `${label} must be an object of path -> expected`;
if (typeof where !== 'object' || Array.isArray(where)) return `${label} must be an object of path -> expected`;
if (Object.keys(where).length > 10) return `at most 10 ${label} conditions`;
if (Object.keys(where).length > 10) return `at most 10 ${label} conditions`;
for (const [p, expected] of Object.entries(where)) {
for (const [p, expected] of Object.entries(where)) {
- if (!PATH_RE.test(p)) return `${label}.${p} path is malformed`;
+ if (!pathValid(p)) return `${label}.${p} path is malformed`;
const kerr = keyPathViolation(p, shape);
const kerr = keyPathViolation(p, shape);
if (kerr) return `${label}.${p}: ${kerr}`;
if (kerr) return `${label}.${p}: ${kerr}`;
if (isPattern(expected)) {
if (isPattern(expected)) {
@@ -254,19 +328,19 @@ function checkMapping(ep, { bulk = false } = {}) {
@@ -254,19 +328,19 @@ function checkMapping(ep, { bulk = false } = {}) {
if (!bulk && ep.duplicates !== undefined && !['first', 'last'].includes(ep.duplicates)) return 'duplicates must be first or last';
if (!bulk && ep.duplicates !== undefined && !['first', 'last'].includes(ep.duplicates)) return 'duplicates must be first or last';
const shape = ep.items_shape || 'array';
const shape = ep.items_shape || 'array';
if (!bulk && !['array', 'map'].includes(shape)) return 'items_shape must be array or map';
if (!bulk && !['array', 'map'].includes(shape)) return 'items_shape must be array or map';
- if (!bulk && ep.items_path !== undefined && ep.items_path !== '' && !PATH_RE.test(ep.items_path)) return 'items_path is malformed';
+ if (!bulk && ep.items_path !== undefined && ep.items_path !== '' && !pathValid(ep.items_path)) return 'items_path is malformed';
const fields = ep.fields || {};
const fields = ep.fields || {};
if (!fields.identity && !fields.url) return 'fields.identity or fields.url is required';
if (!fields.identity && !fields.url) return 'fields.identity or fields.url is required';
for (const [k, p] of Object.entries(fields)) {
for (const [k, p] of Object.entries(fields)) {
if (!['identity', 'url', 'title', 'summary', 'author', 'published_at', 'published_at_epoch', 'updated_at', 'updated_at_epoch'].includes(k)) return `unknown field ${k}`;
if (!['identity', 'url', 'title', 'summary', 'author', 'published_at', 'published_at_epoch', 'updated_at', 'updated_at_epoch'].includes(k)) return `unknown field ${k}`;
- if (typeof p !== 'string' || !PATH_RE.test(p)) return `fields.${k} path is malformed`;
+ if (typeof p !== 'string' || !pathValid(p)) return `fields.${k} path is malformed`;
const kerr = keyPathViolation(p, shape);
const kerr = keyPathViolation(p, shape);
if (kerr) return `fields.${k}: ${kerr}`;
if (kerr) return `fields.${k}: ${kerr}`;
}
}
const extra = ep.extra || {};
const extra = ep.extra || {};
if (Object.keys(extra).length > 30) return 'at most 30 extra fields';
if (Object.keys(extra).length > 30) return 'at most 30 extra fields';
for (const [k, p] of Object.entries(extra)) {
for (const [k, p] of Object.entries(extra)) {
- if (!/^[a-z][a-z0-9_]{0,39}$/.test(k) || typeof p !== 'string' || !PATH_RE.test(p)) return `extra.${k} is malformed`;
+ if (!/^[a-z][a-z0-9_]{0,39}$/.test(k) || typeof p !== 'string' || !pathValid(p)) return `extra.${k} is malformed`;
const kerr = keyPathViolation(p, shape);
const kerr = keyPathViolation(p, shape);
if (kerr) return `extra.${k}: ${kerr}`;
if (kerr) return `extra.${k}: ${kerr}`;
}
}
@@ -274,7 +348,7 @@ function checkMapping(ep, { bulk = false } = {}) {
@@ -274,7 +348,7 @@ function checkMapping(ep, { bulk = false } = {}) {
if (typeof lists !== 'object' || Array.isArray(lists)) return 'extra_lists must be an object of field -> path';
if (typeof lists !== 'object' || Array.isArray(lists)) return 'extra_lists must be an object of field -> path';
if (Object.keys(lists).length > 10) return 'at most 10 extra_lists fields';
if (Object.keys(lists).length > 10) return 'at most 10 extra_lists fields';
for (const [k, p] of Object.entries(lists)) {
for (const [k, p] of Object.entries(lists)) {
- if (!/^[a-z][a-z0-9_]{0,39}$/.test(k) || typeof p !== 'string' || !PATH_RE.test(p)) return `extra_lists.${k} is malformed`;
+ if (!/^[a-z][a-z0-9_]{0,39}$/.test(k) || typeof p !== 'string' || !pathValid(p)) return `extra_lists.${k} is malformed`;
if (Object.prototype.hasOwnProperty.call(extra, k)) return `extra_lists.${k} is also an extra field`;
if (Object.prototype.hasOwnProperty.call(extra, k)) return `extra_lists.${k} is also an extra field`;
const kerr = keyPathViolation(p, shape);
const kerr = keyPathViolation(p, shape);
if (kerr) return `extra_lists.${k}: ${kerr}`;
if (kerr) return `extra_lists.${k}: ${kerr}`;
@@ -218,4 +218,74 @@ t('an endpoint without the new keys parses exactly as before', () => {
@@ -218,4 +218,74 @@ t('an endpoint without the new keys parses exactly as before', () => {
assert.strictEqual(r.items[1].canonical_url, null);
assert.strictEqual(r.items[1].canonical_url, null);
});
});
+const DEDICATED = JSON.stringify({
+ locale: { currencyCode: 'USD' },
+ plans: [
+ {
+ planCode: 'srv-1', product: 'p-1',
+ addonFamilies: [{ name: 'memory', default: 'ram-32' }, { name: 'storage', default: 'disk-2x960' }],
+ pricings: [{ mode: 'default', commitment: 0, intervalUnit: 'month', interval: 1, price: 14700000000 }],
+ },
+ {
+ planCode: 'srv-2', product: 'p-2',
+ addonFamilies: [{ name: 'memory', default: 'ram-64' }, { name: 'storage', default: 'disk-1x480' }],
+ pricings: [],
+ },
+ ],
+ addons: [
+ { planCode: 'ram-32', product: 'ram-32-prod' }, { planCode: 'ram-64', product: 'ram-64-prod' },
+ { planCode: 'disk-2x960', product: 'disk-2x960-prod' }, { planCode: 'disk-1x480', product: 'disk-1x480-prod' },
+ ],
+ products: [
+ { name: 'p-1', blobs: { technical: { server: { cpu: { cores: 6, number: 1 } } } } },
+ { name: 'p-2', blobs: { technical: { server: { cpu: { cores: 24, number: 2 } } } } },
+ { name: 'ram-32-prod', blobs: { technical: { memory: { size: 32 } } } },
+ { name: 'ram-64-prod', blobs: { technical: { memory: { size: 64 } } } },
+ { name: 'disk-2x960-prod', blobs: { technical: { storage: { disks: [{ capacity: 960, number: 2, interface: 'NVMe' }] } } } },
+ { name: 'disk-1x480-prod', blobs: { technical: { storage: { disks: [{ capacity: 480, number: 1, interface: 'SATA' }] } } } },
+ ],
+});
+
+const nestedEndpoint = {
+ format: 'json', items_path: 'plans', fields: { identity: 'planCode' },
+ extra: {
+ cores: '$root.products[name=$rec.product].blobs.technical.server.cpu.cores',
+ sockets: '$root.products[name=$rec.product].blobs.technical.server.cpu.number',
+ memory: '$root.products[name=$root.addons[planCode=$rec.addonFamilies[name=memory].default].product].blobs.technical.memory.size',
+ disk: '$root.products[name=$root.addons[planCode=$rec.addonFamilies[name=storage].default].product].blobs.technical.storage.disks.0.capacity',
+ disks: '$root.products[name=$root.addons[planCode=$rec.addonFamilies[name=storage].default].product].blobs.technical.storage.disks.0.number',
+ price: 'pricings[mode=default,commitment=0,intervalUnit=month,interval=1].price',
+ },
+};
+
+t('a selector value may be a $root or $rec path with its own selector, so a plan reaches its addon and that addon\'s product', () => {
+ assert.strictEqual(api.checkMapping(nestedEndpoint), null);
+ const r = api.parse(DEDICATED, { url: 'https://x.example/', endpoint: nestedEndpoint });
+ assert.deepStrictEqual(r.items.map((i) => i.identity), ['srv-1', 'srv-2']);
+ assert.deepStrictEqual(r.items[0].fields, { cores: 6, sockets: 1, memory: 32, disk: 960, disks: 2, price: 14700000000 });
+ assert.deepStrictEqual(r.items[1].fields, { cores: 24, sockets: 2, memory: 64, disk: 480, disks: 1, price: null });
+ // A named family the record does not have, and an addon code that names no addon, both give null.
+ const missing = { ...nestedEndpoint, extra: {
+ missing_family: '$root.products[name=$root.addons[planCode=$rec.addonFamilies[name=gpu].default].product].blobs.technical.memory.size',
+ missing_addon: '$root.products[name=$root.addons[planCode=$rec.nope].product].blobs.technical.memory.size',
+ } };
+ assert.strictEqual(api.checkMapping(missing), null);
+ const m = api.parse(DEDICATED, { url: 'https://x.example/', endpoint: missing });
+ assert.deepStrictEqual(m.items.map((i) => i.fields), [{ missing_family: null, missing_addon: null }, { missing_family: null, missing_addon: null }]);
+});
+
+t('checkMapping refuses a malformed nested reference and stops at a bounded depth', () => {
+ const extra = (x) => api.checkMapping({ fields: { identity: 'id' }, extra: { x } });
+ assert.strictEqual(extra('$root.a[b=$root.c[d=$rec.e].f]'), null);
+ assert.strictEqual(extra('$root.a[b=$rec.c[name=d,e=f].g]'), null, 'a nested selector may carry two conditions');
+ assert.match(extra('$root.a[b=$rec].x'), /malformed/);
+ assert.match(extra('$root.a[b=$root].x'), /malformed/);
+ assert.match(extra('$root.a[b=$root.c[d=$rec.e].f'), /malformed/, 'the outer bracket is unclosed');
+ assert.match(extra('$root.a[b=$rec.c[name=d,e=f,g=h,i=j,j=k].x]'), /malformed/, 'a nested selector has at most four conditions');
+ assert.match(extra('$rec.a'), /malformed/, 'a top-level $rec path is not a registry path');
+ let deep = 'z';
+ for (let i = 0; i < 10; i++) deep = `y${i}[a=$rec.${deep}]`;
+ assert.match(extra('$root.' + deep), /malformed/, 'references are bounded');
+});
+
t.run();
t.run();
new file mode 100644
new file mode 100644
@@ -0,0 +1,4274 @@
@@ -0,0 +1,4274 @@
+{
+ "catalogId": 3775,
+ "locale": {
+ "currencyCode": "USD",
+ "subsidiary": "US",
+ "taxRate": 0
+ },
+ "plans": [
+ {
+ "planCode": "19infra032-se",
+ "invoiceName": "INFRA-3-SE",
+ "addonFamilies": [
+ {
+ "name": "memory",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "ram-128g-ecc-2933-infra-us"
+ ],
+ "default": "ram-128g-ecc-2933-infra-us"
+ },
+ {
+ "name": "bandwidth",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "bandwidth-guaranteed-2000-ultimate-2019v1-us",
+ "bandwidth-1000-burst-2gbps-infra-us"
+ ],
+ "default": "bandwidth-1000-burst-2gbps-infra-us"
+ },
+ {
+ "name": "storage",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "softraid-2x960nvme-infra-us"
+ ],
+ "default": "softraid-2x960nvme-infra-us"
+ }
+ ],
+ "product": "19infra03-custom",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": 10
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": 10
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 30100000000,
+ "formattedPrice": "$301.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [
+ {
+ "name": "dedicated_datacenter",
+ "isCustom": false,
+ "isMandatory": true,
+ "values": [
+ "vin",
+ "hil"
+ ]
+ },
+ {
+ "name": "dedicated_os",
+ "isCustom": false,
+ "isMandatory": true,
+ "values": [
+ "none_64.en"
+ ]
+ },
+ {
+ "name": "region",
+ "isCustom": false,
+ "isMandatory": false,
+ "values": [
+ "united_states"
+ ]
+ }
+ ],
+ "family": null,
+ "blobs": {
+ "commercial": {
+ "range": "infrastructure"
+ }
+ }
+ },
+ {
+ "planCode": "20bv012-us",
+ "invoiceName": "BV-1",
+ "addonFamilies": [
+ {
+ "name": "bandwidth",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "bandwidth-500-bv-us"
+ ],
+ "default": "bandwidth-500-bv-us"
+ },
+ {
+ "name": "memory",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "ram-256g-bv-us"
+ ],
+ "default": "ram-256g-bv-us"
+ },
+ {
+ "name": "storage",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "hybridsoftraid-4x2000sa-2x240ssd-bv-us",
+ "softraid-2x240ssd-bv-us"
+ ],
+ "default": "softraid-2x240ssd-bv-us"
+ }
+ ],
+ "product": "20bv01",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": 10
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": 10
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 10900000000,
+ "formattedPrice": "$109.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [
+ {
+ "name": "dedicated_datacenter",
+ "isCustom": false,
+ "isMandatory": true,
+ "values": [
+ "vin",
+ "hil"
+ ]
+ },
+ {
+ "name": "dedicated_os",
+ "isCustom": false,
+ "isMandatory": true,
+ "values": [
+ "none_64.en"
+ ]
+ },
+ {
+ "name": "region",
+ "isCustom": false,
+ "isMandatory": false,
+ "values": [
+ "united_states"
+ ]
+ }
+ ],
+ "family": null,
+ "blobs": {
+ "commercial": {
+ "range": "best-value"
+ }
+ }
+ },
+ {
+ "planCode": "20hg03-us",
+ "invoiceName": "HG-3",
+ "addonFamilies": [
+ {
+ "name": "bandwidth",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "bandwidth-guaranteed-3000-ultimate-2019v2-us",
+ "bandwidth-1000-burst-3gbps-hg-us",
+ "bandwidth-guaranteed-2000-ultimate-2019v1-us"
+ ],
+ "default": "bandwidth-1000-burst-3gbps-hg-us"
+ },
+ {
+ "name": "memory",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "ram-192g-hg3-us"
+ ],
+ "default": "ram-192g-hg3-us"
+ },
+ {
+ "name": "storage",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "softraid-2x6000sas-hg-us"
+ ],
+ "default": "softraid-2x6000sas-hg-us"
+ }
+ ],
+ "product": "20hg03-us",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": 10
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": 10
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 97500000000,
+ "formattedPrice": "$975.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [
+ {
+ "name": "dedicated_datacenter",
+ "isCustom": false,
+ "isMandatory": true,
+ "values": [
+ "vin",
+ "hil"
+ ]
+ },
+ {
+ "name": "dedicated_os",
+ "isCustom": false,
+ "isMandatory": true,
+ "values": [
+ "none_64.en"
+ ]
+ },
+ {
+ "name": "region",
+ "isCustom": false,
+ "isMandatory": false,
+ "values": [
+ "united_states"
+ ]
+ }
+ ],
+ "family": null,
+ "blobs": {
+ "commercial": {
+ "range": "hg"
+ }
+ }
+ },
+ {
+ "planCode": "22bf062-us",
+ "invoiceName": "BFSTOR21-3",
+ "addonFamilies": [
+ {
+ "name": "memory",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "ram-48g-bf6-us"
+ ],
+ "default": "ram-48g-bf6-us"
+ },
+ {
+ "name": "storage",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "softraid-12x4000sas-bf6-us"
+ ],
+ "default": "softraid-12x4000sas-bf6-us"
+ },
+ {
+ "name": "bandwidth",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "bandwidth-500-included-bf-us"
+ ],
+ "default": "bandwidth-500-included-bf-us"
+ }
+ ],
+ "product": "22bf06",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": 10
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 20900000000,
+ "formattedPrice": "$209.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": 10
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 20900000000,
+ "formattedPrice": "$209.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [
+ {
+ "name": "dedicated_datacenter",
+ "isCustom": false,
+ "isMandatory": true,
+ "values": [
+ "vin",
+ "hil"
+ ]
+ },
+ {
+ "name": "dedicated_os",
+ "isCustom": false,
+ "isMandatory": true,
+ "values": [
+ "none_64.en"
+ ]
+ },
+ {
+ "name": "region",
+ "isCustom": false,
+ "isMandatory": true,
+ "values": [
+ "united_states"
+ ]
+ }
+ ],
+ "family": null,
+ "blobs": {
+ "commercial": {
+ "name": "BFSTOR21-3"
+ }
+ }
+ },
+ {
+ "planCode": "24adv01-v3-eu",
+ "invoiceName": "ADVANCE-1 | AMD EPYC 4244P",
+ "addonFamilies": [
+ {
+ "name": "bandwidth",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "bandwidth-3000-adv-gen3-eu",
+ "bandwidth-4000-adv-gen3-eu",
+ "bandwidth-5000-adv-gen3-eu"
+ ],
+ "default": "bandwidth-3000-adv-gen3-eu"
+ },
+ {
+ "name": "storage",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "hybridsoftraid-2x960nvme-pcie-gen4-2x1920nvme-pcie-gen4-24adv01-v3-eu",
+ "hybridsoftraid-2x960nvme-pcie-gen4-2x3840nvme-pcie-gen4-24adv01-v3-eu",
+ "hybridsoftraid-2x960nvme-pcie-gen4-2x7680nvme-pcie-gen4-24adv01-v3-eu",
+ "softraid-2x960nvme-pcie-gen4-24adv01-v3-eu",
+ "softraid-4x960nvme-pcie-gen4-24adv01-v3-eu",
+ "softraid-4x1920nvme-pcie-gen4-24adv01-v3-eu",
+ "softraid-4x3840nvme-pcie-gen4-24adv01-v3-eu",
+ "softraid-4x7680nvme-pcie-gen4-24adv01-v3-eu"
+ ],
+ "default": "softraid-2x960nvme-pcie-gen4-24adv01-v3-eu"
+ },
+ {
+ "name": "memory",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "ram-32g-on-die-ecc-5200-24adv01-v3-eu",
+ "ram-64g-on-die-ecc-5200-24adv01-v3-eu",
+ "ram-128g-on-die-ecc-3600-24adv01-v3-eu",
+ "ram-192g-on-die-ecc-3600-24adv01-v3-eu"
+ ],
+ "default": "ram-32g-on-die-ecc-5200-24adv01-v3-eu"
+ }
+ ],
+ "product": "24adv01",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": 10
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 14700000000,
+ "formattedPrice": "$147.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": 10
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 14700000000,
+ "formattedPrice": "$147.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [
+ {
+ "name": "dedicated_datacenter",
+ "isCustom": false,
+ "isMandatory": false,
+ "values": [
+ "fra",
+ "gra",
+ "lon",
+ "rbx",
+ "waw",
+ "sbg"
+ ]
+ },
+ {
+ "name": "dedicated_os",
+ "isCustom": false,
+ "isMandatory": true,
+ "values": [
+ "none_64.en"
+ ]
+ },
+ {
+ "name": "region",
+ "isCustom": false,
+ "isMandatory": true,
+ "values": [
+ "united_states"
+ ]
+ },
+ {
+ "name": "enable-backup",
+ "isCustom": false,
+ "isMandatory": false,
+ "values": [
+ "true",
+ "false"
+ ]
+ }
+ ],
+ "family": null,
+ "blobs": {
+ "commercial": {
+ "features": [
+ {
+ "name": "release-year",
+ "value": "2024"
+ },
+ {
+ "name": "baremetal-server-usecases",
+ "value": "hosting,bdd"
+ },
+ {
+ "name": "alternative-cpu",
+ "value": "26adv01-v7-eu"
+ },
+ {
+ "name": "last-generation",
+ "value": "false"
+ }
+ ],
+ "name": "ADVANCE-1"
+ }
+ }
+ },
+ {
+ "planCode": "24adv01-v3-us",
+ "invoiceName": "ADVANCE-1 | AMD EPYC 4244P",
+ "addonFamilies": [
+ {
+ "name": "bandwidth",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "bandwidth-5000-adv-gen3-us",
+ "bandwidth-3000-adv-gen3-us",
+ "bandwidth-4000-adv-gen3-us"
+ ],
+ "default": "bandwidth-3000-adv-gen3-us"
+ },
+ {
+ "name": "storage",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "hybridsoftraid-2x960nvme-pcie-gen4-2x1920nvme-pcie-gen4-24adv01-v3-us",
+ "hybridsoftraid-2x960nvme-pcie-gen4-2x3840nvme-pcie-gen4-24adv01-v3-us",
+ "hybridsoftraid-2x960nvme-pcie-gen4-2x7680nvme-pcie-gen4-24adv01-v3-us",
+ "softraid-2x960nvme-pcie-gen4-24adv01-v3-us",
+ "softraid-4x960nvme-pcie-gen4-24adv01-v3-us",
+ "softraid-4x1920nvme-pcie-gen4-24adv01-v3-us",
+ "softraid-4x3840nvme-pcie-gen4-24adv01-v3-us",
+ "softraid-4x7680nvme-pcie-gen4-24adv01-v3-us"
+ ],
+ "default": "softraid-2x960nvme-pcie-gen4-24adv01-v3-us"
+ },
+ {
+ "name": "memory",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "ram-32g-on-die-ecc-5200-24adv01-v3-us",
+ "ram-64g-on-die-ecc-5200-24adv01-v3-us",
+ "ram-128g-on-die-ecc-3600-24adv01-v3-us",
+ "ram-192g-on-die-ecc-3600-24adv01-v3-us"
+ ],
+ "default": "ram-32g-on-die-ecc-5200-24adv01-v3-us"
+ }
+ ],
+ "product": "24adv01",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": 10
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 14700000000,
+ "formattedPrice": "$147.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": 10
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 14700000000,
+ "formattedPrice": "$147.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [
+ {
+ "name": "dedicated_datacenter",
+ "isCustom": false,
+ "isMandatory": false,
+ "values": [
+ "vin",
+ "hil"
+ ]
+ },
+ {
+ "name": "dedicated_os",
+ "isCustom": false,
+ "isMandatory": true,
+ "values": [
+ "none_64.en"
+ ]
+ },
+ {
+ "name": "region",
+ "isCustom": false,
+ "isMandatory": true,
+ "values": [
+ "united_states"
+ ]
+ },
+ {
+ "name": "enable-backup",
+ "isCustom": false,
+ "isMandatory": false,
+ "values": [
+ "true",
+ "false"
+ ]
+ }
+ ],
+ "family": null,
+ "blobs": {
+ "commercial": {
+ "features": [
+ {
+ "name": "release-year",
+ "value": "2024"
+ },
+ {
+ "name": "baremetal-server-usecases",
+ "value": "hosting,bdd"
+ },
+ {
+ "name": "alternative-cpu",
+ "value": "26adv01-v7-us"
+ },
+ {
+ "name": "last-generation",
+ "value": "false"
+ }
+ ],
+ "name": "ADVANCE-1"
+ }
+ }
+ },
+ {
+ "planCode": "26game02-v4-us",
+ "invoiceName": "GAME-2 | AMD RYZEN 9 9950X3D",
+ "addonFamilies": [
+ {
+ "name": "memory",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "ram-128g-on-die-ecc-3600-26game02-v4-us",
+ "ram-64g-on-die-ecc-5600-26game02-v4-us",
+ "ram-192g-on-die-ecc-3600-26game02-v4-us",
+ "ram-256g-on-die-ecc-3600-26game02-v4-us"
+ ],
+ "default": "ram-64g-on-die-ecc-5600-26game02-v4-us"
+ },
+ {
+ "name": "storage",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "softraid-2x960nvme-26game02-v4-us"
+ ],
+ "default": "softraid-2x960nvme-26game02-v4-us"
+ },
+ {
+ "name": "bandwidth",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "bandwidth-1000-game-gen4-us"
+ ],
+ "default": "bandwidth-1000-game-gen4-us"
+ }
+ ],
+ "product": "26game02",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": 10
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 40100000000,
+ "formattedPrice": "$401.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [
+ {
+ "description": "Free setup fees for all customers",
+ "discount": {
+ "value": 40100000000,
+ "formattedValue": "$401.00 USD",
+ "tax": 0
+ },
+ "duration": null,
+ "context": "standard",
+ "customFieldValues": [],
+ "endDate": "2026-11-04T15:00:00-05:00",
+ "formattedValue": "",
+ "globalQuantity": null,
+ "isForTestingPurpose": false,
+ "isGlobalQuantityLimited": false,
+ "minimumDuration": 1,
+ "name": "2710_SpecialOffers_SetUpFee",
+ "quantity": null,
+ "startDate": "2026-10-21T14:30:50.51-04:00",
+ "tags": null,
+ "total": {
+ "value": 0,
+ "formattedValue": "$0.00 USD",
+ "tax": 0
+ },
+ "type": "percentage",
+ "value": 100
+ }
+ ],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": 10
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 40100000000,
+ "formattedPrice": "$401.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [
+ {
+ "name": "dedicated_os",
+ "isCustom": false,
+ "isMandatory": true,
+ "values": [
+ "none_64.en"
+ ]
+ },
+ {
+ "name": "region",
+ "isCustom": false,
+ "isMandatory": true,
+ "values": [
+ "united_states"
+ ]
+ },
+ {
+ "name": "dedicated_datacenter",
+ "isCustom": false,
+ "isMandatory": true,
+ "values": [
+ "vin",
+ "hil"
+ ]
+ },
+ {
+ "name": "enable-backup",
+ "isCustom": false,
+ "isMandatory": false,
+ "values": [
+ "true",
+ "false"
+ ]
+ }
+ ],
+ "family": null,
+ "blobs": {
+ "commercial": {
+ "features": [
+ {
+ "name": "baremetal-server-usecases",
+ "value": "gaming"
+ },
+ {
+ "name": "release-year",
+ "value": "2026"
+ }
+ ],
+ "name": "GAME-2"
+ }
+ }
+ },
+ {
+ "planCode": "24hci-a1-v2-us",
+ "invoiceName": "HGR-HCI-a1",
+ "addonFamilies": [
+ {
+ "name": "bandwidth",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "bandwidth-10000-hgr-gen2-us",
+ "bandwidth-15000-hgr-gen2-us",
+ "bandwidth-20000-hgr-gen2-us",
+ "bandwidth-25000-hgr-gen2-us"
+ ],
+ "default": "bandwidth-10000-hgr-gen2-us"
+ },
+ {
+ "name": "memory",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "ram-256g-ecc-4800-24hci-a1-v2-us",
+ "ram-512g-ecc-4800-24hci-a1-v2-us",
+ "ram-1024g-ecc-4800-24hci-a1-v2-us",
+ "ram-1536g-ecc-4800-24hci-a1-v2-us",
+ "ram-2304g-ecc-4800-24hci-a1-v2-us"
+ ],
+ "default": "ram-256g-ecc-4800-24hci-a1-v2-us"
+ },
+ {
+ "name": "storage",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "softraid-6x3840nvme-24hci-a1-v2-us",
+ "softraid-12x3840nvme-24hci-a1-v2-us",
+ "softraid-18x3840nvme-24hci-a1-v2-us",
+ "softraid-24x3840nvme-24hci-a1-v2-us"
+ ],
+ "default": "softraid-6x3840nvme-24hci-a1-v2-us"
+ }
+ ],
+ "product": "24hci-a1",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": 10
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 165500000000,
+ "formattedPrice": "$1655.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": 10
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 165500000000,
+ "formattedPrice": "$1655.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [
+ {
+ "name": "dedicated_datacenter",
+ "isCustom": false,
+ "isMandatory": false,
+ "values": [
+ "vin",
+ "hil"
+ ]
+ },
+ {
+ "name": "dedicated_os",
+ "isCustom": false,
+ "isMandatory": true,
+ "values": [
+ "none_64.en"
+ ]
+ },
+ {
+ "name": "region",
+ "isCustom": false,
+ "isMandatory": true,
+ "values": [
+ "united_states"
+ ]
+ },
+ {
+ "name": "enable-backup",
+ "isCustom": false,
+ "isMandatory": false,
+ "values": [
+ "true",
+ "false"
+ ]
+ }
+ ],
+ "family": null,
+ "blobs": {
+ "commercial": {
+ "features": [
+ {
+ "name": "baremetal-server-usecases",
+ "value": "virtualisation-containerisation-orchestration,hyperconverged-infrastructure,confidential-computing,hpc"
+ },
+ {
+ "name": "alternative-cpu",
+ "value": "26hci-a1-v2"
+ },
+ {
+ "name": "last-generation",
+ "value": "false"
+ },
+ {
+ "name": "release-year",
+ "value": "2024"
+ }
+ ],
+ "name": "HGR-HCI-a1"
+ }
+ }
+ },
+ {
+ "planCode": "23scaleamd01-v3-us",
+ "invoiceName": "Scale-a1",
+ "addonFamilies": [
+ {
+ "name": "bandwidth",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "bandwidth-20000-scale-gen2-us",
+ "bandwidth-25000-scale-gen2-us",
+ "bandwidth-15000-scale-gen2-us",
+ "bandwidth-5000-scale-gen2-us",
+ "bandwidth-10000-scale-gen2-us"
+ ],
+ "default": "bandwidth-5000-scale-gen2-us"
+ },
+ {
+ "name": "storage",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "noraid-0-23scaleamd01-v3-us",
+ "softraid-2x1920nvme-23scaleamd01-v3-us",
+ "softraid-2x3840nvme-23scaleamd01-v3-us",
+ "softraid-2x7680nvme-23scaleamd01-v3-us",
+ "softraid-4x1920nvme-23scaleamd01-v3-us",
+ "softraid-4x3840nvme-23scaleamd01-v3-us",
+ "softraid-4x7680nvme-23scaleamd01-v3-us",
+ "softraid-6x1920nvme-23scaleamd01-v3-us",
+ "softraid-6x3840nvme-23scaleamd01-v3-us",
+ "softraid-6x7680nvme-23scaleamd01-v3-us"
+ ],
+ "default": "noraid-0-23scaleamd01-v3-us"
+ },
+ {
+ "name": "memory",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "ram-128g-ecc-4800-23scaleamd01-v3-us",
+ "ram-256g-ecc-4800-23scaleamd01-v3-us",
+ "ram-512g-ecc-4800-23scaleamd01-v3-us",
+ "ram-1024g-ecc-4800-23scaleamd01-v3-us"
+ ],
+ "default": "ram-128g-ecc-4800-23scaleamd01-v3-us"
+ }
+ ],
+ "product": "23scaleamd01",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": 10
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 68900000000,
+ "formattedPrice": "$689.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [
+ {
+ "description": "Free setup fees for all customers",
+ "discount": {
+ "value": 68900000000,
+ "formattedValue": "$689.00 USD",
+ "tax": 0
+ },
+ "duration": null,
+ "context": "standard",
+ "customFieldValues": [],
+ "endDate": "2026-11-04T15:00:00-05:00",
+ "formattedValue": "",
+ "globalQuantity": null,
+ "isForTestingPurpose": false,
+ "isGlobalQuantityLimited": false,
+ "minimumDuration": 1,
+ "name": "2710_SpecialOffers_SetUpFee",
+ "quantity": null,
+ "startDate": "2026-10-21T14:30:50.51-04:00",
+ "tags": null,
+ "total": {
+ "value": 0,
+ "formattedValue": "$0.00 USD",
+ "tax": 0
+ },
+ "type": "percentage",
+ "value": 100
+ }
+ ],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": 10
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 68900000000,
+ "formattedPrice": "$689.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [
+ {
+ "name": "dedicated_datacenter",
+ "isCustom": false,
+ "isMandatory": false,
+ "values": [
+ "vin",
+ "hil"
+ ]
+ },
+ {
+ "name": "dedicated_os",
+ "isCustom": false,
+ "isMandatory": true,
+ "values": [
+ "none_64.en"
+ ]
+ },
+ {
+ "name": "region",
+ "isCustom": false,
+ "isMandatory": true,
+ "values": [
+ "united_states"
+ ]
+ },
+ {
+ "name": "enable-backup",
+ "isCustom": false,
+ "isMandatory": false,
+ "values": [
+ "true",
+ "false"
+ ]
+ }
+ ],
+ "family": null,
+ "blobs": {
+ "commercial": {
+ "features": [
+ {
+ "name": "release-year",
+ "value": "2024"
+ },
+ {
+ "name": "alternative-cpu",
+ "value": "26scaleamd01-v4-us"
+ },
+ {
+ "name": "last-generation",
+ "value": "false"
+ },
+ {
+ "name": "baremetal-server-usecases",
+ "value": "confidential-computing,vdi,virtualisation-containerisation-orchestration,bdd"
+ }
+ ],
+ "name": "Scale-a1"
+ }
+ }
+ },
+ {
+ "planCode": "26adv01-v7-us",
+ "invoiceName": "ADVANCE-1 | AMD EPYC 4245P",
+ "addonFamilies": [
+ {
+ "name": "storage",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "hybridsoftraid-2x960nvme-pcie-gen5-2x1920nvme-pcie-gen5-26adv01-v7-us",
+ "hybridsoftraid-2x960nvme-pcie-gen5-2x3840nvme-pcie-gen5-26adv01-v7-us",
+ "hybridsoftraid-2x960nvme-pcie-gen5-2x7680nvme-pcie-gen5-26adv01-v7-us",
+ "hybridsoftraid-2x960nvme-pcie-gen5-2x15360nvme-pcie-gen5-26adv01-v7-us",
+ "softraid-2x960nvme-pcie-gen5-26adv01-v7-us",
+ "softraid-4x960nvme-pcie-gen5-26adv01-v7-us",
+ "softraid-4x1920nvme-pcie-gen5-26adv01-v7-us",
+ "softraid-4x3840nvme-pcie-gen5-26adv01-v7-us",
+ "softraid-4x7680nvme-pcie-gen5-26adv01-v7-us"
+ ],
+ "default": "softraid-2x960nvme-pcie-gen5-26adv01-v7-us"
+ },
+ {
+ "name": "memory",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "ram-32g-ddr5-on-die-ecc-5600-26adv01-v7-us",
+ "ram-64g-ddr5-on-die-ecc-3600-26adv01-v7-us",
+ "ram-128g-ddr5-on-die-ecc-3600-26adv01-v7-us",
+ "ram-192g-ddr5-on-die-ecc-3600-26adv01-v7-us",
+ "ram-256g-ddr5-on-die-ecc-3600-26adv01-v7-us"
+ ],
+ "default": "ram-32g-ddr5-on-die-ecc-5600-26adv01-v7-us"
+ },
+ {
+ "name": "bandwidth",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "bandwidth-4000-adv-gen4-us",
+ "bandwidth-5000-adv-gen4-us",
+ "bandwidth-3000-adv-gen4-us"
+ ],
+ "default": "bandwidth-3000-adv-gen4-us"
+ }
+ ],
+ "product": "26adv01",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": 10
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 20400000000,
+ "formattedPrice": "$204.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": 10
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 20400000000,
+ "formattedPrice": "$204.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [
+ {
+ "name": "dedicated_os",
+ "isCustom": false,
+ "isMandatory": true,
+ "values": [
+ "none_64.en"
+ ]
+ },
+ {
+ "name": "region",
+ "isCustom": false,
+ "isMandatory": true,
+ "values": [
+ "united_states"
+ ]
+ },
+ {
+ "name": "dedicated_datacenter",
+ "isCustom": false,
+ "isMandatory": true,
+ "values": [
+ "hil",
+ "vin"
+ ]
+ },
+ {
+ "name": "enable-backup",
+ "isCustom": false,
+ "isMandatory": false,
+ "values": [
+ "true",
+ "false"
+ ]
+ }
+ ],
+ "family": null,
+ "blobs": {
+ "commercial": {
+ "features": [
+ {
+ "name": "release-year",
+ "value": "2026"
+ },
+ {
+ "name": "baremetal-server-usecases",
+ "value": "hosting,bdd"
+ },
+ {
+ "name": "alternative-cpu",
+ "value": "24adv01-v3-us"
+ },
+ {
+ "name": "last-generation",
+ "value": "true"
+ }
+ ],
+ "name": "ADVANCE-1"
+ }
+ }
+ }
+ ],
+ "products": [
+ {
+ "name": "bandwidth-500",
+ "description": "500 Mbps unmetered public bandwidth",
+ "blobs": {
+ "technical": {
+ "bandwidth": {
+ "burst": 0,
+ "level": 500,
+ "limit": 0,
+ "guaranteed": false
+ }
+ }
+ },
+ "configurations": []
+ },
+ {
+ "name": "ram-48g-ecc-2400",
+ "description": "48GB DDR4 ECC 2400MHz",
+ "blobs": {
+ "technical": {
+ "memory": {
+ "ecc": true,
+ "size": 48,
+ "ramType": "DDR4",
+ "frequency": 2400
+ }
+ }
+ },
+ "configurations": []
+ },
+ {
+ "name": "softraid-12x4000sas",
+ "description": "12x HDD SAS 4TB Datacenter Class Soft RAID",
+ "blobs": {
+ "technical": {
+ "storage": {
+ "raid": "Soft RAID",
+ "disks": [
+ {
+ "specs": "3.5in",
+ "usage": "data",
+ "number": 12,
+ "capacity": 4000,
+ "interface": "SAS",
+ "technology": "HDD"
+ }
+ ],
+ "hotSwap": false,
+ "raidDetails": {
+ "type": "Soft RAID"
+ }
+ }
+ }
+ },
+ "configurations": []
+ },
+ {
+ "name": "ram-256g-ecc-1600",
+ "description": "256GB DDR3 ECC 1600MHz",
+ "blobs": {
+ "technical": {
+ "memory": {
+ "ecc": true,
+ "size": 256,
+ "ramType": "DDR3",
+ "frequency": 1600
+ }
+ }
+ },
+ "configurations": []
+ },
+ {
+ "name": "softraid-2x240ssd",
+ "description": "2x SSD SATA 240GB Datacenter Class Soft RAID",
+ "blobs": {
+ "technical": {
+ "storage": {
+ "raid": "Soft RAID",
+ "disks": [
+ {
+ "specs": "2.5in 7mm",
+ "usage": "data",
+ "number": 2,
+ "capacity": 240,
+ "interface": "SATA",
+ "technology": "SSD"
+ }
+ ],
+ "hotSwap": false,
+ "raidDetails": {
+ "type": "Soft RAID"
+ }
+ }
+ }
+ },
+ "configurations": []
+ },
+ {
+ "name": "softraid-2x960nvme",
+ "description": "2x SSD NVMe 960GB Datacenter Class Soft RAID",
+ "blobs": {
+ "technical": {
+ "storage": {
+ "raid": "Soft RAID",
+ "disks": [
+ {
+ "specs": "M.2 80",
+ "usage": "data",
+ "number": 2,
+ "capacity": 960,
+ "interface": "NVMe",
+ "technology": "SSD"
+ }
+ ],
+ "hotSwap": false,
+ "raidDetails": {
+ "type": "Soft RAID"
+ }
+ }
+ }
+ },
+ "configurations": []
+ },
+ {
+ "name": "bandwidth-1000-burst-3gbps",
+ "description": "1Gbps unmetered public bandwidth - 3Gbps burst",
+ "blobs": {
+ "technical": {
+ "bandwidth": {
+ "burst": 3000,
+ "level": 1000,
+ "limit": 0,
+ "guaranteed": false
+ }
+ }
+ },
+ "configurations": []
+ },
+ {
+ "name": "softraid-2x6000sas",
+ "description": "2x HDD SAS 6TB Datacenter Class Soft RAID",
+ "blobs": {
+ "technical": {
+ "storage": {
+ "raid": "Soft RAID",
+ "disks": [
+ {
+ "specs": "3.5in",
+ "number": 2,
+ "capacity": 6000,
+ "interface": "SAS",
+ "technology": "HDD"
+ }
+ ]
+ }
+ }
+ },
+ "configurations": []
+ },
+ {
+ "name": "ram-192g-ecc-2666",
+ "description": "RAM 192GB DDR4 ECC 2666MHz",
+ "blobs": {
+ "technical": {
+ "memory": {
+ "ecc": true,
+ "size": 192,
+ "ramType": "DDR4",
+ "frequency": 2666
+ }
+ }
+ },
+ "configurations": []
+ },
+ {
+ "name": "softraid-6x3840nvme",
+ "description": "6x SSD NVMe 3.84TB Enterprise Class Soft RAID",
+ "blobs": {
+ "technical": {
+ "storage": {
+ "raid": "Soft RAID",
+ "disks": [
+ {
+ "specs": "M.2 80",
+ "usage": "data",
+ "number": 6,
+ "capacity": 3840,
+ "interface": "NVMe",
+ "technology": "SSD"
+ }
+ ],
+ "hotSwap": true,
+ "raidDetails": {
+ "type": "Soft RAID"
+ }
+ }
+ }
+ },
+ "configurations": []
+ },
+ {
+ "name": "20bv01",
+ "description": "2x Intel Xeon E5-2660",
+ "blobs": {
+ "technical": {
+ "server": {
+ "cpu": {
+ "boost": 3,
+ "brand": "Intel",
+ "cores": 8,
+ "model": "Xeon E5-2660",
+ "score": 15000,
+ "number": 2,
+ "threads": 16,
+ "frequency": 2.2
+ },
+ "frame": {
+ "size": "1U",
+ "model": "OVH",
+ "dualPowerSupply": false
+ },
+ "range": "best-value",
+ "services": {
+ "sla": 99,
+ "antiddos": "standard"
+ }
+ }
+ }
+ },
+ "configurations": [
+ {
+ "name": "extra_reservation",
+ "isCustom": true,
+ "isMandatory": false,
+ "values": null
+ }
+ ]
+ },
+ {
+ "name": "20hg03-us",
+ "description": "2x Intel Xeon Gold 6132",
+ "blobs": {
+ "technical": {
+ "server": {
+ "cpu": {
+ "boost": 3.7,
+ "brand": "Intel",
+ "cores": 28,
+ "model": "2x Xeon Gold 6132",
+ "score": 16000,
+ "threads": 56,
+ "frequency": 2.6
+ },
+ "frame": {
+ "size": "1U",
+ "model": "Intel"
+ },
+ "range": "hg"
+ }
+ }
+ },
+ "configurations": []
+ },
+ {
+ "name": "22bf06",
+ "description": "Intel Xeon Silver 4110",
+ "blobs": {
+ "technical": {
+ "server": {
+ "cpu": {
+ "boost": 3,
+ "brand": "Intel",
+ "cores": 8,
+ "model": "Xeon Silver 4110",
+ "score": 10232,
+ "number": 1,
+ "threads": 16,
+ "frequency": 2.1
+ },
+ "frame": {
+ "size": "1U",
+ "model": "OVH",
+ "dualPowerSupply": false
+ },
+ "range": "rise",
+ "services": {
+ "sla": 99,
+ "antiddos": "standard"
+ }
+ }
+ }
+ },
+ "configurations": [
+ {
+ "name": "extra_reservation",
+ "isCustom": true,
+ "isMandatory": false,
+ "values": null
+ }
+ ]
+ },
+ {
+ "name": "bandwidth-1000",
+ "description": "1Gbps unmetered and guaranteed public bandwidth",
+ "blobs": {
+ "technical": {
+ "bandwidth": {
+ "burst": 0,
+ "level": 1000,
+ "limit": 0,
+ "guaranteed": true
+ }
+ }
+ },
+ "configurations": []
+ },
+ {
+ "name": "bandwidth-3000",
+ "description": "3Gbps unmetered public bandwidth",
+ "blobs": {
+ "technical": {
+ "bandwidth": {
+ "burst": 0,
+ "level": 3000,
+ "limit": 0,
+ "guaranteed": true
+ }
+ }
+ },
+ "configurations": []
+ },
+ {
+ "name": "bandwidth-5000",
+ "description": "5Gbps unmetered and guaranteed public bandwidth",
+ "blobs": {
+ "technical": {
+ "bandwidth": {
+ "burst": 0,
+ "level": 5000,
+ "limit": 0,
+ "guaranteed": true
+ }
+ }
+ },
+ "configurations": []
+ },
+ {
+ "name": "ram-64g-on-die-ecc-5600",
+ "description": "64GB DDR5 On-Die ECC 5600MHz",
+ "blobs": {
+ "technical": {
+ "memory": {
+ "ecc": false,
+ "size": 64,
+ "ramType": "DDR5",
+ "frequency": 5600
+ }
+ }
+ },
+ "configurations": []
+ },
+ {
+ "name": "bandwidth-10000",
+ "description": "10Gbps unmetered and guaranteed public bandwidth",
+ "blobs": {
+ "technical": {
+ "bandwidth": {
+ "burst": 0,
+ "level": 10000,
+ "limit": 0,
+ "guaranteed": true
+ }
+ }
+ },
+ "configurations": []
+ },
+ {
+ "name": "noraid-0",
+ "description": "No storage drive",
+ "blobs": {
+ "technical": {
+ "storage": {
+ "raid": "none",
+ "disks": [
+ {
+ "specs": "M.2 80",
+ "usage": "data",
+ "number": 0,
+ "capacity": 0,
+ "interface": "NVMe",
+ "technology": "SSD"
+ }
+ ],
+ "hotSwap": false,
+ "raidDetails": {
+ "type": "none"
+ }
+ }
+ }
+ },
+ "configurations": []
+ },
+ {
+ "name": "ram-128g-ecc-4800",
+ "description": "128GB DDR5 ECC 4800MHz",
+ "blobs": {
+ "technical": {
+ "memory": {
+ "ecc": true,
+ "size": 128,
+ "ramType": "DDR5",
+ "frequency": 4800
+ }
+ }
+ },
+ "configurations": []
+ },
+ {
+ "name": "ram-256g-ecc-4800",
+ "description": "256GB DDR5 ECC 4800MHz",
+ "blobs": {
+ "technical": {
+ "memory": {
+ "ecc": true,
+ "size": 256,
+ "ramType": "DDR5",
+ "frequency": 4800
+ }
+ }
+ },
+ "configurations": []
+ },
+ {
+ "name": "ram-32g-ddr5-on-die-ecc-5600",
+ "description": "32GB DDR5 On-Die ECC 5600MHz",
+ "blobs": {
+ "technical": {
+ "memory": {
+ "ecc": false,
+ "size": 32,
+ "ramType": "DDR5",
+ "frequency": 5600
+ }
+ }
+ },
+ "configurations": []
+ },
+ {
+ "name": "softraid-2x960nvme-pcie-gen5",
+ "description": "2x SSD NVMe 960GB Datacenter Class Soft RAID",
+ "blobs": {
+ "technical": {
+ "storage": {
+ "raid": "Soft RAID",
+ "disks": [
+ {
+ "specs": "M.2 80",
+ "usage": "data",
+ "number": 2,
+ "capacity": 960,
+ "interface": "NVMe",
+ "technology": "SSD",
+ "physicalInterface": "pcie-gen5"
+ }
+ ],
+ "hotSwap": false,
+ "raidDetails": {
+ "type": "Soft RAID"
+ }
+ }
+ }
+ },
+ "configurations": []
+ },
+ {
+ "name": "ram-32g-on-die-ecc-5200",
+ "description": "32GB DDR5 On-Die ECC 5200Hz",
+ "blobs": {
+ "technical": {
+ "memory": {
+ "ecc": false,
+ "size": 32,
+ "ramType": "DDR5",
+ "frequency": 5200
+ }
+ }
+ },
+ "configurations": []
+ },
+ {
+ "name": "softraid-2x960nvme-pcie-gen4",
+ "description": "2x SSD NVMe 960GB Enterprise Class Soft RAID",
+ "blobs": {
+ "technical": {
+ "storage": {
+ "raid": "Soft RAID",
+ "disks": [
+ {
+ "specs": "M.2 80",
+ "usage": "data",
+ "number": 2,
+ "capacity": 960,
+ "interface": "NVMe",
+ "technology": "SSD",
+ "physicalInterface": "pcie-gen4"
+ }
+ ],
+ "hotSwap": false,
+ "raidDetails": {
+ "type": "Soft RAID"
+ }
+ }
+ }
+ },
+ "configurations": []
+ },
+ {
+ "name": "24adv01",
+ "description": "AMD EPYC 4244P",
+ "blobs": {
+ "technical": {
+ "server": {
+ "cpu": {
+ "boost": 5.1,
+ "brand": "AMD",
+ "cores": 6,
+ "model": "EPYC 4244P",
+ "score": 27900,
+ "number": 1,
+ "threads": 12,
+ "frequency": 3.8
+ },
+ "frame": {
+ "size": "0.5U",
+ "model": "OVH",
+ "dualPowerSupply": false
+ },
+ "range": "advance",
+ "services": {
+ "sla": 99.95,
+ "antiddos": "standard"
+ }
+ }
+ }
+ },
+ "configurations": [
+ {
+ "name": "extra_reservation",
+ "isCustom": true,
+ "isMandatory": false,
+ "values": null
+ }
+ ]
+ },
+ {
+ "name": "26game02",
+ "description": "AMD RYZEN 9 9950X3D",
+ "blobs": {
+ "technical": {
+ "server": {
+ "cpu": {
+ "boost": 5.7,
+ "brand": "AMD",
+ "cores": 16,
+ "model": "RYZEN 9 9950X3D",
+ "score": 69700,
+ "number": 1,
+ "threads": 32,
+ "frequency": 4.3
+ },
+ "frame": {
+ "size": "0.5U",
+ "model": "OVH",
+ "dualPowerSupply": false
+ },
+ "range": "game",
+ "services": {
+ "sla": 99.95,
+ "antiddos": "standard"
+ }
+ }
+ }
+ },
+ "configurations": [
+ {
+ "name": "extra_reservation",
+ "isCustom": true,
+ "isMandatory": false,
+ "values": null
+ }
+ ]
+ },
+ {
+ "name": "24hci-a1",
+ "description": "2x AMD Epyc 9254",
+ "blobs": {
+ "technical": {
+ "server": {
+ "cpu": {
+ "boost": 3.9,
+ "brand": "AMD",
+ "cores": 24,
+ "model": "Epyc 9254",
+ "score": 100000,
+ "number": 2,
+ "threads": 48,
+ "frequency": 2.9
+ },
+ "frame": {
+ "size": "1U",
+ "model": "OVH",
+ "dualPowerSupply": true
+ },
+ "range": "hgr",
+ "network": {
+ "capacity": 25,
+ "interfaces": 4
+ },
+ "services": {
+ "sla": 99.99,
+ "antiddos": "standard"
+ }
+ }
+ }
+ },
+ "configurations": [
+ {
+ "name": "extra_reservation",
+ "isCustom": true,
+ "isMandatory": false,
+ "values": null
+ }
+ ]
+ },
+ {
+ "name": "23scaleamd01",
+ "description": "AMD EPYC GENOA 9124",
+ "blobs": {
+ "technical": {
+ "server": {
+ "cpu": {
+ "boost": 3.6,
+ "brand": "AMD",
+ "cores": 16,
+ "model": "EPYC GENOA 9124",
+ "score": 45900,
+ "number": 1,
+ "threads": 32,
+ "frequency": 3
+ },
+ "frame": {
+ "size": "1U",
+ "model": "OVH",
+ "dualPowerSupply": true
+ },
+ "range": "scale",
+ "services": {
+ "sla": 99.99,
+ "antiddos": "standard"
+ }
+ }
+ }
+ },
+ "configurations": [
+ {
+ "name": "extra_reservation",
+ "isCustom": true,
+ "isMandatory": false,
+ "values": null
+ }
+ ]
+ },
+ {
+ "name": "26adv01",
+ "description": "AMD EPYC 4245P",
+ "blobs": {
+ "technical": {
+ "server": {
+ "cpu": {
+ "boost": 5.4,
+ "brand": "AMD",
+ "cores": 6,
+ "model": "EPYC 4245P",
+ "score": 31075,
+ "number": 1,
+ "threads": 12,
+ "frequency": 3.9
+ },
+ "frame": {
+ "size": "0.5U",
+ "model": "OVH",
+ "dualPowerSupply": false
+ },
+ "range": "advance",
+ "services": {
+ "sla": 99.95,
+ "antiddos": "standard"
+ }
+ }
+ }
+ },
+ "configurations": [
+ {
+ "name": "extra_reservation",
+ "isCustom": true,
+ "isMandatory": false,
+ "values": null
+ }
+ ]
+ }
+ ],
+ "addons": [
+ {
+ "planCode": "bandwidth-500-included-bf-us",
+ "invoiceName": "Unlimited traffic - 500Mbps bandwidth",
+ "addonFamilies": [],
+ "product": "bandwidth-500",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [],
+ "family": null,
+ "blobs": null
+ },
+ {
+ "planCode": "ram-48g-bf6-us",
+ "invoiceName": "48GB DDR4 ECC 2400MHz",
+ "addonFamilies": [],
+ "product": "ram-48g-ecc-2400",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [],
+ "family": null,
+ "blobs": null
+ },
+ {
+ "planCode": "softraid-12x4000sas-bf6-us",
+ "invoiceName": "12x HDD SAS 4TB Datacenter Class Soft RAID",
+ "addonFamilies": [],
+ "product": "softraid-12x4000sas",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [],
+ "family": null,
+ "blobs": null
+ },
+ {
+ "planCode": "bandwidth-500-bv-us",
+ "invoiceName": "500Mbps unmetered public bandwidth",
+ "addonFamilies": [],
+ "product": "bandwidth-500",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 0,
+ "capacities": [
+ "upgrade"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [],
+ "family": "public-bandwidth",
+ "blobs": null
+ },
+ {
+ "planCode": "ram-256g-bv-us",
+ "invoiceName": "256GB DDR3 ECC 1600MHz",
+ "addonFamilies": [],
+ "product": "ram-256g-ecc-1600",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [],
+ "family": null,
+ "blobs": null
+ },
+ {
+ "planCode": "softraid-2x240ssd-bv-us",
+ "invoiceName": "2x SSD SATA 240GB Datacenter Class Soft RAID",
+ "addonFamilies": [],
+ "product": "softraid-2x240ssd",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [],
+ "family": null,
+ "blobs": null
+ },
+ {
+ "planCode": "bandwidth-1000-burst-3gbps-hg-us",
+ "invoiceName": "1Gbps unmetered public bandwidth - 3Gbps burst",
+ "addonFamilies": [],
+ "product": "bandwidth-1000-burst-3gbps",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 0,
+ "capacities": [
+ "upgrade"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [],
+ "family": "public-bandwidth",
+ "blobs": null
+ },
+ {
+ "planCode": "softraid-2x6000sas-hg-us",
+ "invoiceName": "2x HDD SAS 6TB Datacenter Class Soft RAID",
+ "addonFamilies": [],
+ "product": "softraid-2x6000sas",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [],
+ "family": null,
+ "blobs": null
+ },
+ {
+ "planCode": "ram-192g-hg3-us",
+ "invoiceName": "192GB DDR4 ECC 2666MHz",
+ "addonFamilies": [],
+ "product": "ram-192g-ecc-2666",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [],
+ "family": null,
+ "blobs": null
+ },
+ {
+ "planCode": "ram-64g-on-die-ecc-5600-26game02-v4-us",
+ "invoiceName": "64GB DDR5 On-Die ECC 5600MHz",
+ "addonFamilies": [],
+ "product": "ram-64g-on-die-ecc-5600",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [],
+ "family": null,
+ "blobs": null
+ },
+ {
+ "planCode": "softraid-2x960nvme-26game02-v4-us",
+ "invoiceName": "2x SSD NVMe 960GB Enterprise Class Soft RAID",
+ "addonFamilies": [],
+ "product": "softraid-2x960nvme",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [],
+ "family": null,
+ "blobs": null
+ },
+ {
+ "planCode": "bandwidth-3000-adv-gen3-us",
+ "invoiceName": "3Gbps unmetered and guaranteed public bandwidth",
+ "addonFamilies": [],
+ "product": "bandwidth-3000",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 0,
+ "capacities": [
+ "upgrade"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [],
+ "family": "public-bandwidth",
+ "blobs": null
+ },
+ {
+ "planCode": "bandwidth-1000-game-gen4-us",
+ "invoiceName": "1Gbps unmetered public bandwidth",
+ "addonFamilies": [],
+ "product": "bandwidth-1000",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 0,
+ "capacities": [
+ "upgrade"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [],
+ "family": "public-bandwidth",
+ "blobs": null
+ },
+ {
+ "planCode": "bandwidth-10000-hgr-gen2-us",
+ "invoiceName": "10Gbps guaranteed unmetered public bandwidth",
+ "addonFamilies": [],
+ "product": "bandwidth-10000",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 0,
+ "capacities": [
+ "upgrade"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [],
+ "family": "public-bandwidth",
+ "blobs": null
+ },
+ {
+ "planCode": "bandwidth-5000-scale-gen2-us",
+ "invoiceName": "5Gbps guaranteed unmetered public bandwidth",
+ "addonFamilies": [],
+ "product": "bandwidth-5000",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 0,
+ "capacities": [
+ "upgrade"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [],
+ "family": "public-bandwidth",
+ "blobs": null
+ },
+ {
+ "planCode": "noraid-0-23scaleamd01-v3-us",
+ "invoiceName": "No storage drive",
+ "addonFamilies": [],
+ "product": "noraid-0",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 0,
+ "capacities": [
+ "upgrade"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [],
+ "family": "storage",
+ "blobs": null
+ },
+ {
+ "planCode": "ram-128g-ecc-4800-23scaleamd01-v3-us",
+ "invoiceName": "128GB DDR5 ECC 4800MHz",
+ "addonFamilies": [],
+ "product": "ram-128g-ecc-4800",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 0,
+ "capacities": [
+ "upgrade"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [],
+ "family": "memory",
+ "blobs": null
+ },
+ {
+ "planCode": "ram-256g-ecc-4800-24hci-a1-v2-us",
+ "invoiceName": "256GB DDR5 ECC 4800MHz",
+ "addonFamilies": [],
+ "product": "ram-256g-ecc-4800",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 0,
+ "capacities": [
+ "upgrade"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [],
+ "family": "memory",
+ "blobs": null
+ },
+ {
+ "planCode": "softraid-6x3840nvme-24hci-a1-v2-us",
+ "invoiceName": "6x SSD NVMe 3.84TB Enterprise Class Soft RAID",
+ "addonFamilies": [],
+ "product": "softraid-6x3840nvme",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 0,
+ "capacities": [
+ "upgrade"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [],
+ "family": "storage",
+ "blobs": null
+ },
+ {
+ "planCode": "ram-32g-ddr5-on-die-ecc-5600-26adv01-v7-us",
+ "invoiceName": "32GB DDR5 On-Die ECC 5600MHz",
+ "addonFamilies": [],
+ "product": "ram-32g-ddr5-on-die-ecc-5600",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 0,
+ "capacities": [
+ "upgrade"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [],
+ "family": "memory",
+ "blobs": null
+ },
+ {
+ "planCode": "softraid-2x960nvme-pcie-gen5-26adv01-v7-us",
+ "invoiceName": "2x SSD NVMe 960GB Datacenter Class Soft RAID",
+ "addonFamilies": [],
+ "product": "softraid-2x960nvme-pcie-gen5",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 0,
+ "capacities": [
+ "upgrade"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [],
+ "family": "storage",
+ "blobs": null
+ },
+ {
+ "planCode": "ram-32g-on-die-ecc-5200-24adv01-v3-us",
+ "invoiceName": "32GB DDR5 On-Die ECC 5200MHz",
+ "addonFamilies": [],
+ "product": "ram-32g-on-die-ecc-5200",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 0,
+ "capacities": [
+ "upgrade"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [],
+ "family": "memory",
+ "blobs": null
+ },
+ {
+ "planCode": "softraid-2x960nvme-pcie-gen4-24adv01-v3-us",
+ "invoiceName": "2x SSD NVMe 960GB Enterprise Class Soft RAID",
+ "addonFamilies": [],
+ "product": "softraid-2x960nvme-pcie-gen4",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 0,
+ "capacities": [
+ "upgrade"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [],
+ "family": "storage",
+ "blobs": null
+ },
+ {
+ "planCode": "bandwidth-3000-adv-gen4-us",
+ "invoiceName": "3Gbps unmetered and guaranteed public bandwidth",
+ "addonFamilies": [],
+ "product": "bandwidth-3000",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 0,
+ "capacities": [
+ "upgrade"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [],
+ "family": "public-bandwidth",
+ "blobs": null
+ }
+ ]
+}
\ No newline at end of file
\ No newline at end of file
new file mode 100644
new file mode 100644
@@ -0,0 +1,2409 @@
@@ -0,0 +1,2409 @@
+{
+ "catalogId": 3796,
+ "locale": {
+ "currencyCode": "USD",
+ "subsidiary": "US",
+ "taxRate": 0
+ },
+ "plans": [
+ {
+ "planCode": "24risegame012-ca",
+ "invoiceName": "RISE-GAME-1 | AMD Ryzen 5 5600X",
+ "addonFamilies": [
+ {
+ "name": "storage",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "softraid-2x512nvme-24risegame-ca"
+ ],
+ "default": "softraid-2x512nvme-24risegame-ca"
+ },
+ {
+ "name": "bandwidth",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "bandwidth-1000-rise-game-ca"
+ ],
+ "default": "bandwidth-1000-rise-game-ca"
+ },
+ {
+ "name": "memory",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "ram-32g-ecc-2400-24risegame01-ca",
+ "ram-64g-ecc-2400-24risegame01-ca"
+ ],
+ "default": "ram-32g-ecc-2400-24risegame01-ca"
+ }
+ ],
+ "product": "24risegame01",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": 10
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 9000000000,
+ "formattedPrice": "$90.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": 10
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 9000000000,
+ "formattedPrice": "$90.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [
+ {
+ "name": "dedicated_datacenter",
+ "isCustom": false,
+ "isMandatory": false,
+ "values": [
+ "bhs"
+ ]
+ },
+ {
+ "name": "dedicated_os",
+ "isCustom": false,
+ "isMandatory": true,
+ "values": [
+ "none_64.en"
+ ]
+ },
+ {
+ "name": "region",
+ "isCustom": false,
+ "isMandatory": true,
+ "values": [
+ "united_states"
+ ]
+ }
+ ],
+ "family": null,
+ "blobs": {
+ "commercial": {
+ "features": [
+ {
+ "name": "baremetal-server-usecases",
+ "value": "gaming"
+ }
+ ],
+ "name": "RISE-GAME-1"
+ }
+ }
+ },
+ {
+ "planCode": "24risegame012-us",
+ "invoiceName": "RISE-GAME-1 | AMD Ryzen 5 5600X",
+ "addonFamilies": [
+ {
+ "name": "memory",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "ram-32g-ecc-2400-24risegame01-us",
+ "ram-64g-ecc-2400-24risegame01-us"
+ ],
+ "default": "ram-32g-ecc-2400-24risegame01-us"
+ },
+ {
+ "name": "storage",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "softraid-2x512nvme-24risegame-us"
+ ],
+ "default": "softraid-2x512nvme-24risegame-us"
+ },
+ {
+ "name": "bandwidth",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "bandwidth-1000-rise-game-us"
+ ],
+ "default": "bandwidth-1000-rise-game-us"
+ }
+ ],
+ "product": "24risegame01",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": 10
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 9000000000,
+ "formattedPrice": "$90.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": 10
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 9000000000,
+ "formattedPrice": "$90.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [
+ {
+ "name": "dedicated_datacenter",
+ "isCustom": false,
+ "isMandatory": false,
+ "values": [
+ "vin",
+ "hil"
+ ]
+ },
+ {
+ "name": "dedicated_os",
+ "isCustom": false,
+ "isMandatory": true,
+ "values": [
+ "none_64.en"
+ ]
+ },
+ {
+ "name": "region",
+ "isCustom": false,
+ "isMandatory": true,
+ "values": [
+ "united_states"
+ ]
+ }
+ ],
+ "family": null,
+ "blobs": {
+ "commercial": {
+ "features": [
+ {
+ "name": "baremetal-server-usecases",
+ "value": "gaming"
+ }
+ ],
+ "name": "RISE-GAME-1"
+ }
+ }
+ },
+ {
+ "planCode": "26sk50a-v1-us",
+ "invoiceName": "KS-5-A | Intel Xeon E-2274G",
+ "addonFamilies": [
+ {
+ "name": "storage",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "softraid-2x960nvme-2x6000sa-26sk50a-v1-us",
+ "softraid-2x960nvme-26sk50a-v1-us",
+ "softraid-2x1920nvme-26sk50a-v1-us",
+ "softraid-3x1920nvme-26sk50a-v1-us",
+ "softraid-2x3840nvme-26sk50a-v1-us",
+ "softraid-3x6000sa-26sk50a-v1-us"
+ ],
+ "default": "softraid-2x960nvme-26sk50a-v1-us"
+ },
+ {
+ "name": "memory",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "ram-32g-ecc-2666-26sk50a-v1-us",
+ "ram-64g-ecc-2666-26sk50a-v1-us"
+ ],
+ "default": "ram-32g-ecc-2666-26sk50a-v1-us"
+ },
+ {
+ "name": "bandwidth",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "bandwidth-500-ks-gen0-us"
+ ],
+ "default": "bandwidth-500-ks-gen0-us"
+ }
+ ],
+ "product": "26sk50a",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": 10
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 3000000000,
+ "formattedPrice": "$30.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": 10
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 3000000000,
+ "formattedPrice": "$30.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [
+ {
+ "name": "dedicated_os",
+ "isCustom": false,
+ "isMandatory": true,
+ "values": [
+ "none_64.en"
+ ]
+ },
+ {
+ "name": "region",
+ "isCustom": false,
+ "isMandatory": true,
+ "values": [
+ "united_states"
+ ]
+ },
+ {
+ "name": "enable-backup",
+ "isCustom": false,
+ "isMandatory": false,
+ "values": [
+ "true",
+ "false"
+ ]
+ },
+ {
+ "name": "dedicated_datacenter",
+ "isCustom": false,
+ "isMandatory": true,
+ "values": [
+ "hil",
+ "vin"
+ ]
+ }
+ ],
+ "family": null,
+ "blobs": {
+ "commercial": {
+ "features": [
+ {
+ "name": "baremetal-server-usecases",
+ "value": "bdd,dev-env,email"
+ }
+ ],
+ "name": "KS-5-A"
+ }
+ }
+ },
+ {
+ "planCode": "24rise092-us",
+ "invoiceName": "RISE-9 | AMD Epyc 7642",
+ "addonFamilies": [
+ {
+ "name": "memory",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "ram-256g-ecc-2933-24rise09-us",
+ "ram-512g-ecc-2933-24rise09-us",
+ "ram-1024g-ecc-2933-24rise09-us"
+ ],
+ "default": "ram-256g-ecc-2933-24rise09-us"
+ },
+ {
+ "name": "bandwidth",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "bandwidth-2000-24rise-us",
+ "bandwidth-1000-24rise-us",
+ "bandwidth-3000-24rise-us"
+ ],
+ "default": "bandwidth-1000-24rise-us"
+ },
+ {
+ "name": "storage",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "softraid-4x1920nvme-24rise-us",
+ "softraid-4x3840nvme-24rise-us",
+ "softraid-0disk-24rise-us",
+ "softraid-2x3840nvme-24rise-us",
+ "softraid-2x1920nvme-24rise-us"
+ ],
+ "default": "softraid-0disk-24rise-us"
+ }
+ ],
+ "product": "24rise09",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": 10
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 26000000000,
+ "formattedPrice": "$260.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": 10
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 26000000000,
+ "formattedPrice": "$260.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [
+ {
+ "name": "dedicated_os",
+ "isCustom": false,
+ "isMandatory": true,
+ "values": [
+ "none_64.en"
+ ]
+ },
+ {
+ "name": "region",
+ "isCustom": false,
+ "isMandatory": true,
+ "values": [
+ "united_states"
+ ]
+ },
+ {
+ "name": "dedicated_datacenter",
+ "isCustom": false,
+ "isMandatory": true,
+ "values": [
+ "hil",
+ "vin"
+ ]
+ }
+ ],
+ "family": null,
+ "blobs": {
+ "commercial": {
+ "features": [
+ {
+ "name": "baremetal-server-usecases",
+ "value": "vdi,bdd,hpc,virtualisation-containerisation-orchestration"
+ }
+ ],
+ "name": "RISE-9"
+ }
+ }
+ },
+ {
+ "planCode": "24sys03-v1-us",
+ "invoiceName": "SYS-3 | Intel Xeon-E 2288G",
+ "addonFamilies": [
+ {
+ "name": "memory",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "ram-32g-ecc-2666-24sys03-v1-us",
+ "ram-64g-ecc-2666-24sys03-v1-us",
+ "ram-128g-ecc-2666-24sys03-v1-us"
+ ],
+ "default": "ram-32g-ecc-2666-24sys03-v1-us"
+ },
+ {
+ "name": "storage",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "softraid-2x960nvme-24sys03-v1-us",
+ "hybridsoftraid-2x6000sa-2x960nvme-24sys03-v1-us",
+ "softraid-2x1920nvme-24sys03-v1-us",
+ "softraid-3x1920nvme-24sys03-v1-us",
+ "softraid-3x4000sa-24sys03-v1-us"
+ ],
+ "default": "softraid-2x960nvme-24sys03-v1-us"
+ },
+ {
+ "name": "bandwidth",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "bandwidth-1000-24sys-us",
+ "bandwidth-2000-24sys-us"
+ ],
+ "default": "bandwidth-1000-24sys-us"
+ }
+ ],
+ "product": "24sys03",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": 10
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 6000000000,
+ "formattedPrice": "$60.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": 10
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 6000000000,
+ "formattedPrice": "$60.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [
+ {
+ "name": "dedicated_datacenter",
+ "isCustom": false,
+ "isMandatory": false,
+ "values": [
+ "hil",
+ "vin"
+ ]
+ },
+ {
+ "name": "dedicated_os",
+ "isCustom": false,
+ "isMandatory": true,
+ "values": [
+ "none_64.en"
+ ]
+ },
+ {
+ "name": "region",
+ "isCustom": false,
+ "isMandatory": true,
+ "values": [
+ "united_states"
+ ]
+ }
+ ],
+ "family": null,
+ "blobs": {
+ "commercial": {
+ "features": [
+ {
+ "name": "baremetal-server-usecases",
+ "value": "hosting,dev-env"
+ }
+ ],
+ "name": "SYS-3"
+ }
+ }
+ },
+ {
+ "planCode": "24rise01-v2-us",
+ "invoiceName": "RISE-1 | Intel Xeon-E 2386G",
+ "addonFamilies": [
+ {
+ "name": "bandwidth",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "bandwidth-1000-unguaranteed-rise-gen2-us"
+ ],
+ "default": "bandwidth-1000-unguaranteed-rise-gen2-us"
+ },
+ {
+ "name": "storage",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "softraid-2x960nvme-24rise01-v2-us",
+ "softraid-2x512nvme-24rise01-v2-us",
+ "softraid-4x3840nvme-24rise01-v2-us",
+ "hybridsoftraid-2x6000sa-2x512nvme-24rise01-v2-us",
+ "softraid-2x1920nvme-24rise01-v2-us",
+ "softraid-2x3840nvme-24rise01-v2-us",
+ "softraid-2x4000sa-24rise01-v2-us",
+ "softraid-2x6000sa-24rise01-v2-us",
+ "softraid-3x1920nvme-24rise01-v2-us",
+ "softraid-3x3840nvme-24rise01-v2-us",
+ "softraid-4x960nvme-24rise01-v2-us"
+ ],
+ "default": "softraid-2x512nvme-24rise01-v2-us"
+ },
+ {
+ "name": "memory",
+ "exclusive": true,
+ "mandatory": true,
+ "addons": [
+ "ram-32g-ecc-3200-24rise01-v2-us",
+ "ram-64g-ecc-3200-24rise01-v2-us",
+ "ram-128g-ecc-2933-24rise01-v2-us"
+ ],
+ "default": "ram-32g-ecc-3200-24rise01-v2-us"
+ }
+ ],
+ "product": "24rise01",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": 10
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 7000000000,
+ "formattedPrice": "$70.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": 10
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 7000000000,
+ "formattedPrice": "$70.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [
+ {
+ "name": "dedicated_datacenter",
+ "isCustom": false,
+ "isMandatory": false,
+ "values": [
+ "hil",
+ "vin"
+ ]
+ },
+ {
+ "name": "dedicated_os",
+ "isCustom": false,
+ "isMandatory": true,
+ "values": [
+ "none_64.en"
+ ]
+ },
+ {
+ "name": "region",
+ "isCustom": false,
+ "isMandatory": true,
+ "values": [
+ "united_states"
+ ]
+ }
+ ],
+ "family": null,
+ "blobs": {
+ "commercial": {
+ "features": [
+ {
+ "name": "baremetal-server-usecases",
+ "value": "hosting,confidential-computing,dev-env,email,bdd"
+ }
+ ],
+ "name": "RISE-1"
+ }
+ }
+ }
+ ],
+ "products": [
+ {
+ "name": "bandwidth-1000",
+ "description": "1Gbps unmetered and guaranteed public bandwidth",
+ "blobs": {
+ "technical": {
+ "bandwidth": {
+ "burst": 0,
+ "level": 1000,
+ "limit": 0,
+ "guaranteed": true
+ }
+ }
+ },
+ "configurations": []
+ },
+ {
+ "name": "bandwidth-500",
+ "description": "500 Mbps unmetered public bandwidth",
+ "blobs": {
+ "technical": {
+ "bandwidth": {
+ "burst": 0,
+ "level": 500,
+ "limit": 0,
+ "guaranteed": false
+ }
+ }
+ },
+ "configurations": []
+ },
+ {
+ "name": "ram-256g-ecc-2933",
+ "description": "256GB DDR4 ECC 2933MHz",
+ "blobs": {
+ "technical": {
+ "memory": {
+ "ecc": true,
+ "size": 256,
+ "ramType": "DDR4",
+ "frequency": 2933
+ }
+ }
+ },
+ "configurations": []
+ },
+ {
+ "name": "ram-32g-ecc-2400",
+ "description": "32GB DDR4 ECC 2400MHz",
+ "blobs": {
+ "technical": {
+ "memory": {
+ "ecc": true,
+ "size": 32,
+ "ramType": "DDR4",
+ "frequency": 2400
+ }
+ }
+ },
+ "configurations": []
+ },
+ {
+ "name": "ram-32g-ecc-2666",
+ "description": "32GB DDR4 ECC 2666MHz",
+ "blobs": {
+ "technical": {
+ "memory": {
+ "ecc": true,
+ "size": 32,
+ "ramType": "DDR4",
+ "frequency": 2666
+ }
+ }
+ },
+ "configurations": []
+ },
+ {
+ "name": "softraid-2x512nvme",
+ "description": "2x SSD NVMe 512GB Datacenter Class Soft RAID",
+ "blobs": {
+ "technical": {
+ "storage": {
+ "raid": "Soft RAID",
+ "disks": [
+ {
+ "specs": "M.2 80",
+ "usage": "data",
+ "number": 2,
+ "capacity": 512,
+ "interface": "NVMe",
+ "technology": "SSD"
+ }
+ ],
+ "hotSwap": false,
+ "raidDetails": {
+ "type": "Soft RAID"
+ }
+ }
+ }
+ },
+ "configurations": []
+ },
+ {
+ "name": "softraid-2x960nvme",
+ "description": "2x SSD NVMe 960GB Datacenter Class Soft RAID",
+ "blobs": {
+ "technical": {
+ "storage": {
+ "raid": "Soft RAID",
+ "disks": [
+ {
+ "specs": "M.2 80",
+ "usage": "data",
+ "number": 2,
+ "capacity": 960,
+ "interface": "NVMe",
+ "technology": "SSD"
+ }
+ ],
+ "hotSwap": false,
+ "raidDetails": {
+ "type": "Soft RAID"
+ }
+ }
+ }
+ },
+ "configurations": []
+ },
+ {
+ "name": "24risegame01",
+ "description": "AMD Ryzen 5 5600X",
+ "blobs": {
+ "technical": {
+ "server": {
+ "cpu": {
+ "boost": 4.6,
+ "brand": "AMD",
+ "cores": 6,
+ "model": "Ryzen 5 5600X",
+ "score": 22206,
+ "number": 1,
+ "threads": 12,
+ "frequency": 3.7
+ },
+ "frame": {
+ "size": "1U",
+ "model": "OVH",
+ "dualPowerSupply": false
+ },
+ "range": "rise",
+ "services": {
+ "sla": 99.95,
+ "antiddos": "game"
+ }
+ }
+ }
+ },
+ "configurations": [
+ {
+ "name": "extra_reservation",
+ "isCustom": true,
+ "isMandatory": false,
+ "values": null
+ }
+ ]
+ },
+ {
+ "name": "26sk50a",
+ "description": "Intel Xeon E-2274G",
+ "blobs": {
+ "technical": {
+ "server": {
+ "cpu": {
+ "boost": 4.9,
+ "brand": "Intel",
+ "cores": 4,
+ "model": "Xeon E-2274G",
+ "score": 11360,
+ "number": 1,
+ "threads": 8,
+ "frequency": 4
+ },
+ "frame": {
+ "size": "1U",
+ "model": "OVH",
+ "dualPowerSupply": false
+ },
+ "range": "kimsufi",
+ "services": {
+ "sla": 99.9,
+ "antiddos": "standard"
+ }
+ }
+ }
+ },
+ "configurations": [
+ {
+ "name": "extra_reservation",
+ "isCustom": true,
+ "isMandatory": false,
+ "values": null
+ }
+ ]
+ },
+ {
+ "name": "noraid-0",
+ "description": "No storage drive",
+ "blobs": {
+ "technical": {
+ "storage": {
+ "raid": "none",
+ "disks": [
+ {
+ "specs": "M.2 80",
+ "usage": "data",
+ "number": 0,
+ "capacity": 0,
+ "interface": "NVMe",
+ "technology": "SSD"
+ }
+ ],
+ "hotSwap": false,
+ "raidDetails": {
+ "type": "none"
+ }
+ }
+ }
+ },
+ "configurations": []
+ },
+ {
+ "name": "24rise09",
+ "description": "AMD Epyc 7642",
+ "blobs": {
+ "technical": {
+ "server": {
+ "cpu": {
+ "boost": 3.6,
+ "brand": "AMD",
+ "cores": 48,
+ "model": "Epyc 7642",
+ "number": 1,
+ "threads": 96,
+ "frequency": 2.3
+ },
+ "frame": {
+ "size": "1U",
+ "model": "OVH",
+ "dualPowerSupply": false
+ },
+ "range": "rise",
+ "services": {
+ "sla": 99.95,
+ "antiddos": "standard"
+ }
+ }
+ }
+ },
+ "configurations": [
+ {
+ "name": "extra_reservation",
+ "isCustom": true,
+ "isMandatory": false,
+ "values": null
+ }
+ ]
+ },
+ {
+ "name": "24sys03",
+ "description": "Intel Xeon-E 2288G",
+ "blobs": {
+ "technical": {
+ "server": {
+ "cpu": {
+ "boost": 5,
+ "brand": "Intel",
+ "cores": 8,
+ "model": "Xeon-E 2288G",
+ "score": 19000,
+ "number": 1,
+ "threads": 16,
+ "frequency": 3.7
+ },
+ "frame": {
+ "size": "1U",
+ "model": "OVH",
+ "dualPowerSupply": false
+ },
+ "range": "soyoustart",
+ "services": {
+ "sla": 99.9,
+ "antiddos": "standard"
+ }
+ }
+ }
+ },
+ "configurations": [
+ {
+ "name": "extra_reservation",
+ "isCustom": true,
+ "isMandatory": false,
+ "values": null
+ }
+ ]
+ },
+ {
+ "name": "ram-32g-ecc-3200",
+ "description": "32GB DDR4 ECC 3200MHz",
+ "blobs": {
+ "technical": {
+ "memory": {
+ "ecc": true,
+ "size": 32,
+ "ramType": "DDR4",
+ "frequency": 3200
+ }
+ }
+ },
+ "configurations": []
+ },
+ {
+ "name": "24rise01",
+ "description": "Intel Xeon-E 2386G",
+ "blobs": {
+ "technical": {
+ "server": {
+ "cpu": {
+ "boost": 4.7,
+ "brand": "Intel",
+ "cores": 6,
+ "model": "Xeon-E 2386G",
+ "score": 13976,
+ "number": 1,
+ "threads": 12,
+ "frequency": 3.5
+ },
+ "frame": {
+ "size": "0.5U",
+ "model": "OVH",
+ "dualPowerSupply": false
+ },
+ "range": "rise",
+ "services": {
+ "sla": 99.95,
+ "antiddos": "standard"
+ }
+ }
+ }
+ },
+ "configurations": [
+ {
+ "name": "extra_reservation",
+ "isCustom": true,
+ "isMandatory": false,
+ "values": null
+ }
+ ]
+ },
+ {
+ "name": "bandwidth-1000-unguaranteed",
+ "description": "1Gbps unmetered public bandwidth",
+ "blobs": {
+ "technical": {
+ "bandwidth": {
+ "burst": 0,
+ "level": 1000,
+ "limit": 0,
+ "guaranteed": false
+ }
+ }
+ },
+ "configurations": []
+ }
+ ],
+ "addons": [
+ {
+ "planCode": "bandwidth-1000-rise-game-us",
+ "invoiceName": "1Gbps unmetered public bandwidth",
+ "addonFamilies": [],
+ "product": "bandwidth-1000",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "upgrade"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [],
+ "family": "public-bandwidth",
+ "blobs": null
+ },
+ {
+ "planCode": "ram-256g-ecc-2933-24rise09-us",
+ "invoiceName": "256GB DDR4 ECC 2933MHz",
+ "addonFamilies": [],
+ "product": "ram-256g-ecc-2933",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [],
+ "family": null,
+ "blobs": null
+ },
+ {
+ "planCode": "ram-32g-ecc-2400-24risegame01-us",
+ "invoiceName": "32GB DDR4 ECC 2400MHz",
+ "addonFamilies": [],
+ "product": "ram-32g-ecc-2400",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [],
+ "family": null,
+ "blobs": null
+ },
+ {
+ "planCode": "softraid-2x512nvme-24risegame-us",
+ "invoiceName": "2x SSD NVMe 512GB Enterprise Class Soft RAID",
+ "addonFamilies": [],
+ "product": "softraid-2x512nvme",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [],
+ "family": null,
+ "blobs": null
+ },
+ {
+ "planCode": "ram-32g-ecc-2666-26sk50a-v1-us",
+ "invoiceName": "32GB DDR4 ECC 2666MHz",
+ "addonFamilies": [],
+ "product": "ram-32g-ecc-2666",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [],
+ "family": null,
+ "blobs": null
+ },
+ {
+ "planCode": "softraid-2x960nvme-26sk50a-v1-us",
+ "invoiceName": "2x SSD NVMe 960GB Enterprise Class Soft RAID",
+ "addonFamilies": [],
+ "product": "softraid-2x960nvme",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [],
+ "family": null,
+ "blobs": null
+ },
+ {
+ "planCode": "bandwidth-500-ks-gen0-us",
+ "invoiceName": "500Mbps unmetered public bandwidth",
+ "addonFamilies": [],
+ "product": "bandwidth-500",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 0,
+ "capacities": [
+ "upgrade"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [],
+ "family": "public-bandwidth",
+ "blobs": null
+ },
+ {
+ "planCode": "bandwidth-1000-24rise-us",
+ "invoiceName": "1Gbps unmetered and guaranteed public bandwidth",
+ "addonFamilies": [],
+ "product": "bandwidth-1000",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 0,
+ "capacities": [
+ "upgrade"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [],
+ "family": "public-bandwidth",
+ "blobs": null
+ },
+ {
+ "planCode": "softraid-0disk-24rise-us",
+ "invoiceName": "No storage drive",
+ "addonFamilies": [],
+ "product": "noraid-0",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [],
+ "family": null,
+ "blobs": null
+ },
+ {
+ "planCode": "ram-32g-ecc-2666-24sys03-v1-us",
+ "invoiceName": "32GB DDR4 ECC 2666MHz",
+ "addonFamilies": [],
+ "product": "ram-32g-ecc-2666",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [],
+ "family": null,
+ "blobs": null
+ },
+ {
+ "planCode": "softraid-2x960nvme-24sys03-v1-us",
+ "invoiceName": "2x SSD NVMe 960GB Enterprise Class Soft RAID",
+ "addonFamilies": [],
+ "product": "softraid-2x960nvme",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 0,
+ "capacities": [
+ "upgrade"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [],
+ "family": "storage",
+ "blobs": null
+ },
+ {
+ "planCode": "ram-32g-ecc-3200-24rise01-v2-us",
+ "invoiceName": "32GB DDR4 ECC 3200MHz",
+ "addonFamilies": [],
+ "product": "ram-32g-ecc-3200",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [],
+ "family": null,
+ "blobs": null
+ },
+ {
+ "planCode": "softraid-2x512nvme-24rise01-v2-us",
+ "invoiceName": "2x SSD NVMe 512GB Datacenter Class Soft RAID",
+ "addonFamilies": [],
+ "product": "softraid-2x512nvme",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 0,
+ "capacities": [
+ "upgrade"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [],
+ "family": "storage",
+ "blobs": null
+ },
+ {
+ "planCode": "bandwidth-1000-unguaranteed-rise-gen2-us",
+ "invoiceName": "1Gbps unmetered public bandwidth",
+ "addonFamilies": [],
+ "product": "bandwidth-1000-unguaranteed",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 0,
+ "capacities": [
+ "upgrade"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [],
+ "family": "public-bandwidth",
+ "blobs": null
+ },
+ {
+ "planCode": "bandwidth-1000-24sys-us",
+ "invoiceName": "1Gbps unmetered and guaranteed public bandwidth",
+ "addonFamilies": [],
+ "product": "bandwidth-1000",
+ "pricingType": "rental",
+ "consumptionConfiguration": null,
+ "pricings": [
+ {
+ "phase": 0,
+ "capacities": [
+ "installation"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 0,
+ "capacities": [
+ "upgrade"
+ ],
+ "commitment": 0,
+ "description": "rental (only applicable for 1 time)",
+ "interval": 0,
+ "intervalUnit": "none",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": 1
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ },
+ {
+ "phase": 1,
+ "capacities": [
+ "renew"
+ ],
+ "commitment": 0,
+ "description": "rental for 1 month",
+ "interval": 1,
+ "intervalUnit": "month",
+ "quantity": {
+ "min": 1,
+ "max": null
+ },
+ "repeat": {
+ "min": 1,
+ "max": null
+ },
+ "price": 0,
+ "formattedPrice": "$0.00 USD",
+ "tax": 0,
+ "mode": "default",
+ "strategy": "tiered",
+ "mustBeCompleted": false,
+ "type": "rental",
+ "promotions": [],
+ "engagementConfiguration": null
+ }
+ ],
+ "configurations": [],
+ "family": "public-bandwidth",
+ "blobs": null
+ }
+ ]
+}
\ No newline at end of file
\ No newline at end of file
@@ -19,7 +19,7 @@ const seed = (key) => seeds.find((s) => s.key === key);
@@ -19,7 +19,7 @@ const seed = (key) => seeds.find((s) => s.key === key);
const endpoint = (key) => seed(key).endpoints[0];
const endpoint = (key) => seed(key).endpoints[0];
t('both hosting seeds declare an api mapping the adapter accepts', () => {
t('both hosting seeds declare an api mapping the adapter accepts', () => {
- for (const key of ['vultr-plans', 'linode-types', 'ovhcloud-vps']) {
+ for (const key of ['vultr-plans', 'linode-types', 'ovhcloud-vps', 'ovhcloud-baremetal']) {
const s = seed(key);
const s = seed(key);
assert.ok(s, `${key} is seeded`);
assert.ok(s, `${key} is seeded`);
assert.strictEqual(s.type, 'api');
assert.strictEqual(s.type, 'api');
@@ -110,6 +110,50 @@ t('OVHcloud domain prices: one item per ending, the first year, renewal and tran
@@ -110,6 +110,50 @@ t('OVHcloud domain prices: one item per ending, the first year, renewal and tran
assert.strictEqual(by['co.uk'].transfer, 0, 'a free transfer stays 0; Host decides what 0 means per field');
assert.strictEqual(by['co.uk'].transfer, 0, 'a free transfer stays 0; Host decides what 0 means per field');
});
});
+
+t('OVHcloud dedicated servers: the bare-metal and Eco catalogs, each plan joined to its default addons and their products', () => {
+ const s = seed('ovhcloud-baremetal');
+ assert.deepStrictEqual([s.type, s.category, s.enabled, s.review_required], ['api', 'hosting', false, true]);
+ assert.strictEqual(s.endpoints.length, 2, 'one endpoint for the bare-metal catalog and one for Eco');
+ assert.deepStrictEqual(s.endpoints.map((e) => e.max_bytes), [40 * 1024 * 1024, 16 * 1024 * 1024]);
+ for (const ep of s.endpoints) assert.strictEqual(api.checkMapping(ep), null);
+ assert.strictEqual(validateSource(s).max_items, 200);
+
+ const main = api.parse(fx('ovhcloud-baremetal.json'), { url: s.endpoints[0].url, endpoint: s.endpoints[0], maxItems: 200 });
+ assert.deepStrictEqual([main.items.length, main.meta.filtered, main.skipped], [8, 2, 0]);
+ assert.deepStrictEqual(main.items.map((i) => i.identity).sort(), [
+ '20bv012-us', '20hg03-us', '22bf062-us', '23scaleamd01-v3-us', '24adv01-v3-us', '24hci-a1-v2-us', '26adv01-v7-us', '26game02-v4-us',
+ ]);
+ const by = Object.fromEntries(main.items.map((i) => [i.identity, i.fields]));
+ assert.deepStrictEqual(by['24adv01-v3-us'], {
+ product: '24adv01', currency: 'USD', range: 'advance',
+ cpu_cores: 6, cpu_sockets: 1, cpu_model: 'EPYC 4244P', cpu_brand: 'AMD', memory_gb: 32,
+ disk_capacity_gb: 960, disk_count: 2, disk_interface: 'NVMe', disk_technology: 'SSD',
+ bandwidth_mbps: 3000, bandwidth_limit: 0, price_monthly: 14700000000, setup_fee: 14700000000,
+ locations: ['vin', 'hil'],
+ });
+ // A legacy plan: no installation fee in the catalog ($0), two sockets, SATA SSDs, and a different bandwidth.
+ assert.deepStrictEqual([by['20bv012-us'].setup_fee, by['20bv012-us'].cpu_sockets, by['20bv012-us'].memory_gb, by['20bv012-us'].disk_capacity_gb, by['20bv012-us'].disk_count, by['20bv012-us'].bandwidth_mbps, by['20bv012-us'].price_monthly],
+ [0, 2, 256, 240, 2, 500, 10900000000]);
+ // HG-3's product states no socket count (the CPU model says "2x"); the adapter keeps null rather than inventing one.
+ assert.deepStrictEqual([by['20hg03-us'].cpu_cores, by['20hg03-us'].cpu_sockets, by['20hg03-us'].memory_gb, by['20hg03-us'].disk_capacity_gb, by['20hg03-us'].disk_count, by['20hg03-us'].setup_fee, by['20hg03-us'].price_monthly],
+ [28, null, 192, 6000, 2, 0, 97500000000]);
+ // A Scale plan sold with no drives: capacity 0 and count 0 are the catalog's own facts, not a missing field.
+ assert.deepStrictEqual([by['23scaleamd01-v3-us'].disk_capacity_gb, by['23scaleamd01-v3-us'].disk_count], [0, 0]);
+ assert.deepStrictEqual([by['24hci-a1-v2-us'].cpu_cores, by['24hci-a1-v2-us'].cpu_sockets, by['24hci-a1-v2-us'].disk_capacity_gb, by['24hci-a1-v2-us'].disk_count], [24, 2, 3840, 6]);
+ // The -eu copy and the legacy special edition are filtered by the -us plan-code pattern.
+ assert.ok(!main.items.some((i) => /-(?:eu|ca|se)$/.test(i.identity)));
+
+ const eco = api.parse(fx('ovhcloud-eco.json'), { url: s.endpoints[1].url, endpoint: s.endpoints[1], maxItems: 200 });
+ assert.deepStrictEqual([eco.items.length, eco.meta.filtered, eco.skipped], [5, 1, 0]);
+ const eby = Object.fromEntries(eco.items.map((i) => [i.identity, i.fields]));
+ assert.deepStrictEqual([eby['26sk50a-v1-us'].price_monthly, eby['26sk50a-v1-us'].setup_fee, eby['26sk50a-v1-us'].memory_gb, eby['26sk50a-v1-us'].disk_capacity_gb, eby['26sk50a-v1-us'].disk_count],
+ [3000000000, 3000000000, 32, 960, 2]);
+ assert.deepStrictEqual([eby['24risegame012-us'].range, eby['24risegame012-us'].cpu_cores, eby['24risegame012-us'].disk_capacity_gb, eby['24risegame012-us'].bandwidth_mbps],
+ ['rise', 6, 512, 1000]);
+ assert.ok(!eco.items.some((i) => i.identity.endsWith('-ca')));
+});
+
t('the registry accepts category hosting and refuses an unknown category', () => {
t('the registry accepts category hosting and refuses an unknown category', () => {
const rec = validateSource(seed('vultr-plans'));
const rec = validateSource(seed('vultr-plans'));
assert.strictEqual(rec.category, 'hosting');
assert.strictEqual(rec.category, 'hosting');