From 0fbc4194732b1eca97c9e6ce448eb9b04290708c Mon Sep 17 00:00:00 2001 From: Palabola Date: Wed, 14 Aug 2024 20:33:47 +0200 Subject: [PATCH 01/66] SDK update --- sdk/Ai.ts | 2 + sdk/Healthcheck.ts | 1 + sdk/Regions.ts | 1 + sdk/Server.ts | 1 + sdk/ServerPrices.ts | 1 + sdk/ServerPricesRoute.ts | 1 + sdk/Servers.ts | 1 + sdk/Table.ts | 9 ++ sdk/data-contracts.ts | 152 +++++++++++++++++++++++++ sdk/openapi.json | 2 +- src/app/app.routes.ts | 1 + src/app/services/keeper-api.service.ts | 12 +- 12 files changed, 182 insertions(+), 2 deletions(-) diff --git a/sdk/Ai.ts b/sdk/Ai.ts index 2b3b8f62..99f08a7f 100644 --- a/sdk/Ai.ts +++ b/sdk/Ai.ts @@ -41,6 +41,7 @@ export class Ai { path: `/ai/assist_server_filters`, method: "GET", query: query, + format: "json", ...params, }); /** @@ -59,6 +60,7 @@ export class Ai { path: `/ai/assist_server_price_filters`, method: "GET", query: query, + format: "json", ...params, }); } diff --git a/sdk/Healthcheck.ts b/sdk/Healthcheck.ts index 2e83c5b9..497ed372 100644 --- a/sdk/Healthcheck.ts +++ b/sdk/Healthcheck.ts @@ -31,6 +31,7 @@ export class Healthcheck { this.http.request({ path: `/healthcheck`, method: "GET", + format: "json", ...params, }); } diff --git a/sdk/Regions.ts b/sdk/Regions.ts index 729a04d3..db6e8763 100644 --- a/sdk/Regions.ts +++ b/sdk/Regions.ts @@ -32,6 +32,7 @@ export class Regions { path: `/regions`, method: "GET", query: query, + format: "json", ...params, }); } diff --git a/sdk/Server.ts b/sdk/Server.ts index da234338..01da318d 100644 --- a/sdk/Server.ts +++ b/sdk/Server.ts @@ -39,6 +39,7 @@ export class Server { path: `/server/${vendor}/${server}`, method: "GET", query: query, + format: "json", ...params, }); } diff --git a/sdk/ServerPrices.ts b/sdk/ServerPrices.ts index 90ed2fd1..1c935cc6 100644 --- a/sdk/ServerPrices.ts +++ b/sdk/ServerPrices.ts @@ -36,6 +36,7 @@ export class ServerPrices { path: `/server_prices`, method: "GET", query: query, + format: "json", ...params, }); } diff --git a/sdk/ServerPricesRoute.ts b/sdk/ServerPricesRoute.ts index a9e150cd..a12434c3 100644 --- a/sdk/ServerPricesRoute.ts +++ b/sdk/ServerPricesRoute.ts @@ -126,6 +126,7 @@ export namespace ServerPrices { | "4" | "5" | "6" + | "7" | "af-south-1" | "ap-east-1" | "ap-northeast-1" diff --git a/sdk/Servers.ts b/sdk/Servers.ts index 2c49825d..fed3ec11 100644 --- a/sdk/Servers.ts +++ b/sdk/Servers.ts @@ -32,6 +32,7 @@ export class Servers { path: `/servers`, method: "GET", query: query, + format: "json", ...params, }); } diff --git a/sdk/Table.ts b/sdk/Table.ts index cf3483eb..f2d99731 100644 --- a/sdk/Table.ts +++ b/sdk/Table.ts @@ -41,6 +41,7 @@ export class Table { this.http.request({ path: `/table/benchmark`, method: "GET", + format: "json", ...params, }); /** @@ -55,6 +56,7 @@ export class Table { this.http.request({ path: `/table/country`, method: "GET", + format: "json", ...params, }); /** @@ -69,6 +71,7 @@ export class Table { this.http.request({ path: `/table/compliance_framework`, method: "GET", + format: "json", ...params, }); /** @@ -83,6 +86,7 @@ export class Table { this.http.request({ path: `/table/vendor`, method: "GET", + format: "json", ...params, }); /** @@ -97,6 +101,7 @@ export class Table { this.http.request({ path: `/table/region`, method: "GET", + format: "json", ...params, }); /** @@ -111,6 +116,7 @@ export class Table { this.http.request({ path: `/table/zone`, method: "GET", + format: "json", ...params, }); /** @@ -125,6 +131,7 @@ export class Table { this.http.request({ path: `/table/server`, method: "GET", + format: "json", ...params, }); /** @@ -139,6 +146,7 @@ export class Table { this.http.request({ path: `/table/storage`, method: "GET", + format: "json", ...params, }); /** @@ -153,6 +161,7 @@ export class Table { this.http.request({ path: `/table/server/meta`, method: "GET", + format: "json", ...params, }); } diff --git a/sdk/data-contracts.ts b/sdk/data-contracts.ts index 31ddb996..b7c09075 100644 --- a/sdk/data-contracts.ts +++ b/sdk/data-contracts.ts @@ -872,6 +872,7 @@ export enum Regions { Value4 = "4", Value5 = "5", Value6 = "6", + Value7 = "7", AfSouth1 = "af-south-1", ApEast1 = "ap-east-1", ApNortheast1 = "ap-northeast-1", @@ -1365,6 +1366,8 @@ export interface ServerPKs { observed_at?: string; /** Score */ score?: number | null; + /** Price */ + price?: number | null; /** Score Per Price */ score_per_price?: number | null; vendor: VendorBase; @@ -1577,6 +1580,8 @@ export interface ServerPKsWithPrices { observed_at?: string; /** Score */ score?: number | null; + /** Price */ + price?: number | null; /** Score Per Price */ score_per_price?: number | null; vendor: VendorBase; @@ -1946,6 +1951,8 @@ export interface ServerWithScore { observed_at?: string; /** Score */ score?: number | null; + /** Price */ + price?: number | null; /** Score Per Price */ score_per_price?: number | null; } @@ -2032,6 +2039,121 @@ export interface Storage { observed_at?: string; } +/** StorageBase */ +export interface StorageBase { + /** + * Vendor Id + * Reference to the Vendor. + */ + vendor_id: string; + /** + * Storage Id + * Unique identifier, as called at the Vendor. + */ + storage_id: string; + /** + * Name + * Human-friendly name. + */ + name: string; + /** + * Description + * Short description. + */ + description: string | null; + /** High-level category of the storage, e.g. HDD or SDD. */ + storage_type: StorageType; + /** + * Max Iops + * Maximum Input/Output Operations Per Second. + */ + max_iops?: number | null; + /** + * Max Throughput + * Maximum Throughput (MiB/s). + */ + max_throughput?: number | null; + /** + * Min Size + * Minimum required size (GiB). + */ + min_size?: number | null; + /** + * Max Size + * Maximum possible size (GiB). + */ + max_size?: number | null; + /** + * Status of the resource (active or inactive). + * @default "active" + */ + status?: Status; + /** + * Observed At + * Timestamp of the last observation. + * @format date-time + */ + observed_at?: string; +} + +/** StoragePriceWithPKs */ +export interface StoragePriceWithPKs { + /** + * Vendor Id + * Reference to the Vendor. + */ + vendor_id: string; + /** + * Region Id + * Reference to the Region. + */ + region_id: string; + /** + * Storage Id + * Reference to the Storage. + */ + storage_id: string; + /** Billing unit of the pricing model. */ + unit: PriceUnit; + /** + * Price + * Actual price of a billing unit. + */ + price: number; + /** + * Price Upfront + * Price to be paid when setting up the resource. + * @default 0 + */ + price_upfront?: number; + /** + * Price Tiered + * List of pricing tiers with min/max thresholds and actual prices. + * @default [] + */ + price_tiered?: PriceTier[]; + /** + * Currency + * Currency of the prices. + * @default "USD" + */ + currency?: string; + /** + * Status of the resource (active or inactive). + * @default "active" + */ + status?: Status; + /** + * Observed At + * Timestamp of the last observation. + * @format date-time + */ + observed_at?: string; + region: RegionBaseWithPKs; + vendor: VendorBase; + storage: StorageBase; +} + /** * StorageType * Type of a storage, e.g. HDD or SSD. @@ -2043,6 +2165,19 @@ export enum StorageType { Network = "network", } +/** Storages */ +export enum Storages { + Value30001 = "30001", + Value30002 = "30002", + Value30007 = "30007", + Block = "block", + Gp2 = "gp2", + Gp3 = "gp3", + Sc1 = "sc1", + St1 = "st1", + Standard = "standard", +} + /** ValidationError */ export interface ValidationError { /** Location */ @@ -2359,6 +2494,22 @@ export type TableServerTableServerGetData = Server[]; /** Response Table Storage Table Storage Get */ export type TableStorageTableStorageGetData = Storage[]; +export interface TableStoragePricesStoragePricesGetParams { + /** + * Vendor id + * Identifier of the cloud provider vendor. + */ + vendor: "aws" | "gcp" | "hcloud"; + /** + * Storage id + * Identifier of the storage type. + */ + storage_type: "30001" | "30002" | "30007" | "block" | "gp2" | "gp3" | "sc1" | "st1" | "standard"; +} + +/** Response Table Storage Prices Storage Prices Get */ +export type TableStoragePricesStoragePricesGetData = StoragePriceWithPKs[]; + export type TableMetadataServerTableServerMetaGetData = ServerTableMetaData; export interface SearchRegionsRegionsGetParams { @@ -2601,6 +2752,7 @@ export interface SearchServerPricesServerPricesGetParams { | "4" | "5" | "6" + | "7" | "af-south-1" | "ap-east-1" | "ap-northeast-1" diff --git a/sdk/openapi.json b/sdk/openapi.json index c04fd7a1..02a141bf 100644 --- a/sdk/openapi.json +++ b/sdk/openapi.json @@ -1 +1 @@ -{"openapi":"3.1.0","info":{"title":"Spare Cores (SC) Keeper","description":"\nAPI to search and serve data collected on cloud compute resources.\n\n## Licensing\n\nThis is a free service provided by the Spare Cores team, without any warranty.\nThe source code of the API is licensed under MPL-2.0, find more details at\n.\n\n## References\n\n- Spare Cores: \n- SC Keeper: \n- SC Crawler: \n- SC Data: \n","contact":{"name":"Spare Cores Team","email":"social@sparecores.com"},"license":{"name":"Mozilla Public License 2.0 (MPL 2.0)","url":"http://mozilla.org/MPL/2.0/"},"version":"0.0.1"},"paths":{"/healthcheck":{"get":{"tags":["Administrative endpoints"],"summary":"Healthcheck","description":"Return database hash and last udpated timestamp.","operationId":"healthcheck_healthcheck_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Healthcheck Healthcheck Get"}}}}}}},"/table/benchmark":{"get":{"tags":["Table dumps"],"summary":"Table Benchmark","description":"Return the Benchmark table as-is, without filtering options or relationships resolved.","operationId":"table_benchmark_table_benchmark_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Benchmark"},"type":"array","title":"Response Table Benchmark Table Benchmark Get"}}}}}}},"/table/country":{"get":{"tags":["Table dumps"],"summary":"Table Country","description":"Return the Country table as-is, without filtering options or relationships resolved.","operationId":"table_country_table_country_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Country"},"type":"array","title":"Response Table Country Table Country Get"}}}}}}},"/table/compliance_framework":{"get":{"tags":["Table dumps"],"summary":"Table Compliance Frameworks","description":"Return the ComplianceFramework table as-is, without filtering options or relationships resolved.","operationId":"table_compliance_frameworks_table_compliance_framework_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ComplianceFramework"},"type":"array","title":"Response Table Compliance Frameworks Table Compliance Framework Get"}}}}}}},"/table/vendor":{"get":{"tags":["Table dumps"],"summary":"Table Vendor","description":"Return the Vendor table as-is, without filtering options or relationships resolved.","operationId":"table_vendor_table_vendor_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Vendor"},"type":"array","title":"Response Table Vendor Table Vendor Get"}}}}}}},"/table/region":{"get":{"tags":["Table dumps"],"summary":"Table Region","description":"Return the Region table as-is, without filtering options or relationships resolved.","operationId":"table_region_table_region_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Region"},"type":"array","title":"Response Table Region Table Region Get"}}}}}}},"/table/zone":{"get":{"tags":["Table dumps"],"summary":"Table Zone","description":"Return the Zone table as-is, without filtering options or relationships resolved.","operationId":"table_zone_table_zone_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Zone"},"type":"array","title":"Response Table Zone Table Zone Get"}}}}}}},"/table/server":{"get":{"tags":["Table dumps"],"summary":"Table Server","description":"Return the Server table as-is, without filtering options or relationships resolved.","operationId":"table_server_table_server_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Server"},"type":"array","title":"Response Table Server Table Server Get"}}}}}}},"/table/storage":{"get":{"tags":["Table dumps"],"summary":"Table Storage","description":"Return the Storage table as-is, without filtering options or relationships resolved.","operationId":"table_storage_table_storage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Storage"},"type":"array","title":"Response Table Storage Table Storage Get"}}}}}}},"/table/server/meta":{"get":{"tags":["Table metadata"],"summary":"Table Metadata Server","description":"Server table and column names and comments.","operationId":"table_metadata_server_table_server_meta_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerTableMetaData"}}}}}}},"/regions":{"get":{"tags":["Query Resources"],"summary":"Search Regions","operationId":"search_regions_regions_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RegionPKs"},"title":"Response Search Regions Regions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}":{"get":{"tags":["Query Resources"],"summary":"Get Server","description":"Query a single server by its vendor id and either the server or, or its API reference.\n\nReturn dictionary includes all server fields, along\nwith the current prices per zone, and\nthe available benchmark scores.","operationId":"get_server_server__vendor___server__get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"Vendor ID.","title":"Vendor"},"description":"Vendor ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"Server ID or API reference.","title":"Server"},"description":"Server ID or API reference."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","title":"Currency"},"description":"Currency used for prices."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerPKsWithPrices"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/servers":{"get":{"tags":["Query Resources"],"summary":"Search Servers","operationId":"search_servers_servers_get","parameters":[{"name":"partial_name_or_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partial name or id","description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name.","category_id":"basic"},"description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name."},{"name":"vcpus_min","in":"query","required":false,"schema":{"type":"integer","maximum":128,"minimum":1,"title":"Minimum vCPUs","description":"Minimum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","default":1},"description":"Minimum number of virtual CPUs."},{"name":"architecture","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuArchitecture"}},{"type":"null"}],"title":"Processor architecture","description":"Processor architecture.","category_id":"processor","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"]},"description":"Processor architecture."},{"name":"benchmark_score_stressng_cpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"SCore","description":"Minimum stress-ng CPU workload score.","category_id":"processor"},"description":"Minimum stress-ng CPU workload score."},{"name":"memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum memory","description":"Minimum amount of memory in GBs.","category_id":"memory","unit":"GB","step":0.1},"description":"Minimum amount of memory in GBs."},{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active only","description":"Filter for active servers only.","category_id":"basic","default":true},"description":"Filter for active servers only."},{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"storage_size","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs) attached to the server.","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs) attached to the server."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"gpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"GPU count","description":"Minimum number of GPUs.","category_id":"gpu","unit":"GPUs"},"description":"Minimum number of GPUs."},{"name":"gpu_memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum GPU memory","description":"Minimum amount of GPU memory (GB) in each GPU.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of GPU memory (GB) in each GPU."},{"name":"gpu_memory_total","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total GPU memory","description":"Minimum amount of total GPU memory (GBs) in all GPUs.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of total GPU memory (GBs) in all GPUs."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited","default":50,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited"},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"vcpus","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPKs"},"title":"Response Search Servers Servers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server_prices":{"get":{"tags":["Query Resources"],"summary":"Search Server Prices","operationId":"search_server_prices_server_prices_get","parameters":[{"name":"partial_name_or_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partial name or id","description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name.","category_id":"basic"},"description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name."},{"name":"vcpus_min","in":"query","required":false,"schema":{"type":"integer","maximum":128,"minimum":1,"title":"Minimum vCPUs","description":"Minimum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","default":1},"description":"Minimum number of virtual CPUs."},{"name":"architecture","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuArchitecture"}},{"type":"null"}],"title":"Processor architecture","description":"Processor architecture.","category_id":"processor","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"]},"description":"Processor architecture."},{"name":"benchmark_score_stressng_cpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"SCore","description":"Minimum stress-ng CPU workload score.","category_id":"processor"},"description":"Minimum stress-ng CPU workload score."},{"name":"memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum memory","description":"Minimum amount of memory in GBs.","category_id":"memory","unit":"GB","step":0.1},"description":"Minimum amount of memory in GBs."},{"name":"price_max","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Maximum price","description":"Maximum price (USD/hr).","category_id":"price","step":0.0001},"description":"Maximum price (USD/hr)."},{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active only","description":"Filter for active servers only.","category_id":"basic","default":true},"description":"Filter for active servers only."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"allocation","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/Allocation"},{"type":"null"}],"title":"Allocation","description":"Server allocation method.","enum":["ondemand","reserved","spot"]},"description":"Server allocation method."},{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","ca-central-1","ca-west-1","cn-north-1","cn-northwest-1","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","il-central-1","me-central-1","me-south-1","sa-east-1","us-east-1","us-east-2","us-west-1","us-west-2"]},"description":"Identifier of the region."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"storage_size","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs) attached to the server.","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs) attached to the server."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"gpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"GPU count","description":"Minimum number of GPUs.","category_id":"gpu","unit":"GPUs"},"description":"Minimum number of GPUs."},{"name":"gpu_memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum GPU memory","description":"Minimum amount of GPU memory (GB) in each GPU.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of GPU memory (GB) in each GPU."},{"name":"gpu_memory_total","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total GPU memory","description":"Minimum amount of total GPU memory (GBs) in all GPUs.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of total GPU memory (GBs) in all GPUs."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited","default":50,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited"},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","default":"USD","title":"Currency"},"description":"Currency used for prices."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPriceWithPKs"},"title":"Response Search Server Prices Server Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_server_filters":{"get":{"tags":["AI"],"summary":"Assist Server Filters","description":"Extract Server JSON filters from freetext.","operationId":"assist_server_filters_ai_assist_server_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Server Filters Ai Assist Server Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_server_price_filters":{"get":{"tags":["AI"],"summary":"Assist Server Price Filters","description":"Extract ServerPrice JSON filters from freetext.","operationId":"assist_server_price_filters_ai_assist_server_price_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Server Price Filters Ai Assist Server Price Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Allocation":{"type":"string","enum":["ondemand","reserved","spot"],"title":"Allocation","description":"Server allocation options."},"Benchmark":{"properties":{"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Unique identifier of a specific Benchmark."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"framework":{"type":"string","title":"Framework","description":"The name of the benchmark framework/software/tool used."},"config_fields":{"type":"object","title":"Config Fields","description":"A dictionary of descriptions on the framework-specific config options, e.g. {\"bandwidth\": \"Memory amount to use for compression in MB.\"}.","default":{}},"measurement":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Measurement","description":"The name of measurement recoreded in the benchmark."},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit","description":"Optional unit of measurement for the benchmark score."},"higher_is_better":{"type":"boolean","title":"Higher Is Better","description":"If higher benchmark score means better performance, or vica versa.","default":true},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["benchmark_id","name","description","framework"],"title":"Benchmark","description":"Benchmark scenario definitions.\n\nAttributes:\n benchmark_id (str): Unique identifier of a specific Benchmark.\n name (str): Human-friendly name.\n description (typing.Optional[str]): Short description.\n framework (str): The name of the benchmark framework/software/tool used.\n config_fields (dict): A dictionary of descriptions on the framework-specific config options, e.g. {\"bandwidth\": \"Memory amount to use for compression in MB.\"}.\n measurement (typing.Optional[str]): The name of measurement recoreded in the benchmark.\n unit (typing.Optional[str]): Optional unit of measurement for the benchmark score.\n higher_is_better (bool): If higher benchmark score means better performance, or vica versa.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"benchmark_id":"geekbench:hdr","config_fields":{"cores":"Single-Core or Multi-Core peformance tests.","framework_version":"Version number of geekbench."},"description":"Blends six 16MP SDR photos to create a single HDR photo, using a recovery process and radiance map construction (Debevec and Malik 1997), and a tone mapping algorithm (Reinhard and Devlin 2005).The score is calibrated against a baseline score of 2,500 (Dell Precision 3460 with a Core i7-12700 processor) as per the Geekbench 6 Benchmark Internals.","framework":"geekbench","higher_is_better":true,"measurement":"hdr","name":"Geekbench: HDR","observed_at":"2024-06-25T08:54:46.807149","status":"active"}]},"BenchmarkScoreBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Reference to the Benchmark."},"config":{"type":"object","title":"Config","description":"Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}","default":{}},"score":{"type":"number","title":"Score","description":"The resulting score of the benchmark."},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Optional note, comment or context on the benchmark score."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","benchmark_id","score"],"title":"BenchmarkScoreBase"},"ComplianceFramework":{"properties":{"compliance_framework_id":{"type":"string","title":"Compliance Framework Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"abbreviation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abbreviation","description":"Short abbreviation of the Framework name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Description of the framework in a few paragrahs, outlining key features and characteristics for reference."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Framework's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage with more information on the Framework."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["compliance_framework_id","name","abbreviation","description"],"title":"ComplianceFramework","description":"List of Compliance Frameworks, such as HIPAA or SOC 2 Type 1.\n\nAttributes:\n compliance_framework_id (str): Unique identifier.\n name (str): Human-friendly name.\n abbreviation (typing.Optional[str]): Short abbreviation of the Framework name.\n description (typing.Optional[str]): Description of the framework in a few paragrahs, outlining key features and characteristics for reference.\n logo (typing.Optional[str]): Publicly accessible URL to the image of the Framework's logo.\n homepage (typing.Optional[str]): Public homepage with more information on the Framework.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"abbreviation":"HIPAA","compliance_framework_id":"hipaa","description":"HIPAA (Health Insurance Portability and Accountability Act) is a U.S. federal law designed to safeguard the privacy and security of individuals' health information, establishing standards for its protection and regulating its use in the healthcare industry.","homepage":"https://www.cdc.gov/phlp/publications/topic/hipaa.html","name":"The Health Insurance Portability and Accountability Act","observed_at":"2024-06-25T08:54:46.804973","status":"active"}]},"ComplianceFrameworks":{"type":"string","enum":["hipaa","iso27001","soc2t2"],"title":"ComplianceFrameworks"},"Country":{"properties":{"country_id":{"type":"string","title":"Country Id","description":"Country code by ISO 3166 alpha-2."},"continent":{"type":"string","title":"Continent","description":"Continent name."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["country_id","continent"],"title":"Country","description":"Country and continent mapping.\n\nAttributes:\n country_id (str): Country code by ISO 3166 alpha-2.\n continent (str): Continent name.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"continent":"Asia","country_id":"AE","observed_at":"2024-06-25T08:54:46.803167","status":"active"}]},"CountryBase":{"properties":{"country_id":{"type":"string","title":"Country Id","description":"Country code by ISO 3166 alpha-2."},"continent":{"type":"string","title":"Continent","description":"Continent name."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["country_id","continent"],"title":"CountryBase"},"Cpu":{"properties":{"manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Manufacturer"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cores"},"threads":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Threads"},"l1_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L1 Cache Size"},"l2_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L2 Cache Size"},"l3_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L3 Cache Size"},"microcode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Microcode"},"capabilities":{"items":{"type":"string"},"type":"array","title":"Capabilities","default":[]},"bugs":{"items":{"type":"string"},"type":"array","title":"Bugs","default":[]},"bogomips":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Bogomips"}},"type":"object","title":"Cpu","description":"CPU details."},"CpuAllocation":{"type":"string","enum":["Shared","Burstable","Dedicated"],"title":"CpuAllocation","description":"CPU allocation methods at cloud vendors."},"CpuArchitecture":{"type":"string","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"],"title":"CpuArchitecture","description":"CPU architectures."},"DdrGeneration":{"type":"string","enum":["DDR3","DDR4","DDR5"],"title":"DdrGeneration","description":"Generation of the DDR SDRAM."},"Disk":{"properties":{"size":{"type":"integer","title":"Size","default":0},"storage_type":{"$ref":"#/components/schemas/StorageType"}},"type":"object","required":["storage_type"],"title":"Disk","description":"Disk definition based on size and storage type."},"Gpu":{"properties":{"manufacturer":{"type":"string","title":"Manufacturer"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"memory":{"type":"integer","title":"Memory"},"firmware_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firmware Version"},"bios_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bios Version"},"graphics_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Graphics Clock"},"sm_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sm Clock"},"mem_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Mem Clock"},"video_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Video Clock"}},"type":"object","required":["manufacturer","memory"],"title":"Gpu","description":"GPU accelerator details."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"IdNameAndDescriptionAndCategory":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"id":{"type":"string","title":"Id"},"category":{"type":"string","title":"Category"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"}},"type":"object","required":["name","description","id","category","unit"],"title":"IdNameAndDescriptionAndCategory"},"NameAndDescription":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"}},"type":"object","required":["name","description"],"title":"NameAndDescription"},"OrderDir":{"type":"string","enum":["asc","desc"],"title":"OrderDir"},"PriceTier":{"properties":{"lower":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Lower"},"upper":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Upper"},"price":{"type":"number","title":"Price"}},"type":"object","required":["lower","upper","price"],"title":"PriceTier","description":"Price tier definition.\n\nAs standard JSON does not support Inf, NaN etc values,\nthose should be passed as string, e.g. for the upper bound.\n\nSee [float_inf_to_str][sc_crawler.utils.float_inf_to_str] for\nconverting an infinite numeric value into \"Infinity\"."},"PriceUnit":{"type":"string","enum":["year","month","hour","GiB","GB","GB/month"],"title":"PriceUnit","description":"Supported units for the price tables."},"Region":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id"],"title":"Region","description":"Regions of Vendors.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n aliases (typing.List[str]): List of other commonly used names for the same Region.\n country_id (str): Reference to the Country, where the Region is located.\n state (typing.Optional[str]): Optional state/administrative area of the Region's location within the Country.\n city (typing.Optional[str]): Optional city name of the Region's location.\n address_line (typing.Optional[str]): Optional address line of the Region's location.\n zip_code (typing.Optional[str]): Optional ZIP code of the Region's location.\n lon (typing.Optional[float]): Longitude coordinate of the Region's known or approximate location.\n lat (typing.Optional[float]): Latitude coordinate of the Region's known or approximate location.\n founding_year (typing.Optional[int]): 4-digit year when the Region was founded.\n green_energy (typing.Optional[bool]): If the Region is 100% powered by renewable energy.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-06-25T08:24:48.467411","region_id":"af-south-1","status":"active","vendor_id":"aws"}]},"RegionBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id"],"title":"RegionBase"},"RegionBaseWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"country":{"$ref":"#/components/schemas/CountryBase"}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id","country"],"title":"RegionBaseWithPKs"},"RegionPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"vendor":{"$ref":"#/components/schemas/VendorBase"}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id","vendor"],"title":"RegionPKs","examples":[{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-06-25T08:24:48.467411","region_id":"af-south-1","status":"active","vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-06-25T08:54:46.807804","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws"}]},"Regions":{"type":"string","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","ca-central-1","ca-west-1","cn-north-1","cn-northwest-1","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","il-central-1","me-central-1","me-south-1","sa-east-1","us-east-1","us-east-2","us-west-1","us-west-2"],"title":"Regions"},"Server":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (MiB)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (MiB)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (MiB)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"Server","description":"Server types.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n server_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n description (typing.Optional[str]): Short description.\n family (typing.Optional[str]): Server family, e.g. General-purpose machine (GCP), or M5g (AWS).\n vcpus (int): Default number of virtual CPUs (vCPU) of the server.\n hypervisor (typing.Optional[str]): Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated.\n cpu_allocation (CpuAllocation): Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated.\n cpu_cores (typing.Optional[int]): Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled.\n cpu_speed (typing.Optional[float]): Vendor-reported maximum CPU clock speed (GHz).\n cpu_architecture (CpuArchitecture): CPU architecture (arm64, arm64_mac, i386, or x86_64).\n cpu_manufacturer (typing.Optional[str]): The manufacturer of the primary processor, e.g. Intel or AMD.\n cpu_family (typing.Optional[str]): The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9.\n cpu_model (typing.Optional[str]): The model number of the primary processor, e.g. 9750H.\n cpu_l1_cache (typing.Optional[int]): L1 cache size (MiB).\n cpu_l2_cache (typing.Optional[int]): L2 cache size (MiB).\n cpu_l3_cache (typing.Optional[int]): L3 cache size (MiB).\n cpu_flags (typing.List[str]): CPU features/flags.\n cpus (typing.List[sc_crawler.table_fields.Cpu]): JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.\n memory_amount (int): RAM amount (MiB).\n memory_generation (typing.Optional[sc_crawler.table_fields.DdrGeneration]): Generation of the DDR SDRAM, e.g. DDR4 or DDR5.\n memory_speed (typing.Optional[int]): DDR SDRAM clock rate (Mhz).\n memory_ecc (typing.Optional[bool]): If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption.\n gpu_count (int): Number of GPU accelerator(s).\n gpu_memory_min (typing.Optional[int]): Memory (MiB) allocated to the lowest-end GPU accelerator.\n gpu_memory_total (typing.Optional[int]): Overall memory (MiB) allocated to all the GPU accelerator(s).\n gpu_manufacturer (typing.Optional[str]): The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD.\n gpu_family (typing.Optional[str]): The product family of the primary GPU accelerator, e.g. Turing.\n gpu_model (typing.Optional[str]): The model number of the primary GPU accelerator, e.g. Tesla T4.\n gpus (typing.List[sc_crawler.table_fields.Gpu]): JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.\n storage_size (int): Overall size (GB) of the disk(s).\n storage_type (typing.Optional[sc_crawler.table_fields.StorageType]): Primary disk type, e.g. HDD, SSD, NVMe SSD, or network).\n storages (typing.List[sc_crawler.table_fields.Disk]): JSON array of disks attached to the server, including the size (MiB) and type of each disk.\n network_speed (typing.Optional[float]): The baseline network performance (Gbps) of the network card.\n inbound_traffic (float): Amount of complimentary inbound traffic (GB) per month.\n outbound_traffic (float): Amount of complimentary outbound traffic (GB) per month.\n ipv4 (int): Number of complimentary IPv4 address(es).\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-06-25T08:25:33.452280","outbound_traffic":0.0,"score":42,"score_per_price":3.142857142857143,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"}]},"ServerPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (MiB)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (MiB)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (MiB)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"},"vendor":{"$ref":"#/components/schemas/VendorBase"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description","vendor"],"title":"ServerPKs","examples":[{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-06-25T08:25:33.452280","outbound_traffic":0.0,"score":42,"score_per_price":3.142857142857143,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"}]},"ServerPKsWithPrices":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (MiB)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (MiB)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (MiB)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"prices":{"items":{"$ref":"#/components/schemas/ServerPricePKs"},"type":"array","title":"Prices"},"benchmark_scores":{"items":{"$ref":"#/components/schemas/BenchmarkScoreBase"},"type":"array","title":"Benchmark Scores"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description","vendor","prices","benchmark_scores"],"title":"ServerPKsWithPrices","examples":[{"api_reference":"a1.2xlarge","benchmark_scores":[{"benchmark_id":"geekbench:hdr","config_fields":{"cores":"Single-Core or Multi-Core peformance tests.","framework_version":"Version number of geekbench."},"description":"Blends six 16MP SDR photos to create a single HDR photo, using a recovery process and radiance map construction (Debevec and Malik 1997), and a tone mapping algorithm (Reinhard and Devlin 2005).The score is calibrated against a baseline score of 2,500 (Dell Precision 3460 with a Core i7-12700 processor) as per the Geekbench 6 Benchmark Internals.","framework":"geekbench","higher_is_better":true,"measurement":"hdr","name":"Geekbench: HDR","observed_at":"2024-06-25T08:54:46.807149","status":"active"}],"cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-06-25T08:25:33.452280","outbound_traffic":0.0,"prices":[{"allocation":"ondemand","currency":"USD","observed_at":"2024-06-25T08:26:27.137102","operating_system":"Linux","price":2.736,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-06-25T08:24:48.467411","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"af-south-1","server_id":"c5.12xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-06-25T08:24:51.460468","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"afs1-az1"},{"allocation":"spot","currency":"USD","observed_at":"2024-06-25T00:46:36","operating_system":"Linux","price":0.9287,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-06-25T08:24:48.467411","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"af-south-1","server_id":"c5.12xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-06-25T08:24:51.460468","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"afs1-az1"},{"allocation":"ondemand","currency":"USD","observed_at":"2024-06-25T08:26:26.930569","operating_system":"Linux","price":4.104,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-06-25T08:24:48.467411","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"af-south-1","server_id":"c5.18xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-06-25T08:24:51.460468","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"afs1-az1"},{"allocation":"spot","currency":"USD","observed_at":"2024-06-25T05:31:39","operating_system":"Linux","price":0.7862,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-06-25T08:24:48.467411","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"af-south-1","server_id":"c5.18xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-06-25T08:24:51.460468","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"afs1-az1"},{"allocation":"ondemand","currency":"USD","observed_at":"2024-06-25T08:26:26.983122","operating_system":"Linux","price":5.472,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-06-25T08:24:48.467411","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"af-south-1","server_id":"c5.24xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-06-25T08:24:51.460468","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"afs1-az1"}],"score":42,"score_per_price":3.142857142857143,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-06-25T08:54:46.807804","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws"}]},"ServerPricePKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"allOf":[{"$ref":"#/components/schemas/Allocation"}],"description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBase"},"zone":{"$ref":"#/components/schemas/ZoneBase"}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price","region","zone"],"title":"ServerPricePKs"},"ServerPriceWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"allOf":[{"$ref":"#/components/schemas/Allocation"}],"description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"vendor":{"$ref":"#/components/schemas/VendorBase"},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"zone":{"$ref":"#/components/schemas/ZoneBase"},"server":{"$ref":"#/components/schemas/ServerWithScore"}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price","vendor","region","zone","server"],"title":"ServerPriceWithPKs","examples":[{"allocation":"ondemand","currency":"USD","observed_at":"2024-06-25T08:26:27.137102","operating_system":"Linux","price":2.736,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country":{"continent":"Asia","country_id":"AE","observed_at":"2024-06-25T08:54:46.803167","status":"active"},"country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-06-25T08:24:48.467411","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"af-south-1","server":{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-06-25T08:25:33.452280","outbound_traffic":0.0,"score":42,"score_per_price":3.142857142857143,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"},"server_id":"c5.12xlarge","status":"active","unit":"hour","vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-06-25T08:54:46.807804","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-06-25T08:24:51.460468","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"afs1-az1"}]},"ServerTableMetaData":{"properties":{"table":{"$ref":"#/components/schemas/NameAndDescription"},"fields":{"items":{"$ref":"#/components/schemas/IdNameAndDescriptionAndCategory"},"type":"array","title":"Fields"}},"type":"object","required":["table","fields"],"title":"ServerTableMetaData"},"ServerWithScore":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (MiB)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (MiB)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (MiB)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"ServerWithScore"},"Status":{"type":"string","enum":["active","inactive"],"title":"Status","description":"Last known status of a resource, e.g. active or inactive."},"Storage":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"storage_id":{"type":"string","title":"Storage Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"storage_type":{"allOf":[{"$ref":"#/components/schemas/StorageType"}],"description":"High-level category of the storage, e.g. HDD or SDD."},"max_iops":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Iops","description":"Maximum Input/Output Operations Per Second."},"max_throughput":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Throughput","description":"Maximum Throughput (MiB/s)."},"min_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Size","description":"Minimum required size (GiB)."},"max_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Size","description":"Maximum possible size (GiB)."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","storage_id","name","description","storage_type"],"title":"Storage","description":"Flexible storage options that can be attached to a Server.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n storage_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n description (typing.Optional[str]): Short description.\n storage_type (StorageType): High-level category of the storage, e.g. HDD or SDD.\n max_iops (typing.Optional[int]): Maximum Input/Output Operations Per Second.\n max_throughput (typing.Optional[int]): Maximum Throughput (MiB/s).\n min_size (typing.Optional[int]): Minimum required size (GiB).\n max_size (typing.Optional[int]): Maximum possible size (GiB).\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"description":"SSD-backed","max_iops":16000,"max_size":16384,"max_throughput":250,"min_size":1,"name":"General Purpose","observed_at":"2024-06-25T08:27:07.032515","status":"active","storage_id":"gp2","storage_type":"ssd","vendor_id":"aws"}]},"StorageType":{"type":"string","enum":["hdd","ssd","nvme ssd","network"],"title":"StorageType","description":"Type of a storage, e.g. HDD or SSD."},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"Vendor":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Vendor's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage of the Vendor."},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Vendor's main headquarter is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Vendor's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Vendor's main location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Vendor's main location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Vendor's main location."},"founding_year":{"type":"integer","title":"Founding Year","description":"4-digit year when the Vendor was founded."},"status_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Page","description":"Public status page of the Vendor."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","name","country_id","founding_year"],"title":"Vendor","description":"Compute resource vendors, such as cloud and server providers.\n\n Examples:\n >>> from sc_crawler.tables import Vendor\n >>> from sc_crawler.lookup import countries\n >>> aws = Vendor(vendor_id='aws', name='Amazon Web Services', homepage='https://aws.amazon.com', country=countries[\"US\"], founding_year=2002)\n >>> aws\n Vendor(vendor_id='aws'...\n >>> from sc_crawler import vendors\n >>> vendors.aws\n Vendor(vendor_id='aws'...\n \n\nAttributes:\n vendor_id (str): Unique identifier.\n name (str): Human-friendly name.\n logo (typing.Optional[str]): Publicly accessible URL to the image of the Vendor's logo.\n homepage (typing.Optional[str]): Public homepage of the Vendor.\n country_id (str): Reference to the Country, where the Vendor's main headquarter is located.\n state (typing.Optional[str]): Optional state/administrative area of the Vendor's location within the Country.\n city (typing.Optional[str]): Optional city name of the Vendor's main location.\n address_line (typing.Optional[str]): Optional address line of the Vendor's main location.\n zip_code (typing.Optional[str]): Optional ZIP code of the Vendor's main location.\n founding_year (int): 4-digit year when the Vendor was founded.\n status_page (typing.Optional[str]): Public status page of the Vendor.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-06-25T08:54:46.807804","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"}]},"VendorBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Vendor's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage of the Vendor."},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Vendor's main headquarter is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Vendor's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Vendor's main location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Vendor's main location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Vendor's main location."},"founding_year":{"type":"integer","title":"Founding Year","description":"4-digit year when the Vendor was founded."},"status_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Page","description":"Public status page of the Vendor."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","name","country_id","founding_year"],"title":"VendorBase"},"Vendors":{"type":"string","enum":["aws","gcp","hcloud"],"title":"Vendors"},"Zone":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","name","api_reference","display_name"],"title":"Zone","description":"Availability zones of Regions.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Reference to the Region.\n zone_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-06-25T08:24:51.460468","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"}]},"ZoneBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","name","api_reference","display_name"],"title":"ZoneBase"}}}} +{"openapi":"3.1.0","info":{"title":"Spare Cores (SC) Keeper","description":"\nAPI to search and serve data collected on cloud compute resources.\n\n## Licensing\n\nThis is a free service provided by the Spare Cores team, without any warranty.\nThe source code of the API is licensed under MPL-2.0, find more details at\n.\n\n## References\n\n- Spare Cores: \n- SC Keeper: \n- SC Crawler: \n- SC Data: \n","contact":{"name":"Spare Cores Team","email":"social@sparecores.com"},"license":{"name":"Mozilla Public License 2.0 (MPL 2.0)","url":"http://mozilla.org/MPL/2.0/"},"version":"0.0.1"},"paths":{"/healthcheck":{"get":{"tags":["Administrative endpoints"],"summary":"Healthcheck","description":"Return database hash and last udpated timestamp.","operationId":"healthcheck_healthcheck_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Healthcheck Healthcheck Get"}}}}}}},"/table/benchmark":{"get":{"tags":["Table dumps"],"summary":"Table Benchmark","description":"Return the Benchmark table as-is, without filtering options or relationships resolved.","operationId":"table_benchmark_table_benchmark_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Benchmark"},"type":"array","title":"Response Table Benchmark Table Benchmark Get"}}}}}}},"/table/country":{"get":{"tags":["Table dumps"],"summary":"Table Country","description":"Return the Country table as-is, without filtering options or relationships resolved.","operationId":"table_country_table_country_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Country"},"type":"array","title":"Response Table Country Table Country Get"}}}}}}},"/table/compliance_framework":{"get":{"tags":["Table dumps"],"summary":"Table Compliance Frameworks","description":"Return the ComplianceFramework table as-is, without filtering options or relationships resolved.","operationId":"table_compliance_frameworks_table_compliance_framework_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ComplianceFramework"},"type":"array","title":"Response Table Compliance Frameworks Table Compliance Framework Get"}}}}}}},"/table/vendor":{"get":{"tags":["Table dumps"],"summary":"Table Vendor","description":"Return the Vendor table as-is, without filtering options or relationships resolved.","operationId":"table_vendor_table_vendor_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Vendor"},"type":"array","title":"Response Table Vendor Table Vendor Get"}}}}}}},"/table/region":{"get":{"tags":["Table dumps"],"summary":"Table Region","description":"Return the Region table as-is, without filtering options or relationships resolved.","operationId":"table_region_table_region_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Region"},"type":"array","title":"Response Table Region Table Region Get"}}}}}}},"/table/zone":{"get":{"tags":["Table dumps"],"summary":"Table Zone","description":"Return the Zone table as-is, without filtering options or relationships resolved.","operationId":"table_zone_table_zone_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Zone"},"type":"array","title":"Response Table Zone Table Zone Get"}}}}}}},"/table/server":{"get":{"tags":["Table dumps"],"summary":"Table Server","description":"Return the Server table as-is, without filtering options or relationships resolved.","operationId":"table_server_table_server_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Server"},"type":"array","title":"Response Table Server Table Server Get"}}}}}}},"/table/storage":{"get":{"tags":["Table dumps"],"summary":"Table Storage","description":"Return the Storage table as-is, without filtering options or relationships resolved.","operationId":"table_storage_table_storage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Storage"},"type":"array","title":"Response Table Storage Table Storage Get"}}}}}}},"/storage_prices":{"get":{"summary":"Table Storage Prices","operationId":"table_storage_prices_storage_prices_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"storage_id","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Storages"}},{"type":"null"}],"title":"Storage id","description":"Identifier of the storage type.","category_id":"storage","enum":["30001","30002","30007","block","gp2","gp3","sc1","st1","standard"]},"description":"Identifier of the storage type."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StoragePriceWithPKs"},"title":"Response Table Storage Prices Storage Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/table/server/meta":{"get":{"tags":["Table metadata"],"summary":"Table Metadata Server","description":"Server table and column names and comments.","operationId":"table_metadata_server_table_server_meta_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerTableMetaData"}}}}}}},"/regions":{"get":{"tags":["Query Resources"],"summary":"Search Regions","operationId":"search_regions_regions_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RegionPKs"},"title":"Response Search Regions Regions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}":{"get":{"tags":["Query Resources"],"summary":"Get Server","description":"Query a single server by its vendor id and either the server or, or its API reference.\n\nReturn dictionary includes all server fields, along\nwith the current prices per zone, and\nthe available benchmark scores.","operationId":"get_server_server__vendor___server__get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"Vendor ID.","title":"Vendor"},"description":"Vendor ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"Server ID or API reference.","title":"Server"},"description":"Server ID or API reference."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","title":"Currency"},"description":"Currency used for prices."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerPKsWithPrices"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/servers":{"get":{"tags":["Query Resources"],"summary":"Search Servers","operationId":"search_servers_servers_get","parameters":[{"name":"partial_name_or_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partial name or id","description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name.","category_id":"basic"},"description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name."},{"name":"vcpus_min","in":"query","required":false,"schema":{"type":"integer","maximum":128,"minimum":1,"title":"Minimum vCPUs","description":"Minimum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","default":1},"description":"Minimum number of virtual CPUs."},{"name":"architecture","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuArchitecture"}},{"type":"null"}],"title":"Processor architecture","description":"Processor architecture.","category_id":"processor","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"]},"description":"Processor architecture."},{"name":"benchmark_score_stressng_cpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"SCore","description":"Minimum stress-ng CPU workload score.","category_id":"processor"},"description":"Minimum stress-ng CPU workload score."},{"name":"memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum memory","description":"Minimum amount of memory in GBs.","category_id":"memory","unit":"GB","step":0.1},"description":"Minimum amount of memory in GBs."},{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active only","description":"Filter for active servers only.","category_id":"basic","default":true},"description":"Filter for active servers only."},{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"storage_size","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs) attached to the server.","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs) attached to the server."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"gpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"GPU count","description":"Minimum number of GPUs.","category_id":"gpu","unit":"GPUs"},"description":"Minimum number of GPUs."},{"name":"gpu_memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum GPU memory","description":"Minimum amount of GPU memory (GB) in each GPU.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of GPU memory (GB) in each GPU."},{"name":"gpu_memory_total","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total GPU memory","description":"Minimum amount of total GPU memory (GBs) in all GPUs.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of total GPU memory (GBs) in all GPUs."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited","default":50,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited"},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"vcpus","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPKs"},"title":"Response Search Servers Servers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server_prices":{"get":{"tags":["Query Resources"],"summary":"Search Server Prices","operationId":"search_server_prices_server_prices_get","parameters":[{"name":"partial_name_or_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partial name or id","description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name.","category_id":"basic"},"description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name."},{"name":"vcpus_min","in":"query","required":false,"schema":{"type":"integer","maximum":128,"minimum":1,"title":"Minimum vCPUs","description":"Minimum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","default":1},"description":"Minimum number of virtual CPUs."},{"name":"architecture","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuArchitecture"}},{"type":"null"}],"title":"Processor architecture","description":"Processor architecture.","category_id":"processor","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"]},"description":"Processor architecture."},{"name":"benchmark_score_stressng_cpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"SCore","description":"Minimum stress-ng CPU workload score.","category_id":"processor"},"description":"Minimum stress-ng CPU workload score."},{"name":"memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum memory","description":"Minimum amount of memory in GBs.","category_id":"memory","unit":"GB","step":0.1},"description":"Minimum amount of memory in GBs."},{"name":"price_max","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Maximum price","description":"Maximum price (USD/hr).","category_id":"price","step":0.0001},"description":"Maximum price (USD/hr)."},{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active only","description":"Filter for active servers only.","category_id":"basic","default":true},"description":"Filter for active servers only."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"allocation","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/Allocation"},{"type":"null"}],"title":"Allocation","description":"Server allocation method.","enum":["ondemand","reserved","spot"]},"description":"Server allocation method."},{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","ca-central-1","ca-west-1","cn-north-1","cn-northwest-1","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","il-central-1","me-central-1","me-south-1","sa-east-1","us-east-1","us-east-2","us-west-1","us-west-2"]},"description":"Identifier of the region."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"storage_size","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs) attached to the server.","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs) attached to the server."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"gpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"GPU count","description":"Minimum number of GPUs.","category_id":"gpu","unit":"GPUs"},"description":"Minimum number of GPUs."},{"name":"gpu_memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum GPU memory","description":"Minimum amount of GPU memory (GB) in each GPU.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of GPU memory (GB) in each GPU."},{"name":"gpu_memory_total","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total GPU memory","description":"Minimum amount of total GPU memory (GBs) in all GPUs.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of total GPU memory (GBs) in all GPUs."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited","default":50,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited"},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","default":"USD","title":"Currency"},"description":"Currency used for prices."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPriceWithPKs"},"title":"Response Search Server Prices Server Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_server_filters":{"get":{"tags":["AI"],"summary":"Assist Server Filters","description":"Extract Server JSON filters from freetext.","operationId":"assist_server_filters_ai_assist_server_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Server Filters Ai Assist Server Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_server_price_filters":{"get":{"tags":["AI"],"summary":"Assist Server Price Filters","description":"Extract ServerPrice JSON filters from freetext.","operationId":"assist_server_price_filters_ai_assist_server_price_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Server Price Filters Ai Assist Server Price Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Allocation":{"type":"string","enum":["ondemand","reserved","spot"],"title":"Allocation","description":"Server allocation options."},"Benchmark":{"properties":{"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Unique identifier of a specific Benchmark."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"framework":{"type":"string","title":"Framework","description":"The name of the benchmark framework/software/tool used."},"config_fields":{"type":"object","title":"Config Fields","description":"A dictionary of descriptions on the framework-specific config options, e.g. {\"bandwidth\": \"Memory amount to use for compression in MB.\"}.","default":{}},"measurement":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Measurement","description":"The name of measurement recoreded in the benchmark."},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit","description":"Optional unit of measurement for the benchmark score."},"higher_is_better":{"type":"boolean","title":"Higher Is Better","description":"If higher benchmark score means better performance, or vica versa.","default":true},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["benchmark_id","name","description","framework"],"title":"Benchmark","description":"Benchmark scenario definitions.\n\nAttributes:\n benchmark_id (str): Unique identifier of a specific Benchmark.\n name (str): Human-friendly name.\n description (typing.Optional[str]): Short description.\n framework (str): The name of the benchmark framework/software/tool used.\n config_fields (dict): A dictionary of descriptions on the framework-specific config options, e.g. {\"bandwidth\": \"Memory amount to use for compression in MB.\"}.\n measurement (typing.Optional[str]): The name of measurement recoreded in the benchmark.\n unit (typing.Optional[str]): Optional unit of measurement for the benchmark score.\n higher_is_better (bool): If higher benchmark score means better performance, or vica versa.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"benchmark_id":"geekbench:hdr","config_fields":{"cores":"Single-Core or Multi-Core peformance tests.","framework_version":"Version number of geekbench."},"description":"Blends six 16MP SDR photos to create a single HDR photo, using a recovery process and radiance map construction (Debevec and Malik 1997), and a tone mapping algorithm (Reinhard and Devlin 2005).The score is calibrated against a baseline score of 2,500 (Dell Precision 3460 with a Core i7-12700 processor) as per the Geekbench 6 Benchmark Internals.","framework":"geekbench","higher_is_better":true,"measurement":"hdr","name":"Geekbench: HDR","observed_at":"2024-08-14T14:15:46.001262","status":"active"}]},"BenchmarkScoreBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Reference to the Benchmark."},"config":{"type":"object","title":"Config","description":"Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}","default":{}},"score":{"type":"number","title":"Score","description":"The resulting score of the benchmark."},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Optional note, comment or context on the benchmark score."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","benchmark_id","score"],"title":"BenchmarkScoreBase"},"ComplianceFramework":{"properties":{"compliance_framework_id":{"type":"string","title":"Compliance Framework Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"abbreviation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abbreviation","description":"Short abbreviation of the Framework name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Description of the framework in a few paragrahs, outlining key features and characteristics for reference."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Framework's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage with more information on the Framework."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["compliance_framework_id","name","abbreviation","description"],"title":"ComplianceFramework","description":"List of Compliance Frameworks, such as HIPAA or SOC 2 Type 1.\n\nAttributes:\n compliance_framework_id (str): Unique identifier.\n name (str): Human-friendly name.\n abbreviation (typing.Optional[str]): Short abbreviation of the Framework name.\n description (typing.Optional[str]): Description of the framework in a few paragrahs, outlining key features and characteristics for reference.\n logo (typing.Optional[str]): Publicly accessible URL to the image of the Framework's logo.\n homepage (typing.Optional[str]): Public homepage with more information on the Framework.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"abbreviation":"HIPAA","compliance_framework_id":"hipaa","description":"HIPAA (Health Insurance Portability and Accountability Act) is a U.S. federal law designed to safeguard the privacy and security of individuals' health information, establishing standards for its protection and regulating its use in the healthcare industry.","homepage":"https://www.cdc.gov/phlp/publications/topic/hipaa.html","name":"The Health Insurance Portability and Accountability Act","observed_at":"2024-08-14T14:15:45.999115","status":"active"}]},"ComplianceFrameworks":{"type":"string","enum":["hipaa","iso27001","soc2t2"],"title":"ComplianceFrameworks"},"Country":{"properties":{"country_id":{"type":"string","title":"Country Id","description":"Country code by ISO 3166 alpha-2."},"continent":{"type":"string","title":"Continent","description":"Continent name."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["country_id","continent"],"title":"Country","description":"Country and continent mapping.\n\nAttributes:\n country_id (str): Country code by ISO 3166 alpha-2.\n continent (str): Continent name.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"continent":"Asia","country_id":"AE","observed_at":"2024-08-14T14:15:45.997434","status":"active"}]},"CountryBase":{"properties":{"country_id":{"type":"string","title":"Country Id","description":"Country code by ISO 3166 alpha-2."},"continent":{"type":"string","title":"Continent","description":"Continent name."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["country_id","continent"],"title":"CountryBase"},"Cpu":{"properties":{"manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Manufacturer"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cores"},"threads":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Threads"},"l1_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L1 Cache Size"},"l2_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L2 Cache Size"},"l3_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L3 Cache Size"},"microcode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Microcode"},"capabilities":{"items":{"type":"string"},"type":"array","title":"Capabilities","default":[]},"bugs":{"items":{"type":"string"},"type":"array","title":"Bugs","default":[]},"bogomips":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Bogomips"}},"type":"object","title":"Cpu","description":"CPU details."},"CpuAllocation":{"type":"string","enum":["Shared","Burstable","Dedicated"],"title":"CpuAllocation","description":"CPU allocation methods at cloud vendors."},"CpuArchitecture":{"type":"string","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"],"title":"CpuArchitecture","description":"CPU architectures."},"DdrGeneration":{"type":"string","enum":["DDR3","DDR4","DDR5"],"title":"DdrGeneration","description":"Generation of the DDR SDRAM."},"Disk":{"properties":{"size":{"type":"integer","title":"Size","default":0},"storage_type":{"$ref":"#/components/schemas/StorageType"}},"type":"object","required":["storage_type"],"title":"Disk","description":"Disk definition based on size and storage type."},"Gpu":{"properties":{"manufacturer":{"type":"string","title":"Manufacturer"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"memory":{"type":"integer","title":"Memory"},"firmware_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firmware Version"},"bios_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bios Version"},"graphics_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Graphics Clock"},"sm_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sm Clock"},"mem_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Mem Clock"},"video_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Video Clock"}},"type":"object","required":["manufacturer","memory"],"title":"Gpu","description":"GPU accelerator details."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"IdNameAndDescriptionAndCategory":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"id":{"type":"string","title":"Id"},"category":{"type":"string","title":"Category"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"}},"type":"object","required":["name","description","id","category","unit"],"title":"IdNameAndDescriptionAndCategory"},"NameAndDescription":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"}},"type":"object","required":["name","description"],"title":"NameAndDescription"},"OrderDir":{"type":"string","enum":["asc","desc"],"title":"OrderDir"},"PriceTier":{"properties":{"lower":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Lower"},"upper":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Upper"},"price":{"type":"number","title":"Price"}},"type":"object","required":["lower","upper","price"],"title":"PriceTier","description":"Price tier definition.\n\nAs standard JSON does not support Inf, NaN etc values,\nthose should be passed as string, e.g. for the upper bound.\n\nSee [float_inf_to_str][sc_crawler.utils.float_inf_to_str] for\nconverting an infinite numeric value into \"Infinity\"."},"PriceUnit":{"type":"string","enum":["year","month","hour","GiB","GB","GB/month"],"title":"PriceUnit","description":"Supported units for the price tables."},"Region":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id"],"title":"Region","description":"Regions of Vendors.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n aliases (typing.List[str]): List of other commonly used names for the same Region.\n country_id (str): Reference to the Country, where the Region is located.\n state (typing.Optional[str]): Optional state/administrative area of the Region's location within the Country.\n city (typing.Optional[str]): Optional city name of the Region's location.\n address_line (typing.Optional[str]): Optional address line of the Region's location.\n zip_code (typing.Optional[str]): Optional ZIP code of the Region's location.\n lon (typing.Optional[float]): Longitude coordinate of the Region's known or approximate location.\n lat (typing.Optional[float]): Latitude coordinate of the Region's known or approximate location.\n founding_year (typing.Optional[int]): 4-digit year when the Region was founded.\n green_energy (typing.Optional[bool]): If the Region is 100% powered by renewable energy.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-08-14T13:24:35.963024","region_id":"af-south-1","status":"active","vendor_id":"aws"}]},"RegionBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id"],"title":"RegionBase"},"RegionBaseWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"country":{"$ref":"#/components/schemas/CountryBase"}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id","country"],"title":"RegionBaseWithPKs"},"RegionPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"vendor":{"$ref":"#/components/schemas/VendorBase"}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id","vendor"],"title":"RegionPKs","examples":[{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-08-14T13:24:35.963024","region_id":"af-south-1","status":"active","vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-08-14T14:15:46.001893","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws"}]},"Regions":{"type":"string","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","ca-central-1","ca-west-1","cn-north-1","cn-northwest-1","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","il-central-1","me-central-1","me-south-1","sa-east-1","us-east-1","us-east-2","us-west-1","us-west-2"],"title":"Regions"},"Server":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (MiB)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (MiB)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (MiB)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"Server","description":"Server types.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n server_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n description (typing.Optional[str]): Short description.\n family (typing.Optional[str]): Server family, e.g. General-purpose machine (GCP), or M5g (AWS).\n vcpus (int): Default number of virtual CPUs (vCPU) of the server.\n hypervisor (typing.Optional[str]): Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated.\n cpu_allocation (CpuAllocation): Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated.\n cpu_cores (typing.Optional[int]): Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled.\n cpu_speed (typing.Optional[float]): Vendor-reported maximum CPU clock speed (GHz).\n cpu_architecture (CpuArchitecture): CPU architecture (arm64, arm64_mac, i386, or x86_64).\n cpu_manufacturer (typing.Optional[str]): The manufacturer of the primary processor, e.g. Intel or AMD.\n cpu_family (typing.Optional[str]): The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9.\n cpu_model (typing.Optional[str]): The model number of the primary processor, e.g. 9750H.\n cpu_l1_cache (typing.Optional[int]): L1 cache size (MiB).\n cpu_l2_cache (typing.Optional[int]): L2 cache size (MiB).\n cpu_l3_cache (typing.Optional[int]): L3 cache size (MiB).\n cpu_flags (typing.List[str]): CPU features/flags.\n cpus (typing.List[sc_crawler.table_fields.Cpu]): JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.\n memory_amount (int): RAM amount (MiB).\n memory_generation (typing.Optional[sc_crawler.table_fields.DdrGeneration]): Generation of the DDR SDRAM, e.g. DDR4 or DDR5.\n memory_speed (typing.Optional[int]): DDR SDRAM clock rate (Mhz).\n memory_ecc (typing.Optional[bool]): If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption.\n gpu_count (int): Number of GPU accelerator(s).\n gpu_memory_min (typing.Optional[int]): Memory (MiB) allocated to the lowest-end GPU accelerator.\n gpu_memory_total (typing.Optional[int]): Overall memory (MiB) allocated to all the GPU accelerator(s).\n gpu_manufacturer (typing.Optional[str]): The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD.\n gpu_family (typing.Optional[str]): The product family of the primary GPU accelerator, e.g. Turing.\n gpu_model (typing.Optional[str]): The model number of the primary GPU accelerator, e.g. Tesla T4.\n gpus (typing.List[sc_crawler.table_fields.Gpu]): JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.\n storage_size (int): Overall size (GB) of the disk(s).\n storage_type (typing.Optional[sc_crawler.table_fields.StorageType]): Primary disk type, e.g. HDD, SSD, NVMe SSD, or network).\n storages (typing.List[sc_crawler.table_fields.Disk]): JSON array of disks attached to the server, including the size (MiB) and type of each disk.\n network_speed (typing.Optional[float]): The baseline network performance (Gbps) of the network card.\n inbound_traffic (float): Amount of complimentary inbound traffic (GB) per month.\n outbound_traffic (float): Amount of complimentary outbound traffic (GB) per month.\n ipv4 (int): Number of complimentary IPv4 address(es).\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-08-14T13:25:25.677425","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"}]},"ServerPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (MiB)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (MiB)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (MiB)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"},"vendor":{"$ref":"#/components/schemas/VendorBase"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description","vendor"],"title":"ServerPKs","examples":[{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-08-14T13:25:25.677425","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"}]},"ServerPKsWithPrices":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (MiB)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (MiB)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (MiB)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"prices":{"items":{"$ref":"#/components/schemas/ServerPricePKs"},"type":"array","title":"Prices"},"benchmark_scores":{"items":{"$ref":"#/components/schemas/BenchmarkScoreBase"},"type":"array","title":"Benchmark Scores"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description","vendor","prices","benchmark_scores"],"title":"ServerPKsWithPrices","examples":[{"api_reference":"a1.2xlarge","benchmark_scores":[{"benchmark_id":"geekbench:hdr","config_fields":{"cores":"Single-Core or Multi-Core peformance tests.","framework_version":"Version number of geekbench."},"description":"Blends six 16MP SDR photos to create a single HDR photo, using a recovery process and radiance map construction (Debevec and Malik 1997), and a tone mapping algorithm (Reinhard and Devlin 2005).The score is calibrated against a baseline score of 2,500 (Dell Precision 3460 with a Core i7-12700 processor) as per the Geekbench 6 Benchmark Internals.","framework":"geekbench","higher_is_better":true,"measurement":"hdr","name":"Geekbench: HDR","observed_at":"2024-08-14T14:15:46.001262","status":"active"}],"cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-08-14T13:25:25.677425","outbound_traffic":0.0,"price":7,"prices":[{"allocation":"ondemand","currency":"USD","observed_at":"2024-08-14T13:26:26.956309","operating_system":"Linux","price":2.736,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-08-14T13:24:35.963024","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"af-south-1","server_id":"c5.12xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-08-14T13:24:38.899342","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"afs1-az1"},{"allocation":"spot","currency":"USD","observed_at":"2024-08-14T08:46:22","operating_system":"Linux","price":0.9136,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-08-14T13:24:35.963024","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"af-south-1","server_id":"c5.12xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-08-14T13:24:38.899342","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"afs1-az1"},{"allocation":"ondemand","currency":"USD","observed_at":"2024-08-14T13:26:26.747573","operating_system":"Linux","price":4.104,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-08-14T13:24:35.963024","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"af-south-1","server_id":"c5.18xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-08-14T13:24:38.899342","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"afs1-az1"},{"allocation":"spot","currency":"USD","observed_at":"2024-08-14T10:01:23","operating_system":"Linux","price":1.0887,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-08-14T13:24:35.963024","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"af-south-1","server_id":"c5.18xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-08-14T13:24:38.899342","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"afs1-az1"},{"allocation":"ondemand","currency":"USD","observed_at":"2024-08-14T13:26:26.800248","operating_system":"Linux","price":5.472,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-08-14T13:24:35.963024","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"af-south-1","server_id":"c5.24xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-08-14T13:24:38.899342","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"afs1-az1"}],"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-08-14T14:15:46.001893","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws"}]},"ServerPricePKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"allOf":[{"$ref":"#/components/schemas/Allocation"}],"description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBase"},"zone":{"$ref":"#/components/schemas/ZoneBase"}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price","region","zone"],"title":"ServerPricePKs"},"ServerPriceWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"allOf":[{"$ref":"#/components/schemas/Allocation"}],"description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"vendor":{"$ref":"#/components/schemas/VendorBase"},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"zone":{"$ref":"#/components/schemas/ZoneBase"},"server":{"$ref":"#/components/schemas/ServerWithScore"}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price","vendor","region","zone","server"],"title":"ServerPriceWithPKs","examples":[{"allocation":"ondemand","currency":"USD","observed_at":"2024-08-14T13:26:26.956309","operating_system":"Linux","price":2.736,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country":{"continent":"Asia","country_id":"AE","observed_at":"2024-08-14T14:15:45.997434","status":"active"},"country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-08-14T13:24:35.963024","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"af-south-1","server":{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-08-14T13:25:25.677425","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"},"server_id":"c5.12xlarge","status":"active","unit":"hour","vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-08-14T14:15:46.001893","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-08-14T13:24:38.899342","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"afs1-az1"}]},"ServerTableMetaData":{"properties":{"table":{"$ref":"#/components/schemas/NameAndDescription"},"fields":{"items":{"$ref":"#/components/schemas/IdNameAndDescriptionAndCategory"},"type":"array","title":"Fields"}},"type":"object","required":["table","fields"],"title":"ServerTableMetaData"},"ServerWithScore":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (MiB)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (MiB)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (MiB)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"ServerWithScore"},"Status":{"type":"string","enum":["active","inactive"],"title":"Status","description":"Last known status of a resource, e.g. active or inactive."},"Storage":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"storage_id":{"type":"string","title":"Storage Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"storage_type":{"allOf":[{"$ref":"#/components/schemas/StorageType"}],"description":"High-level category of the storage, e.g. HDD or SDD."},"max_iops":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Iops","description":"Maximum Input/Output Operations Per Second."},"max_throughput":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Throughput","description":"Maximum Throughput (MiB/s)."},"min_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Size","description":"Minimum required size (GiB)."},"max_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Size","description":"Maximum possible size (GiB)."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","storage_id","name","description","storage_type"],"title":"Storage","description":"Flexible storage options that can be attached to a Server.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n storage_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n description (typing.Optional[str]): Short description.\n storage_type (StorageType): High-level category of the storage, e.g. HDD or SDD.\n max_iops (typing.Optional[int]): Maximum Input/Output Operations Per Second.\n max_throughput (typing.Optional[int]): Maximum Throughput (MiB/s).\n min_size (typing.Optional[int]): Minimum required size (GiB).\n max_size (typing.Optional[int]): Maximum possible size (GiB).\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"description":"SSD-backed","max_iops":16000,"max_size":16384,"max_throughput":250,"min_size":1,"name":"General Purpose","observed_at":"2024-08-14T13:27:08.530286","status":"active","storage_id":"gp2","storage_type":"ssd","vendor_id":"aws"}]},"StorageBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"storage_id":{"type":"string","title":"Storage Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"storage_type":{"allOf":[{"$ref":"#/components/schemas/StorageType"}],"description":"High-level category of the storage, e.g. HDD or SDD."},"max_iops":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Iops","description":"Maximum Input/Output Operations Per Second."},"max_throughput":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Throughput","description":"Maximum Throughput (MiB/s)."},"min_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Size","description":"Minimum required size (GiB)."},"max_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Size","description":"Maximum possible size (GiB)."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","storage_id","name","description","storage_type"],"title":"StorageBase"},"StoragePriceWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"storage_id":{"type":"string","title":"Storage Id","description":"Reference to the Storage."},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"storage":{"$ref":"#/components/schemas/StorageBase"}},"type":"object","required":["vendor_id","region_id","storage_id","unit","price","region","vendor","storage"],"title":"StoragePriceWithPKs"},"StorageType":{"type":"string","enum":["hdd","ssd","nvme ssd","network"],"title":"StorageType","description":"Type of a storage, e.g. HDD or SSD."},"Storages":{"type":"string","enum":["30001","30002","30007","block","gp2","gp3","sc1","st1","standard"],"title":"Storages"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"Vendor":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Vendor's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage of the Vendor."},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Vendor's main headquarter is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Vendor's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Vendor's main location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Vendor's main location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Vendor's main location."},"founding_year":{"type":"integer","title":"Founding Year","description":"4-digit year when the Vendor was founded."},"status_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Page","description":"Public status page of the Vendor."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","name","country_id","founding_year"],"title":"Vendor","description":"Compute resource vendors, such as cloud and server providers.\n\n Examples:\n >>> from sc_crawler.tables import Vendor\n >>> from sc_crawler.lookup import countries\n >>> aws = Vendor(vendor_id='aws', name='Amazon Web Services', homepage='https://aws.amazon.com', country=countries[\"US\"], founding_year=2002)\n >>> aws\n Vendor(vendor_id='aws'...\n >>> from sc_crawler import vendors\n >>> vendors.aws\n Vendor(vendor_id='aws'...\n \n\nAttributes:\n vendor_id (str): Unique identifier.\n name (str): Human-friendly name.\n logo (typing.Optional[str]): Publicly accessible URL to the image of the Vendor's logo.\n homepage (typing.Optional[str]): Public homepage of the Vendor.\n country_id (str): Reference to the Country, where the Vendor's main headquarter is located.\n state (typing.Optional[str]): Optional state/administrative area of the Vendor's location within the Country.\n city (typing.Optional[str]): Optional city name of the Vendor's main location.\n address_line (typing.Optional[str]): Optional address line of the Vendor's main location.\n zip_code (typing.Optional[str]): Optional ZIP code of the Vendor's main location.\n founding_year (int): 4-digit year when the Vendor was founded.\n status_page (typing.Optional[str]): Public status page of the Vendor.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-08-14T14:15:46.001893","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"}]},"VendorBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Vendor's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage of the Vendor."},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Vendor's main headquarter is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Vendor's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Vendor's main location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Vendor's main location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Vendor's main location."},"founding_year":{"type":"integer","title":"Founding Year","description":"4-digit year when the Vendor was founded."},"status_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Page","description":"Public status page of the Vendor."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","name","country_id","founding_year"],"title":"VendorBase"},"Vendors":{"type":"string","enum":["aws","gcp","hcloud"],"title":"Vendors"},"Zone":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","name","api_reference","display_name"],"title":"Zone","description":"Availability zones of Regions.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Reference to the Region.\n zone_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-08-14T13:24:38.899342","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"}]},"ZoneBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","name","api_reference","display_name"],"title":"ZoneBase"}}}} diff --git a/src/app/app.routes.ts b/src/app/app.routes.ts index 416c7ed1..a3262476 100644 --- a/src/app/app.routes.ts +++ b/src/app/app.routes.ts @@ -24,6 +24,7 @@ export const routes: Routes = [ { path: 'regions', loadComponent: () => import('./pages/regions/regions.component').then(m => m.RegionsComponent)}, { path: 'vendors', loadComponent: () => import('./pages/vendors/vendors.component').then(m => m.VendorsComponent)}, + { path: 'storages', loadComponent: () => import('./pages/storages/storages.component').then(m => m.StoragesComponent)}, { path: 'datacenters', redirectTo: 'regions' }, { path: 'survey/:id', loadComponent: () => import('./pages/survey-fill/survey-fill.component').then(m => m.SurveyFillComponent)}, diff --git a/src/app/services/keeper-api.service.ts b/src/app/services/keeper-api.service.ts index e2074a7e..ad568c0c 100644 --- a/src/app/services/keeper-api.service.ts +++ b/src/app/services/keeper-api.service.ts @@ -3,12 +3,13 @@ import { Inject, Injectable, PLATFORM_ID } from '@angular/core'; import { MYHTTPClient } from './my_http/my-http'; import { Server } from '../../../sdk/Server'; import { Servers } from '../../../sdk/Servers'; -import { AssistServerFiltersAiAssistServerFiltersGetParams, AssistServerPriceFiltersAiAssistServerPriceFiltersGetParams, SearchServerPricesServerPricesGetParams, SearchServersServersGetParams, ServerPKs } from '../../../sdk/data-contracts'; +import { AssistServerFiltersAiAssistServerFiltersGetParams, AssistServerPriceFiltersAiAssistServerPriceFiltersGetParams, SearchServerPricesServerPricesGetParams, SearchServersServersGetParams, ServerPKs, TableStoragePricesStoragePricesGetParams } from '../../../sdk/data-contracts'; import { Table } from '../../../sdk/Table'; import { Ai } from '../../../sdk/Ai'; import { ServerPrices } from '../../../sdk/ServerPrices'; import { BehaviorSubject } from 'rxjs'; import { isPlatformBrowser } from '@angular/common'; +import { StoragePrices } from '../../../sdk/StoragePrices'; @Injectable({ providedIn: 'root' @@ -22,6 +23,7 @@ export class KeeperAPIService { public ServerPciresController: ServerPrices = new ServerPrices(this.myHttp); public TableController: Table = new Table(this.myHttp); public AIController: Ai = new Ai(this.myHttp); + public StorageController: StoragePrices = new StoragePrices(this.myHttp); serverCache: ServerPKs[] = []; serverCacheSubject: BehaviorSubject = new BehaviorSubject([]); @@ -86,4 +88,12 @@ export class KeeperAPIService { return this.TableController.tableBenchmarkTableBenchmarkGet(); } + public getStorages(): Promise { + return this.TableController.tableStorageTableStorageGet(); + } + + public getStoragePrices(query: TableStoragePricesStoragePricesGetParams): Promise { + return this.StorageController.tableStoragePricesStoragePricesGet(query); + } + } From 185f210cf402be7064afb0ed605dbd66f6675ebd Mon Sep 17 00:00:00 2001 From: Palabola Date: Wed, 14 Aug 2024 20:34:08 +0200 Subject: [PATCH 02/66] /storages added --- .../pages/storages/storages.component.html | 211 +++++++++++++ .../pages/storages/storages.component.scss | 108 +++++++ .../pages/storages/storages.component.spec.ts | 23 ++ src/app/pages/storages/storages.component.ts | 277 ++++++++++++++++++ 4 files changed, 619 insertions(+) create mode 100644 src/app/pages/storages/storages.component.html create mode 100644 src/app/pages/storages/storages.component.scss create mode 100644 src/app/pages/storages/storages.component.spec.ts create mode 100644 src/app/pages/storages/storages.component.ts diff --git a/src/app/pages/storages/storages.component.html b/src/app/pages/storages/storages.component.html new file mode 100644 index 00000000..ef663364 --- /dev/null +++ b/src/app/pages/storages/storages.component.html @@ -0,0 +1,211 @@ +
+
+ + +
+
+

Cloud Compute Resources

+
+
+ Explore, search, and evaluate the supported cloud compute resources in the table below. This comprehensive comparison includes diverse attributes such as CPU count, detailed processor information, memory, GPU, storage, network speed and capacity, available operating systems. Use the sidebar to filter the results, or enter your freetext query in the “Search prompt” bar. You can also compare servers by selecting at least two rows using the checkboxes. +
+
+ +
+
+
+ +
+ + +
+
+
+
+ +
+
+
+
+
+
+ + Loading... +
+
+ + + + + + + + + + + + + + + + + + + + + + +
+
+ {{item.name}} + + + +
+
+ + +
{{item.price}} {{item.currency}}/{{item.unit}}
+
+
{{getField(item, column.key) || '0'}} {{item.currency}}
+
+
{{getStorage(getField(item, column.key))}}
+
+ {{getField(item, column.key)}} + +
+ {{item.vendor.name}} logo +
+
+ {{item.vendor.name}} +
+
+
{{item.region.display_name}}
+
{{item.region.region_id}}
+
+ +
+ + + +
+
+
+
+
+
+ + items per page +
+
+ + +
+
+
+
+
+ +
+ +
+
+ + + + + + diff --git a/src/app/pages/storages/storages.component.scss b/src/app/pages/storages/storages.component.scss new file mode 100644 index 00000000..4aed6672 --- /dev/null +++ b/src/app/pages/storages/storages.component.scss @@ -0,0 +1,108 @@ +.filter_bar { + position: relative; + width: 20rem; + transition: width 0.2s ease-in-out; + + .top { + height: 4rem; + align-items: center; + justify-content: center; + display: flex; + padding: 0.5rem; + border-top: 1px solid #34D399; + } + .collapser { + position: absolute; + right: -52px; + top: 0; + height: 4rem; + width: 52px; + align-items: center; + justify-content: center; + display: flex; + z-index: 1; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-bottom: 1px solid; + border-right: 1px solid; + border-top: 1px solid; + border-color: #34D399; + cursor: pointer; + } + + .filters { + border-right: 1px solid #34D399; + padding-bottom: 1rem; + height: calc(100% - 4rem); + } +} + +.filter_bar.collapsed { + width: 0rem; + min-width: unset; +} + +.top_buttons { + height: 4rem; +} + +.limited-full { + width: calc(100% - 20rem); +} + +.items_table { + @apply w-full text-white; + + .checkbox_column { + width: 2.0rem !important; + padding-right: 0.5rem !important; + padding-left: 0.75rem !important; + } + + thead { + @apply border-b border-gray-200 border-solid bg-secondary; + th { + @apply text-left pl-3 pr-2 py-3 font-normal text-xs; + } + } + + tbody { + tr:nth-child(2n+1) { + @apply bg-primary; + } + tr:nth-child(2n) { + @apply bg-secondary; + } + + tr { + @apply hover:border hover:border-emerald-400 hover:border-solid cursor-pointer; + td { + @apply pl-3 pr-2 py-3 text-left text-sm; + } + } + } +} + +.dropdown_button { + @apply text-white bg-emerald-400 hover:bg-emerald-500 focus:outline-none font-medium rounded-lg text-sm text-center inline-flex items-center border-emerald-400 border-solid border; + transition-duration: 0.15s; + transition-property: background-color, border-color, box-shadow, color; + transition-timing-function: ease-in; +} + +.unit { + position: absolute; + right: 0.5rem; + top: 2.25rem; + transform: translateY(-2rem); +} + +.fixed_buttons { + position: fixed; + bottom: 2rem; + left: calc(50% - 10rem); + z-index: 100; + button { + width: 9rem; + } +} diff --git a/src/app/pages/storages/storages.component.spec.ts b/src/app/pages/storages/storages.component.spec.ts new file mode 100644 index 00000000..b1a8116e --- /dev/null +++ b/src/app/pages/storages/storages.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { StoragesComponent } from './storages.component'; + +describe('StoragesComponent', () => { + let component: StoragesComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [StoragesComponent] + }) + .compileComponents(); + + fixture = TestBed.createComponent(StoragesComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/pages/storages/storages.component.ts b/src/app/pages/storages/storages.component.ts new file mode 100644 index 00000000..b0ea789c --- /dev/null +++ b/src/app/pages/storages/storages.component.ts @@ -0,0 +1,277 @@ +import { CommonModule, isPlatformBrowser } from '@angular/common'; +import { Component, HostBinding, Inject, PLATFORM_ID } from '@angular/core'; +import { FormsModule } from '@angular/forms'; +import { ActivatedRoute, Params, Router, RouterModule } from '@angular/router'; +import { LucideAngularModule } from 'lucide-angular'; +import { BreadcrumbSegment, BreadcrumbsComponent } from '../../components/breadcrumbs/breadcrumbs.component'; +import { PaginationComponent } from '../../components/pagination/pagination.component'; +import { SearchBarComponent } from '../../components/search-bar/search-bar.component'; +import { CountryIdtoNamePipe } from '../../pipes/country-idto-name.pipe'; +import { OrderDir } from '../../../../sdk/data-contracts'; +import { KeeperAPIService } from '../../services/keeper-api.service'; +import { SeoHandlerService } from '../../services/seo-handler.service'; +import { ServerCompareService } from '../../services/server-compare.service'; +import { StorageHandlerService } from '../../services/storage-handler.service'; +import { TableColumn } from '../server-listing/server-listing.component'; +import { Dropdown, DropdownOptions } from 'flowbite'; + +const options: DropdownOptions = { + placement: 'bottom', + triggerType: 'click', + offsetSkidding: 0, + offsetDistance: 10, + delay: 300 +}; + +@Component({ + selector: 'app-storages', + standalone: true, + imports: [CommonModule, FormsModule, BreadcrumbsComponent, LucideAngularModule, CountryIdtoNamePipe, RouterModule, SearchBarComponent, PaginationComponent], + templateUrl: './storages.component.html', + styleUrl: './storages.component.scss' +}) +export class StoragesComponent { + + @HostBinding('attr.ngSkipHydration') ngSkipHydration = 'true'; + + limit = 50; + page = 1; + totalPages = 0; + pageLimits = [10, 25, 50, 100, 250]; + dropdownPage: any; + dropdownColumn: any; + + orderBy: string | undefined = undefined; + orderDir: OrderDir | undefined = undefined; + + breadcrumbs: BreadcrumbSegment[] = [ + { name: 'Home', url: '/' }, + { name: 'Storage prices', url: '/storages' } + ]; + + isCollapsed = false; + isLoading = false; + + filterCategories = [ + {category_id: 'storage', name: 'Storage', icon: 'database', collapsed: false}, + {category_id: 'vendor', name: 'Vendor', icon: 'home', collapsed: true}, + ]; + + openApiJson: any = require('../../../../sdk/openapi.json'); + searchParameters: any; + query: any= {}; + + storages: any[] = []; + + tableColumns: TableColumn[] = [ + + ]; + + possibleColumns: TableColumn[] = [ + { name: 'VENDOR', show: true, type: 'vendor'}, + { name: 'NAME', show: true, type: 'text', key: 'storage.name'}, + { name: 'PRICE', show: true, type: 'price' }, + { name: 'REGION', show: true, type: 'region' }, + { name: 'MIN', show: true, type: 'storage', key: 'storage.min_size' }, + { name: 'MAX', show: true, type: 'storage', key: 'storage.max_size' }, + { name: 'TYPE', show: true, type: 'text', key: 'storage.storage_type', + }, + { name: 'PRICE UPFRONT', show: false, type: 'price2', key: 'price_upfront' }, + { name: 'PRICE TIERED', show: false, type: 'price2', key: 'price_tiered' }, + ]; + + constructor(@Inject(PLATFORM_ID) private platformId: object, + private keeperAPI: KeeperAPIService, + private route: ActivatedRoute, + private router: Router, + private SEOHandler: SeoHandlerService, + private storageHandler: StorageHandlerService, + private serverCompare: ServerCompareService) { } + + ngOnInit() { + + this.SEOHandler.updateTitleAndMetaTags( + 'Listing of Cloud Compute Resources - Spare Cores', + 'Harnessing the compute resources of the cloud to optimize efficiency and costs of batch and service tasks.', + 'cloud, server, instance, price, comparison, spot, sparecores'); + + this.SEOHandler.updateThumbnail('https://sparecores.com/assets/images/media/server_list_image.png'); + + const parameters = this.openApiJson.paths['/storage_prices'].get.parameters || []; + this.searchParameters = parameters; + console.log(this.searchParameters); + + this.refreshColumns(); + + this.route.queryParams.subscribe((params: Params) => { + const query: any = JSON.parse(JSON.stringify(params || '{}')); + + this.query = query; + + if(query.order_by && query.order_dir) { + this.orderBy = query.order_by; + this.orderDir = query.order_dir; + } + + if(query.page) { + this.page = parseInt(query.page); + } + + if(query.limit) { + this.limit = parseInt(query.limit); + } + + this._searchStorages(); + + if(isPlatformBrowser(this.platformId)) { + + const targetElColumn: HTMLElement | null = document.getElementById('column_options'); + const triggerElColumn: HTMLElement | null = document.getElementById('column_button'); + + this.dropdownColumn = new Dropdown( + targetElColumn, + triggerElColumn, + options, + { + id: 'column_options', + override: true + } + ); + + const targetElPage: HTMLElement | null = document.getElementById('pagesize_options'); + const triggerElPage: HTMLElement | null = document.getElementById('pagesize_button'); + + this.dropdownPage = new Dropdown( + targetElPage, + triggerElPage, + options, + { + id: 'pagesize_options', + override: true + } + ); + } + + }); + + + } + + toggleCollapse() { + this.isCollapsed = !this.isCollapsed; + } + + searchBarChanged(event: any) { + this.page = 1; + this.searchOptionsChanged(event); + } + + searchOptionsChanged(event: any) { + const queryObject: any = event; + + let queryParams: any = queryObject; + + if(this.orderBy && this.orderDir) { + queryParams.order_by = this.orderBy; + queryParams.order_dir = this.orderDir; + } else { + delete queryParams.order_by; + delete queryParams.order_dir; + } + + if(this.page > 1) { + queryParams.page = this.page; + } + + if(this.limit !== 25) { + queryParams.limit = this.limit; + } + + this.router.navigate([], { + relativeTo: this.route, + queryParams: queryParams + }); + } + + getQueryObjectBase() { + const paramObject = JSON.parse(JSON.stringify(this.query)); + + if(this.orderBy && this.orderDir) { + paramObject.order_by = this.orderBy; + paramObject.order_dir = this.orderDir; + } + + if(this.limit !== 25) { + paramObject.limit = this.limit; + } + + return paramObject; + } + + private _searchStorages() { + this.isLoading = true; + + this.keeperAPI.getStoragePrices(this.query).then((results: any) => { + this.storages = results.body; + this.isLoading = false + console.log(this.storages); + }); + + } + + toggleOrdering(column: TableColumn) { + + if(!column.orderField) return; + + if(this.orderBy === column.orderField) { + if(this.orderDir === OrderDir.Desc) { + this.orderDir = OrderDir.Asc; + } + else { + this.orderDir = undefined; + this.orderBy = undefined; + } + } else { + this.orderBy = column.orderField; + this.orderDir = OrderDir.Desc; + } + + this.searchOptionsChanged(this.query); + } + + getOrderingIcon(column: TableColumn) { + if(!column.orderField) return null; + + if(this.orderBy === column.orderField) { + return this.orderDir === OrderDir.Desc ? 'arrow-down-wide-narrow' : 'arrow-down-narrow-wide'; + } + return null; + } + + selectPageSize(limit: number) { + this.limit = limit; + this.page = 1; + this.searchOptionsChanged(this.query); + + this.dropdownPage?.hide(); + // scroll to top + window.scrollTo(0, 0); + } + + getField(item: any, field: string) { + return field.split('.').reduce((obj, key) => (obj && (obj as any)[key]) ? (obj as any)[key] : undefined, item); + } + + refreshColumns() { + this.tableColumns = this.possibleColumns.filter((column) => column.show); + } + + getStorage(value: number | undefined) { + if(!value) return '-'; + + if(value < 1000) return `${value} GB`; + + return `${(value / 1000).toFixed(1)} TB`; + } + +} From 1cdd4a1ec522da3222998325ca8cf57c58b4cccb Mon Sep 17 00:00:00 2001 From: Palabola Date: Thu, 22 Aug 2024 09:06:04 +0200 Subject: [PATCH 03/66] SDK update --- sdk/StoragePricesRoute.ts | 174 ++++++++++++++++++++++++++++++++++++++ sdk/data-contracts.ts | 174 ++++++++++++++++++++++++++++++++++++++ sdk/openapi.json | 2 +- 3 files changed, 349 insertions(+), 1 deletion(-) diff --git a/sdk/StoragePricesRoute.ts b/sdk/StoragePricesRoute.ts index d19187cd..85700a99 100644 --- a/sdk/StoragePricesRoute.ts +++ b/sdk/StoragePricesRoute.ts @@ -47,6 +47,180 @@ export namespace StoragePrices { | "StandardSSD_LRS" | "StandardSSD_ZRS" | "UltraSSD_LRS"; + /** + * region id + * Identifier of the region. + */ + regions?: + | "1000" + | "1100" + | "1210" + | "1220" + | "1230" + | "1250" + | "1260" + | "1270" + | "1280" + | "1290" + | "1300" + | "1310" + | "1320" + | "1330" + | "1340" + | "1350" + | "1360" + | "1370" + | "1380" + | "1390" + | "1410" + | "1420" + | "1430" + | "1440" + | "1450" + | "1460" + | "1470" + | "1480" + | "1490" + | "1510" + | "1520" + | "1530" + | "1540" + | "1550" + | "1560" + | "1570" + | "1580" + | "1590" + | "1600" + | "1610" + | "2" + | "3" + | "4" + | "5" + | "6" + | "7" + | "af-south-1" + | "ap-east-1" + | "ap-northeast-1" + | "ap-northeast-2" + | "ap-northeast-3" + | "ap-south-1" + | "ap-south-2" + | "ap-southeast-1" + | "ap-southeast-2" + | "ap-southeast-3" + | "ap-southeast-4" + | "australiacentral" + | "australiacentral2" + | "australiaeast" + | "australiasoutheast" + | "brazilsouth" + | "brazilsoutheast" + | "brazilus" + | "ca-central-1" + | "canadacentral" + | "canadaeast" + | "ca-west-1" + | "centralindia" + | "centralus" + | "centraluseuap" + | "cn-north-1" + | "cn-northwest-1" + | "eastasia" + | "eastus" + | "eastus2" + | "eastus2euap" + | "eastusstg" + | "eu-central-1" + | "eu-central-2" + | "eu-north-1" + | "eu-south-1" + | "eu-south-2" + | "eu-west-1" + | "eu-west-2" + | "eu-west-3" + | "francecentral" + | "francesouth" + | "germanynorth" + | "germanywestcentral" + | "il-central-1" + | "israelcentral" + | "italynorth" + | "japaneast" + | "japanwest" + | "jioindiacentral" + | "jioindiawest" + | "koreacentral" + | "koreasouth" + | "me-central-1" + | "me-south-1" + | "mexicocentral" + | "northcentralus" + | "northeurope" + | "norwayeast" + | "norwaywest" + | "polandcentral" + | "qatarcentral" + | "sa-east-1" + | "southafricanorth" + | "southafricawest" + | "southcentralus" + | "southeastasia" + | "southindia" + | "spaincentral" + | "swedencentral" + | "switzerlandnorth" + | "switzerlandwest" + | "uaecentral" + | "uaenorth" + | "uksouth" + | "ukwest" + | "us-east-1" + | "us-east-2" + | "us-west-1" + | "us-west-2" + | "westcentralus" + | "westeurope" + | "westindia" + | "westus" + | "westus2" + | "westus3"; + /** + * Countries + * Filter for regions in the provided list of countries. + */ + countries?: + | "AE" + | "AU" + | "BE" + | "BH" + | "BR" + | "CA" + | "CH" + | "CL" + | "CN" + | "DE" + | "ES" + | "FI" + | "FR" + | "GB" + | "HK" + | "ID" + | "IE" + | "IL" + | "IN" + | "IT" + | "JP" + | "KR" + | "NL" + | "NO" + | "PL" + | "QA" + | "SA" + | "SE" + | "SG" + | "TW" + | "US" + | "ZA"; /** * Limit * Maximum number of results. Set to -1 for unlimited diff --git a/sdk/data-contracts.ts b/sdk/data-contracts.ts index 8f591282..dde452f1 100644 --- a/sdk/data-contracts.ts +++ b/sdk/data-contracts.ts @@ -2584,6 +2584,180 @@ export interface TableStoragePricesStoragePricesGetParams { | "StandardSSD_LRS" | "StandardSSD_ZRS" | "UltraSSD_LRS"; + /** + * region id + * Identifier of the region. + */ + regions?: + | "1000" + | "1100" + | "1210" + | "1220" + | "1230" + | "1250" + | "1260" + | "1270" + | "1280" + | "1290" + | "1300" + | "1310" + | "1320" + | "1330" + | "1340" + | "1350" + | "1360" + | "1370" + | "1380" + | "1390" + | "1410" + | "1420" + | "1430" + | "1440" + | "1450" + | "1460" + | "1470" + | "1480" + | "1490" + | "1510" + | "1520" + | "1530" + | "1540" + | "1550" + | "1560" + | "1570" + | "1580" + | "1590" + | "1600" + | "1610" + | "2" + | "3" + | "4" + | "5" + | "6" + | "7" + | "af-south-1" + | "ap-east-1" + | "ap-northeast-1" + | "ap-northeast-2" + | "ap-northeast-3" + | "ap-south-1" + | "ap-south-2" + | "ap-southeast-1" + | "ap-southeast-2" + | "ap-southeast-3" + | "ap-southeast-4" + | "australiacentral" + | "australiacentral2" + | "australiaeast" + | "australiasoutheast" + | "brazilsouth" + | "brazilsoutheast" + | "brazilus" + | "ca-central-1" + | "canadacentral" + | "canadaeast" + | "ca-west-1" + | "centralindia" + | "centralus" + | "centraluseuap" + | "cn-north-1" + | "cn-northwest-1" + | "eastasia" + | "eastus" + | "eastus2" + | "eastus2euap" + | "eastusstg" + | "eu-central-1" + | "eu-central-2" + | "eu-north-1" + | "eu-south-1" + | "eu-south-2" + | "eu-west-1" + | "eu-west-2" + | "eu-west-3" + | "francecentral" + | "francesouth" + | "germanynorth" + | "germanywestcentral" + | "il-central-1" + | "israelcentral" + | "italynorth" + | "japaneast" + | "japanwest" + | "jioindiacentral" + | "jioindiawest" + | "koreacentral" + | "koreasouth" + | "me-central-1" + | "me-south-1" + | "mexicocentral" + | "northcentralus" + | "northeurope" + | "norwayeast" + | "norwaywest" + | "polandcentral" + | "qatarcentral" + | "sa-east-1" + | "southafricanorth" + | "southafricawest" + | "southcentralus" + | "southeastasia" + | "southindia" + | "spaincentral" + | "swedencentral" + | "switzerlandnorth" + | "switzerlandwest" + | "uaecentral" + | "uaenorth" + | "uksouth" + | "ukwest" + | "us-east-1" + | "us-east-2" + | "us-west-1" + | "us-west-2" + | "westcentralus" + | "westeurope" + | "westindia" + | "westus" + | "westus2" + | "westus3"; + /** + * Countries + * Filter for regions in the provided list of countries. + */ + countries?: + | "AE" + | "AU" + | "BE" + | "BH" + | "BR" + | "CA" + | "CH" + | "CL" + | "CN" + | "DE" + | "ES" + | "FI" + | "FR" + | "GB" + | "HK" + | "ID" + | "IE" + | "IL" + | "IN" + | "IT" + | "JP" + | "KR" + | "NL" + | "NO" + | "PL" + | "QA" + | "SA" + | "SE" + | "SG" + | "TW" + | "US" + | "ZA"; /** * Limit * Maximum number of results. Set to -1 for unlimited diff --git a/sdk/openapi.json b/sdk/openapi.json index 94451ee4..642a80b7 100644 --- a/sdk/openapi.json +++ b/sdk/openapi.json @@ -1 +1 @@ -{"openapi":"3.1.0","info":{"title":"Spare Cores (SC) Keeper","description":"\nAPI to search and serve data collected on cloud compute resources.\n\n## Licensing\n\nThis is a free service provided by the Spare Cores team, without any warranty.\nThe source code of the API is licensed under MPL-2.0, find more details at\n.\n\n## References\n\n- Spare Cores: \n- SC Keeper: \n- SC Crawler: \n- SC Data: \n","contact":{"name":"Spare Cores Team","email":"social@sparecores.com"},"license":{"name":"Mozilla Public License 2.0 (MPL 2.0)","url":"http://mozilla.org/MPL/2.0/"},"version":"0.0.1"},"paths":{"/healthcheck":{"get":{"tags":["Administrative endpoints"],"summary":"Healthcheck","description":"Return database hash and last udpated timestamp.","operationId":"healthcheck_healthcheck_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Healthcheck Healthcheck Get"}}}}}}},"/table/benchmark":{"get":{"tags":["Table dumps"],"summary":"Table Benchmark","description":"Return the Benchmark table as-is, without filtering options or relationships resolved.","operationId":"table_benchmark_table_benchmark_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Benchmark"},"type":"array","title":"Response Table Benchmark Table Benchmark Get"}}}}}}},"/table/country":{"get":{"tags":["Table dumps"],"summary":"Table Country","description":"Return the Country table as-is, without filtering options or relationships resolved.","operationId":"table_country_table_country_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Country"},"type":"array","title":"Response Table Country Table Country Get"}}}}}}},"/table/compliance_framework":{"get":{"tags":["Table dumps"],"summary":"Table Compliance Frameworks","description":"Return the ComplianceFramework table as-is, without filtering options or relationships resolved.","operationId":"table_compliance_frameworks_table_compliance_framework_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ComplianceFramework"},"type":"array","title":"Response Table Compliance Frameworks Table Compliance Framework Get"}}}}}}},"/table/vendor":{"get":{"tags":["Table dumps"],"summary":"Table Vendor","description":"Return the Vendor table as-is, without filtering options or relationships resolved.","operationId":"table_vendor_table_vendor_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Vendor"},"type":"array","title":"Response Table Vendor Table Vendor Get"}}}}}}},"/table/region":{"get":{"tags":["Table dumps"],"summary":"Table Region","description":"Return the Region table as-is, without filtering options or relationships resolved.","operationId":"table_region_table_region_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Region"},"type":"array","title":"Response Table Region Table Region Get"}}}}}}},"/table/zone":{"get":{"tags":["Table dumps"],"summary":"Table Zone","description":"Return the Zone table as-is, without filtering options or relationships resolved.","operationId":"table_zone_table_zone_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Zone"},"type":"array","title":"Response Table Zone Table Zone Get"}}}}}}},"/table/server":{"get":{"tags":["Table dumps"],"summary":"Table Server","description":"Return the Server table as-is, without filtering options or relationships resolved.","operationId":"table_server_table_server_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Server"},"type":"array","title":"Response Table Server Table Server Get"}}}}}}},"/table/storage":{"get":{"tags":["Table dumps"],"summary":"Table Storage","description":"Return the Storage table as-is, without filtering options or relationships resolved.","operationId":"table_storage_table_storage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Storage"},"type":"array","title":"Response Table Storage Table Storage Get"}}}}}}},"/storage_prices":{"get":{"summary":"Table Storage Prices","operationId":"table_storage_prices_storage_prices_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"storage_id","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Storages"}},{"type":"null"}],"title":"Storage id","description":"Identifier of the storage type.","category_id":"storage","enum":["30001","30002","30007","block","gp2","gp3","Premium_LRS","PremiumV2_LRS","Premium_ZRS","sc1","st1","standard","Standard_LRS","StandardSSD_LRS","StandardSSD_ZRS","UltraSSD_LRS"]},"description":"Identifier of the storage type."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited","default":50,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited"},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StoragePriceWithPKs"},"title":"Response Table Storage Prices Storage Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/table/server/meta":{"get":{"tags":["Table metadata"],"summary":"Table Metadata Server","description":"Server table and column names and comments.","operationId":"table_metadata_server_table_server_meta_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerTableMetaData"}}}}}}},"/regions":{"get":{"tags":["Query Resources"],"summary":"Search Regions","operationId":"search_regions_regions_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RegionPKs"},"title":"Response Search Regions Regions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}":{"get":{"tags":["Query Resources"],"summary":"Get Server","description":"Query a single server by its vendor id and either the server or, or its API reference.\n\nReturn dictionary includes all server fields, along\nwith the current prices per zone, and\nthe available benchmark scores.","operationId":"get_server_server__vendor___server__get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"Vendor ID.","title":"Vendor"},"description":"Vendor ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"Server ID or API reference.","title":"Server"},"description":"Server ID or API reference."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","title":"Currency"},"description":"Currency used for prices."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerPKsWithPrices"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/servers":{"get":{"tags":["Query Resources"],"summary":"Search Servers","operationId":"search_servers_servers_get","parameters":[{"name":"partial_name_or_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partial name or id","description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name.","category_id":"basic"},"description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name."},{"name":"vcpus_min","in":"query","required":false,"schema":{"type":"integer","maximum":128,"minimum":1,"title":"Minimum vCPUs","description":"Minimum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","default":1},"description":"Minimum number of virtual CPUs."},{"name":"architecture","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuArchitecture"}},{"type":"null"}],"title":"Processor architecture","description":"Processor architecture.","category_id":"processor","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"]},"description":"Processor architecture."},{"name":"benchmark_score_stressng_cpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"SCore","description":"Minimum stress-ng CPU workload score.","category_id":"processor"},"description":"Minimum stress-ng CPU workload score."},{"name":"memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum memory","description":"Minimum amount of memory in GBs.","category_id":"memory","unit":"GB","step":0.1},"description":"Minimum amount of memory in GBs."},{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active only","description":"Filter for active servers only.","category_id":"basic","default":true},"description":"Filter for active servers only."},{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"storage_size","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs) attached to the server.","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs) attached to the server."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"gpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"GPU count","description":"Minimum number of GPUs.","category_id":"gpu","unit":"GPUs"},"description":"Minimum number of GPUs."},{"name":"gpu_memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum GPU memory","description":"Minimum amount of GPU memory (GB) in each GPU.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of GPU memory (GB) in each GPU."},{"name":"gpu_memory_total","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total GPU memory","description":"Minimum amount of total GPU memory (GBs) in all GPUs.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of total GPU memory (GBs) in all GPUs."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited","default":50,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited"},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"vcpus","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPKs"},"title":"Response Search Servers Servers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server_prices":{"get":{"tags":["Query Resources"],"summary":"Search Server Prices","operationId":"search_server_prices_server_prices_get","parameters":[{"name":"partial_name_or_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partial name or id","description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name.","category_id":"basic"},"description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name."},{"name":"vcpus_min","in":"query","required":false,"schema":{"type":"integer","maximum":128,"minimum":1,"title":"Minimum vCPUs","description":"Minimum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","default":1},"description":"Minimum number of virtual CPUs."},{"name":"architecture","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuArchitecture"}},{"type":"null"}],"title":"Processor architecture","description":"Processor architecture.","category_id":"processor","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"]},"description":"Processor architecture."},{"name":"benchmark_score_stressng_cpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"SCore","description":"Minimum stress-ng CPU workload score.","category_id":"processor"},"description":"Minimum stress-ng CPU workload score."},{"name":"memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum memory","description":"Minimum amount of memory in GBs.","category_id":"memory","unit":"GB","step":0.1},"description":"Minimum amount of memory in GBs."},{"name":"price_max","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Maximum price","description":"Maximum price (USD/hr).","category_id":"price","step":0.0001},"description":"Maximum price (USD/hr)."},{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active only","description":"Filter for active servers only.","category_id":"basic","default":true},"description":"Filter for active servers only."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"allocation","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/Allocation"},{"type":"null"}],"title":"Allocation","description":"Server allocation method.","enum":["ondemand","reserved","spot"]},"description":"Server allocation method."},{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"storage_size","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs) attached to the server.","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs) attached to the server."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"gpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"GPU count","description":"Minimum number of GPUs.","category_id":"gpu","unit":"GPUs"},"description":"Minimum number of GPUs."},{"name":"gpu_memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum GPU memory","description":"Minimum amount of GPU memory (GB) in each GPU.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of GPU memory (GB) in each GPU."},{"name":"gpu_memory_total","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total GPU memory","description":"Minimum amount of total GPU memory (GBs) in all GPUs.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of total GPU memory (GBs) in all GPUs."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited","default":50,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited"},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","default":"USD","title":"Currency"},"description":"Currency used for prices."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPriceWithPKs"},"title":"Response Search Server Prices Server Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_server_filters":{"get":{"tags":["AI"],"summary":"Assist Server Filters","description":"Extract Server JSON filters from freetext.","operationId":"assist_server_filters_ai_assist_server_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Server Filters Ai Assist Server Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_server_price_filters":{"get":{"tags":["AI"],"summary":"Assist Server Price Filters","description":"Extract ServerPrice JSON filters from freetext.","operationId":"assist_server_price_filters_ai_assist_server_price_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Server Price Filters Ai Assist Server Price Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Allocation":{"type":"string","enum":["ondemand","reserved","spot"],"title":"Allocation","description":"Server allocation options."},"Benchmark":{"properties":{"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Unique identifier of a specific Benchmark."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"framework":{"type":"string","title":"Framework","description":"The name of the benchmark framework/software/tool used."},"config_fields":{"type":"object","title":"Config Fields","description":"A dictionary of descriptions on the framework-specific config options, e.g. {\"bandwidth\": \"Memory amount to use for compression in MB.\"}.","default":{}},"measurement":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Measurement","description":"The name of measurement recoreded in the benchmark."},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit","description":"Optional unit of measurement for the benchmark score."},"higher_is_better":{"type":"boolean","title":"Higher Is Better","description":"If higher benchmark score means better performance, or vica versa.","default":true},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["benchmark_id","name","description","framework"],"title":"Benchmark","description":"Benchmark scenario definitions.\n\nAttributes:\n benchmark_id (str): Unique identifier of a specific Benchmark.\n name (str): Human-friendly name.\n description (typing.Optional[str]): Short description.\n framework (str): The name of the benchmark framework/software/tool used.\n config_fields (dict): A dictionary of descriptions on the framework-specific config options, e.g. {\"bandwidth\": \"Memory amount to use for compression in MB.\"}.\n measurement (typing.Optional[str]): The name of measurement recoreded in the benchmark.\n unit (typing.Optional[str]): Optional unit of measurement for the benchmark score.\n higher_is_better (bool): If higher benchmark score means better performance, or vica versa.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"benchmark_id":"geekbench:hdr","config_fields":{"cores":"Single-Core or Multi-Core peformance tests.","framework_version":"Version number of geekbench."},"description":"Blends six 16MP SDR photos to create a single HDR photo, using a recovery process and radiance map construction (Debevec and Malik 1997), and a tone mapping algorithm (Reinhard and Devlin 2005).The score is calibrated against a baseline score of 2,500 (Dell Precision 3460 with a Core i7-12700 processor) as per the Geekbench 6 Benchmark Internals.","framework":"geekbench","higher_is_better":true,"measurement":"hdr","name":"Geekbench: HDR","observed_at":"2024-08-22T06:29:12.606807","status":"active"}]},"BenchmarkScoreBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Reference to the Benchmark."},"config":{"type":"object","title":"Config","description":"Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}","default":{}},"score":{"type":"number","title":"Score","description":"The resulting score of the benchmark."},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Optional note, comment or context on the benchmark score."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","benchmark_id","score"],"title":"BenchmarkScoreBase"},"ComplianceFramework":{"properties":{"compliance_framework_id":{"type":"string","title":"Compliance Framework Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"abbreviation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abbreviation","description":"Short abbreviation of the Framework name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Description of the framework in a few paragrahs, outlining key features and characteristics for reference."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Framework's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage with more information on the Framework."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["compliance_framework_id","name","abbreviation","description"],"title":"ComplianceFramework","description":"List of Compliance Frameworks, such as HIPAA or SOC 2 Type 1.\n\nAttributes:\n compliance_framework_id (str): Unique identifier.\n name (str): Human-friendly name.\n abbreviation (typing.Optional[str]): Short abbreviation of the Framework name.\n description (typing.Optional[str]): Description of the framework in a few paragrahs, outlining key features and characteristics for reference.\n logo (typing.Optional[str]): Publicly accessible URL to the image of the Framework's logo.\n homepage (typing.Optional[str]): Public homepage with more information on the Framework.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"abbreviation":"HIPAA","compliance_framework_id":"hipaa","description":"HIPAA (Health Insurance Portability and Accountability Act) is a U.S. federal law designed to safeguard the privacy and security of individuals' health information, establishing standards for its protection and regulating its use in the healthcare industry.","homepage":"https://www.cdc.gov/phlp/publications/topic/hipaa.html","name":"The Health Insurance Portability and Accountability Act","observed_at":"2024-08-22T06:29:12.604800","status":"active"}]},"ComplianceFrameworks":{"type":"string","enum":["hipaa","iso27001","soc2t2"],"title":"ComplianceFrameworks"},"Country":{"properties":{"country_id":{"type":"string","title":"Country Id","description":"Country code by ISO 3166 alpha-2."},"continent":{"type":"string","title":"Continent","description":"Continent name."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["country_id","continent"],"title":"Country","description":"Country and continent mapping.\n\nAttributes:\n country_id (str): Country code by ISO 3166 alpha-2.\n continent (str): Continent name.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"continent":"Asia","country_id":"AE","observed_at":"2024-08-22T06:29:12.603015","status":"active"}]},"CountryBase":{"properties":{"country_id":{"type":"string","title":"Country Id","description":"Country code by ISO 3166 alpha-2."},"continent":{"type":"string","title":"Continent","description":"Continent name."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["country_id","continent"],"title":"CountryBase"},"Cpu":{"properties":{"manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Manufacturer"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cores"},"threads":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Threads"},"l1_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L1 Cache Size"},"l2_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L2 Cache Size"},"l3_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L3 Cache Size"},"microcode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Microcode"},"capabilities":{"items":{"type":"string"},"type":"array","title":"Capabilities","default":[]},"bugs":{"items":{"type":"string"},"type":"array","title":"Bugs","default":[]},"bogomips":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Bogomips"}},"type":"object","title":"Cpu","description":"CPU details."},"CpuAllocation":{"type":"string","enum":["Shared","Burstable","Dedicated"],"title":"CpuAllocation","description":"CPU allocation methods at cloud vendors."},"CpuArchitecture":{"type":"string","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"],"title":"CpuArchitecture","description":"CPU architectures."},"DdrGeneration":{"type":"string","enum":["DDR3","DDR4","DDR5"],"title":"DdrGeneration","description":"Generation of the DDR SDRAM."},"Disk":{"properties":{"size":{"type":"integer","title":"Size","default":0},"storage_type":{"$ref":"#/components/schemas/StorageType"}},"type":"object","required":["storage_type"],"title":"Disk","description":"Disk definition based on size and storage type."},"Gpu":{"properties":{"manufacturer":{"type":"string","title":"Manufacturer"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"memory":{"type":"integer","title":"Memory"},"firmware_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firmware Version"},"bios_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bios Version"},"graphics_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Graphics Clock"},"sm_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sm Clock"},"mem_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Mem Clock"},"video_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Video Clock"}},"type":"object","required":["manufacturer","memory"],"title":"Gpu","description":"GPU accelerator details."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"IdNameAndDescriptionAndCategory":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"id":{"type":"string","title":"Id"},"category":{"type":"string","title":"Category"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"}},"type":"object","required":["name","description","id","category","unit"],"title":"IdNameAndDescriptionAndCategory"},"NameAndDescription":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"}},"type":"object","required":["name","description"],"title":"NameAndDescription"},"OrderDir":{"type":"string","enum":["asc","desc"],"title":"OrderDir"},"PriceTier":{"properties":{"lower":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Lower"},"upper":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Upper"},"price":{"type":"number","title":"Price"}},"type":"object","required":["lower","upper","price"],"title":"PriceTier","description":"Price tier definition.\n\nAs standard JSON does not support Inf, NaN etc values,\nthose should be passed as string, e.g. for the upper bound.\n\nSee [float_inf_to_str][sc_crawler.utils.float_inf_to_str] for\nconverting an infinite numeric value into \"Infinity\"."},"PriceUnit":{"type":"string","enum":["year","month","hour","GiB","GB","GB/month"],"title":"PriceUnit","description":"Supported units for the price tables."},"Region":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id"],"title":"Region","description":"Regions of Vendors.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n aliases (typing.List[str]): List of other commonly used names for the same Region.\n country_id (str): Reference to the Country, where the Region is located.\n state (typing.Optional[str]): Optional state/administrative area of the Region's location within the Country.\n city (typing.Optional[str]): Optional city name of the Region's location.\n address_line (typing.Optional[str]): Optional address line of the Region's location.\n zip_code (typing.Optional[str]): Optional ZIP code of the Region's location.\n lon (typing.Optional[float]): Longitude coordinate of the Region's known or approximate location.\n lat (typing.Optional[float]): Latitude coordinate of the Region's known or approximate location.\n founding_year (typing.Optional[int]): 4-digit year when the Region was founded.\n green_energy (typing.Optional[bool]): If the Region is 100% powered by renewable energy.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-08-22T06:15:47.621638","region_id":"af-south-1","status":"active","vendor_id":"aws"}]},"RegionBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id"],"title":"RegionBase"},"RegionBaseWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"country":{"$ref":"#/components/schemas/CountryBase"}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id","country"],"title":"RegionBaseWithPKs"},"RegionPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"vendor":{"$ref":"#/components/schemas/VendorBase"}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id","vendor"],"title":"RegionPKs","examples":[{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-08-22T06:15:47.621638","region_id":"af-south-1","status":"active","vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-08-22T06:29:12.607517","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws"}]},"Regions":{"type":"string","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"],"title":"Regions"},"Server":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"Server","description":"Server types.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n server_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n description (typing.Optional[str]): Short description.\n family (typing.Optional[str]): Server family, e.g. General-purpose machine (GCP), or M5g (AWS).\n vcpus (int): Default number of virtual CPUs (vCPU) of the server.\n hypervisor (typing.Optional[str]): Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated.\n cpu_allocation (CpuAllocation): Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated.\n cpu_cores (typing.Optional[int]): Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled.\n cpu_speed (typing.Optional[float]): Vendor-reported maximum CPU clock speed (GHz).\n cpu_architecture (CpuArchitecture): CPU architecture (arm64, arm64_mac, i386, or x86_64).\n cpu_manufacturer (typing.Optional[str]): The manufacturer of the primary processor, e.g. Intel or AMD.\n cpu_family (typing.Optional[str]): The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9.\n cpu_model (typing.Optional[str]): The model number of the primary processor, e.g. 9750H.\n cpu_l1_cache (typing.Optional[int]): L1 cache size (byte).\n cpu_l2_cache (typing.Optional[int]): L2 cache size (byte).\n cpu_l3_cache (typing.Optional[int]): L3 cache size (byte).\n cpu_flags (typing.List[str]): CPU features/flags.\n cpus (typing.List[sc_crawler.table_fields.Cpu]): JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.\n memory_amount (int): RAM amount (MiB).\n memory_generation (typing.Optional[sc_crawler.table_fields.DdrGeneration]): Generation of the DDR SDRAM, e.g. DDR4 or DDR5.\n memory_speed (typing.Optional[int]): DDR SDRAM clock rate (Mhz).\n memory_ecc (typing.Optional[bool]): If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption.\n gpu_count (int): Number of GPU accelerator(s).\n gpu_memory_min (typing.Optional[int]): Memory (MiB) allocated to the lowest-end GPU accelerator.\n gpu_memory_total (typing.Optional[int]): Overall memory (MiB) allocated to all the GPU accelerator(s).\n gpu_manufacturer (typing.Optional[str]): The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD.\n gpu_family (typing.Optional[str]): The product family of the primary GPU accelerator, e.g. Turing.\n gpu_model (typing.Optional[str]): The model number of the primary GPU accelerator, e.g. Tesla T4.\n gpus (typing.List[sc_crawler.table_fields.Gpu]): JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.\n storage_size (int): Overall size (GB) of the disk(s).\n storage_type (typing.Optional[sc_crawler.table_fields.StorageType]): Primary disk type, e.g. HDD, SSD, NVMe SSD, or network).\n storages (typing.List[sc_crawler.table_fields.Disk]): JSON array of disks attached to the server, including the size (MiB) and type of each disk.\n network_speed (typing.Optional[float]): The baseline network performance (Gbps) of the network card.\n inbound_traffic (float): Amount of complimentary inbound traffic (GB) per month.\n outbound_traffic (float): Amount of complimentary outbound traffic (GB) per month.\n ipv4 (int): Number of complimentary IPv4 address(es).\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-08-22T06:16:34.538749","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"}]},"ServerPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"},"vendor":{"$ref":"#/components/schemas/VendorBase"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description","vendor"],"title":"ServerPKs","examples":[{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-08-22T06:16:34.538749","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"}]},"ServerPKsWithPrices":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"prices":{"items":{"$ref":"#/components/schemas/ServerPricePKs"},"type":"array","title":"Prices"},"benchmark_scores":{"items":{"$ref":"#/components/schemas/BenchmarkScoreBase"},"type":"array","title":"Benchmark Scores"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description","vendor","prices","benchmark_scores"],"title":"ServerPKsWithPrices","examples":[{"api_reference":"a1.2xlarge","benchmark_scores":[{"benchmark_id":"geekbench:hdr","config_fields":{"cores":"Single-Core or Multi-Core peformance tests.","framework_version":"Version number of geekbench."},"description":"Blends six 16MP SDR photos to create a single HDR photo, using a recovery process and radiance map construction (Debevec and Malik 1997), and a tone mapping algorithm (Reinhard and Devlin 2005).The score is calibrated against a baseline score of 2,500 (Dell Precision 3460 with a Core i7-12700 processor) as per the Geekbench 6 Benchmark Internals.","framework":"geekbench","higher_is_better":true,"measurement":"hdr","name":"Geekbench: HDR","observed_at":"2024-08-22T06:29:12.606807","status":"active"}],"cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-08-22T06:16:34.538749","outbound_traffic":0.0,"price":7,"prices":[{"allocation":"ondemand","currency":"USD","observed_at":"2024-08-22T06:17:52.039554","operating_system":"Linux","price":2.736,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-08-22T06:15:47.621638","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"af-south-1","server_id":"c5.12xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-08-22T06:15:50.811566","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"afs1-az1"},{"allocation":"spot","currency":"USD","observed_at":"2024-08-22T03:16:20","operating_system":"Linux","price":0.9111,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-08-22T06:15:47.621638","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"af-south-1","server_id":"c5.12xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-08-22T06:15:50.811566","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"afs1-az1"},{"allocation":"ondemand","currency":"USD","observed_at":"2024-08-22T06:17:51.827319","operating_system":"Linux","price":4.104,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-08-22T06:15:47.621638","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"af-south-1","server_id":"c5.18xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-08-22T06:15:50.811566","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"afs1-az1"},{"allocation":"spot","currency":"USD","observed_at":"2024-08-22T04:15:56","operating_system":"Linux","price":1.1631,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-08-22T06:15:47.621638","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"af-south-1","server_id":"c5.18xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-08-22T06:15:50.811566","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"afs1-az1"},{"allocation":"ondemand","currency":"USD","observed_at":"2024-08-22T06:17:51.882082","operating_system":"Linux","price":5.472,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-08-22T06:15:47.621638","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"af-south-1","server_id":"c5.24xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-08-22T06:15:50.811566","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"afs1-az1"}],"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-08-22T06:29:12.607517","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws"}]},"ServerPricePKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"allOf":[{"$ref":"#/components/schemas/Allocation"}],"description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBase"},"zone":{"$ref":"#/components/schemas/ZoneBase"}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price","region","zone"],"title":"ServerPricePKs"},"ServerPriceWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"allOf":[{"$ref":"#/components/schemas/Allocation"}],"description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"vendor":{"$ref":"#/components/schemas/VendorBase"},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"zone":{"$ref":"#/components/schemas/ZoneBase"},"server":{"$ref":"#/components/schemas/ServerWithScore"}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price","vendor","region","zone","server"],"title":"ServerPriceWithPKs","examples":[{"allocation":"ondemand","currency":"USD","observed_at":"2024-08-22T06:17:52.039554","operating_system":"Linux","price":2.736,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country":{"continent":"Asia","country_id":"AE","observed_at":"2024-08-22T06:29:12.603015","status":"active"},"country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-08-22T06:15:47.621638","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"af-south-1","server":{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-08-22T06:16:34.538749","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"},"server_id":"c5.12xlarge","status":"active","unit":"hour","vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-08-22T06:29:12.607517","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-08-22T06:15:50.811566","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"afs1-az1"}]},"ServerTableMetaData":{"properties":{"table":{"$ref":"#/components/schemas/NameAndDescription"},"fields":{"items":{"$ref":"#/components/schemas/IdNameAndDescriptionAndCategory"},"type":"array","title":"Fields"}},"type":"object","required":["table","fields"],"title":"ServerTableMetaData"},"ServerWithScore":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"ServerWithScore"},"Status":{"type":"string","enum":["active","inactive"],"title":"Status","description":"Last known status of a resource, e.g. active or inactive."},"Storage":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"storage_id":{"type":"string","title":"Storage Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"storage_type":{"allOf":[{"$ref":"#/components/schemas/StorageType"}],"description":"High-level category of the storage, e.g. HDD or SDD."},"max_iops":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Iops","description":"Maximum Input/Output Operations Per Second."},"max_throughput":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Throughput","description":"Maximum Throughput (MiB/s)."},"min_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Size","description":"Minimum required size (GiB)."},"max_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Size","description":"Maximum possible size (GiB)."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","storage_id","name","description","storage_type"],"title":"Storage","description":"Flexible storage options that can be attached to a Server.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n storage_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n description (typing.Optional[str]): Short description.\n storage_type (StorageType): High-level category of the storage, e.g. HDD or SDD.\n max_iops (typing.Optional[int]): Maximum Input/Output Operations Per Second.\n max_throughput (typing.Optional[int]): Maximum Throughput (MiB/s).\n min_size (typing.Optional[int]): Minimum required size (GiB).\n max_size (typing.Optional[int]): Maximum possible size (GiB).\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"description":"SSD-backed","max_iops":16000,"max_size":16384,"max_throughput":250,"min_size":1,"name":"General Purpose","observed_at":"2024-08-22T06:18:30.579446","status":"active","storage_id":"gp2","storage_type":"ssd","vendor_id":"aws"}]},"StorageBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"storage_id":{"type":"string","title":"Storage Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"storage_type":{"allOf":[{"$ref":"#/components/schemas/StorageType"}],"description":"High-level category of the storage, e.g. HDD or SDD."},"max_iops":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Iops","description":"Maximum Input/Output Operations Per Second."},"max_throughput":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Throughput","description":"Maximum Throughput (MiB/s)."},"min_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Size","description":"Minimum required size (GiB)."},"max_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Size","description":"Maximum possible size (GiB)."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","storage_id","name","description","storage_type"],"title":"StorageBase"},"StoragePriceWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"storage_id":{"type":"string","title":"Storage Id","description":"Reference to the Storage."},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"storage":{"$ref":"#/components/schemas/StorageBase"}},"type":"object","required":["vendor_id","region_id","storage_id","unit","price","region","vendor","storage"],"title":"StoragePriceWithPKs"},"StorageType":{"type":"string","enum":["hdd","ssd","nvme ssd","network"],"title":"StorageType","description":"Type of a storage, e.g. HDD or SSD."},"Storages":{"type":"string","enum":["30001","30002","30007","block","gp2","gp3","Premium_LRS","PremiumV2_LRS","Premium_ZRS","sc1","st1","standard","Standard_LRS","StandardSSD_LRS","StandardSSD_ZRS","UltraSSD_LRS"],"title":"Storages"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"Vendor":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Vendor's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage of the Vendor."},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Vendor's main headquarter is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Vendor's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Vendor's main location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Vendor's main location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Vendor's main location."},"founding_year":{"type":"integer","title":"Founding Year","description":"4-digit year when the Vendor was founded."},"status_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Page","description":"Public status page of the Vendor."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","name","country_id","founding_year"],"title":"Vendor","description":"Compute resource vendors, such as cloud and server providers.\n\n Examples:\n >>> from sc_crawler.tables import Vendor\n >>> from sc_crawler.lookup import countries\n >>> aws = Vendor(vendor_id='aws', name='Amazon Web Services', homepage='https://aws.amazon.com', country=countries[\"US\"], founding_year=2002)\n >>> aws\n Vendor(vendor_id='aws'...\n >>> from sc_crawler import vendors\n >>> vendors.aws\n Vendor(vendor_id='aws'...\n \n\nAttributes:\n vendor_id (str): Unique identifier.\n name (str): Human-friendly name.\n logo (typing.Optional[str]): Publicly accessible URL to the image of the Vendor's logo.\n homepage (typing.Optional[str]): Public homepage of the Vendor.\n country_id (str): Reference to the Country, where the Vendor's main headquarter is located.\n state (typing.Optional[str]): Optional state/administrative area of the Vendor's location within the Country.\n city (typing.Optional[str]): Optional city name of the Vendor's main location.\n address_line (typing.Optional[str]): Optional address line of the Vendor's main location.\n zip_code (typing.Optional[str]): Optional ZIP code of the Vendor's main location.\n founding_year (int): 4-digit year when the Vendor was founded.\n status_page (typing.Optional[str]): Public status page of the Vendor.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-08-22T06:29:12.607517","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"}]},"VendorBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Vendor's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage of the Vendor."},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Vendor's main headquarter is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Vendor's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Vendor's main location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Vendor's main location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Vendor's main location."},"founding_year":{"type":"integer","title":"Founding Year","description":"4-digit year when the Vendor was founded."},"status_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Page","description":"Public status page of the Vendor."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","name","country_id","founding_year"],"title":"VendorBase"},"Vendors":{"type":"string","enum":["aws","azure","gcp","hcloud"],"title":"Vendors"},"Zone":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","name","api_reference","display_name"],"title":"Zone","description":"Availability zones of Regions.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Reference to the Region.\n zone_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-08-22T06:15:50.811566","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"}]},"ZoneBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","name","api_reference","display_name"],"title":"ZoneBase"}}}} +{"openapi":"3.1.0","info":{"title":"Spare Cores (SC) Keeper","description":"\nAPI to search and serve data collected on cloud compute resources.\n\n## Licensing\n\nThis is a free service provided by the Spare Cores team, without any warranty.\nThe source code of the API is licensed under MPL-2.0, find more details at\n.\n\n## References\n\n- Spare Cores: \n- SC Keeper: \n- SC Crawler: \n- SC Data: \n","contact":{"name":"Spare Cores Team","email":"social@sparecores.com"},"license":{"name":"Mozilla Public License 2.0 (MPL 2.0)","url":"http://mozilla.org/MPL/2.0/"},"version":"0.0.1"},"paths":{"/healthcheck":{"get":{"tags":["Administrative endpoints"],"summary":"Healthcheck","description":"Return database hash and last udpated timestamp.","operationId":"healthcheck_healthcheck_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Healthcheck Healthcheck Get"}}}}}}},"/table/benchmark":{"get":{"tags":["Table dumps"],"summary":"Table Benchmark","description":"Return the Benchmark table as-is, without filtering options or relationships resolved.","operationId":"table_benchmark_table_benchmark_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Benchmark"},"type":"array","title":"Response Table Benchmark Table Benchmark Get"}}}}}}},"/table/country":{"get":{"tags":["Table dumps"],"summary":"Table Country","description":"Return the Country table as-is, without filtering options or relationships resolved.","operationId":"table_country_table_country_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Country"},"type":"array","title":"Response Table Country Table Country Get"}}}}}}},"/table/compliance_framework":{"get":{"tags":["Table dumps"],"summary":"Table Compliance Frameworks","description":"Return the ComplianceFramework table as-is, without filtering options or relationships resolved.","operationId":"table_compliance_frameworks_table_compliance_framework_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ComplianceFramework"},"type":"array","title":"Response Table Compliance Frameworks Table Compliance Framework Get"}}}}}}},"/table/vendor":{"get":{"tags":["Table dumps"],"summary":"Table Vendor","description":"Return the Vendor table as-is, without filtering options or relationships resolved.","operationId":"table_vendor_table_vendor_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Vendor"},"type":"array","title":"Response Table Vendor Table Vendor Get"}}}}}}},"/table/region":{"get":{"tags":["Table dumps"],"summary":"Table Region","description":"Return the Region table as-is, without filtering options or relationships resolved.","operationId":"table_region_table_region_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Region"},"type":"array","title":"Response Table Region Table Region Get"}}}}}}},"/table/zone":{"get":{"tags":["Table dumps"],"summary":"Table Zone","description":"Return the Zone table as-is, without filtering options or relationships resolved.","operationId":"table_zone_table_zone_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Zone"},"type":"array","title":"Response Table Zone Table Zone Get"}}}}}}},"/table/server":{"get":{"tags":["Table dumps"],"summary":"Table Server","description":"Return the Server table as-is, without filtering options or relationships resolved.","operationId":"table_server_table_server_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Server"},"type":"array","title":"Response Table Server Table Server Get"}}}}}}},"/table/storage":{"get":{"tags":["Table dumps"],"summary":"Table Storage","description":"Return the Storage table as-is, without filtering options or relationships resolved.","operationId":"table_storage_table_storage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Storage"},"type":"array","title":"Response Table Storage Table Storage Get"}}}}}}},"/storage_prices":{"get":{"summary":"Table Storage Prices","operationId":"table_storage_prices_storage_prices_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"storage_id","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Storages"}},{"type":"null"}],"title":"Storage id","description":"Identifier of the storage type.","category_id":"storage","enum":["30001","30002","30007","block","gp2","gp3","Premium_LRS","PremiumV2_LRS","Premium_ZRS","sc1","st1","standard","Standard_LRS","StandardSSD_LRS","StandardSSD_ZRS","UltraSSD_LRS"]},"description":"Identifier of the storage type."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited","default":50,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited"},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StoragePriceWithPKs"},"title":"Response Table Storage Prices Storage Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/table/server/meta":{"get":{"tags":["Table metadata"],"summary":"Table Metadata Server","description":"Server table and column names and comments.","operationId":"table_metadata_server_table_server_meta_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerTableMetaData"}}}}}}},"/regions":{"get":{"tags":["Query Resources"],"summary":"Search Regions","operationId":"search_regions_regions_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RegionPKs"},"title":"Response Search Regions Regions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}":{"get":{"tags":["Query Resources"],"summary":"Get Server","description":"Query a single server by its vendor id and either the server or, or its API reference.\n\nReturn dictionary includes all server fields, along\nwith the current prices per zone, and\nthe available benchmark scores.","operationId":"get_server_server__vendor___server__get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"Vendor ID.","title":"Vendor"},"description":"Vendor ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"Server ID or API reference.","title":"Server"},"description":"Server ID or API reference."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","title":"Currency"},"description":"Currency used for prices."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerPKsWithPrices"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/servers":{"get":{"tags":["Query Resources"],"summary":"Search Servers","operationId":"search_servers_servers_get","parameters":[{"name":"partial_name_or_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partial name or id","description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name.","category_id":"basic"},"description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name."},{"name":"vcpus_min","in":"query","required":false,"schema":{"type":"integer","maximum":128,"minimum":1,"title":"Minimum vCPUs","description":"Minimum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","default":1},"description":"Minimum number of virtual CPUs."},{"name":"architecture","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuArchitecture"}},{"type":"null"}],"title":"Processor architecture","description":"Processor architecture.","category_id":"processor","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"]},"description":"Processor architecture."},{"name":"benchmark_score_stressng_cpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"SCore","description":"Minimum stress-ng CPU workload score.","category_id":"processor"},"description":"Minimum stress-ng CPU workload score."},{"name":"memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum memory","description":"Minimum amount of memory in GBs.","category_id":"memory","unit":"GB","step":0.1},"description":"Minimum amount of memory in GBs."},{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active only","description":"Filter for active servers only.","category_id":"basic","default":true},"description":"Filter for active servers only."},{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"storage_size","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs) attached to the server.","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs) attached to the server."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"gpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"GPU count","description":"Minimum number of GPUs.","category_id":"gpu","unit":"GPUs"},"description":"Minimum number of GPUs."},{"name":"gpu_memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum GPU memory","description":"Minimum amount of GPU memory (GB) in each GPU.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of GPU memory (GB) in each GPU."},{"name":"gpu_memory_total","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total GPU memory","description":"Minimum amount of total GPU memory (GBs) in all GPUs.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of total GPU memory (GBs) in all GPUs."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited","default":50,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited"},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"vcpus","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPKs"},"title":"Response Search Servers Servers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server_prices":{"get":{"tags":["Query Resources"],"summary":"Search Server Prices","operationId":"search_server_prices_server_prices_get","parameters":[{"name":"partial_name_or_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partial name or id","description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name.","category_id":"basic"},"description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name."},{"name":"vcpus_min","in":"query","required":false,"schema":{"type":"integer","maximum":128,"minimum":1,"title":"Minimum vCPUs","description":"Minimum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","default":1},"description":"Minimum number of virtual CPUs."},{"name":"architecture","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuArchitecture"}},{"type":"null"}],"title":"Processor architecture","description":"Processor architecture.","category_id":"processor","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"]},"description":"Processor architecture."},{"name":"benchmark_score_stressng_cpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"SCore","description":"Minimum stress-ng CPU workload score.","category_id":"processor"},"description":"Minimum stress-ng CPU workload score."},{"name":"memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum memory","description":"Minimum amount of memory in GBs.","category_id":"memory","unit":"GB","step":0.1},"description":"Minimum amount of memory in GBs."},{"name":"price_max","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Maximum price","description":"Maximum price (USD/hr).","category_id":"price","step":0.0001},"description":"Maximum price (USD/hr)."},{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active only","description":"Filter for active servers only.","category_id":"basic","default":true},"description":"Filter for active servers only."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"allocation","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/Allocation"},{"type":"null"}],"title":"Allocation","description":"Server allocation method.","enum":["ondemand","reserved","spot"]},"description":"Server allocation method."},{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"storage_size","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs) attached to the server.","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs) attached to the server."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"gpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"GPU count","description":"Minimum number of GPUs.","category_id":"gpu","unit":"GPUs"},"description":"Minimum number of GPUs."},{"name":"gpu_memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum GPU memory","description":"Minimum amount of GPU memory (GB) in each GPU.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of GPU memory (GB) in each GPU."},{"name":"gpu_memory_total","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total GPU memory","description":"Minimum amount of total GPU memory (GBs) in all GPUs.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of total GPU memory (GBs) in all GPUs."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited","default":50,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited"},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","default":"USD","title":"Currency"},"description":"Currency used for prices."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPriceWithPKs"},"title":"Response Search Server Prices Server Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_server_filters":{"get":{"tags":["AI"],"summary":"Assist Server Filters","description":"Extract Server JSON filters from freetext.","operationId":"assist_server_filters_ai_assist_server_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Server Filters Ai Assist Server Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_server_price_filters":{"get":{"tags":["AI"],"summary":"Assist Server Price Filters","description":"Extract ServerPrice JSON filters from freetext.","operationId":"assist_server_price_filters_ai_assist_server_price_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Server Price Filters Ai Assist Server Price Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Allocation":{"type":"string","enum":["ondemand","reserved","spot"],"title":"Allocation","description":"Server allocation options."},"Benchmark":{"properties":{"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Unique identifier of a specific Benchmark."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"framework":{"type":"string","title":"Framework","description":"The name of the benchmark framework/software/tool used."},"config_fields":{"type":"object","title":"Config Fields","description":"A dictionary of descriptions on the framework-specific config options, e.g. {\"bandwidth\": \"Memory amount to use for compression in MB.\"}.","default":{}},"measurement":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Measurement","description":"The name of measurement recoreded in the benchmark."},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit","description":"Optional unit of measurement for the benchmark score."},"higher_is_better":{"type":"boolean","title":"Higher Is Better","description":"If higher benchmark score means better performance, or vica versa.","default":true},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["benchmark_id","name","description","framework"],"title":"Benchmark","description":"Benchmark scenario definitions.\n\nAttributes:\n benchmark_id (str): Unique identifier of a specific Benchmark.\n name (str): Human-friendly name.\n description (typing.Optional[str]): Short description.\n framework (str): The name of the benchmark framework/software/tool used.\n config_fields (dict): A dictionary of descriptions on the framework-specific config options, e.g. {\"bandwidth\": \"Memory amount to use for compression in MB.\"}.\n measurement (typing.Optional[str]): The name of measurement recoreded in the benchmark.\n unit (typing.Optional[str]): Optional unit of measurement for the benchmark score.\n higher_is_better (bool): If higher benchmark score means better performance, or vica versa.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"benchmark_id":"geekbench:hdr","config_fields":{"cores":"Single-Core or Multi-Core peformance tests.","framework_version":"Version number of geekbench."},"description":"Blends six 16MP SDR photos to create a single HDR photo, using a recovery process and radiance map construction (Debevec and Malik 1997), and a tone mapping algorithm (Reinhard and Devlin 2005).The score is calibrated against a baseline score of 2,500 (Dell Precision 3460 with a Core i7-12700 processor) as per the Geekbench 6 Benchmark Internals.","framework":"geekbench","higher_is_better":true,"measurement":"hdr","name":"Geekbench: HDR","observed_at":"2024-08-22T06:54:54.002026","status":"active"}]},"BenchmarkScoreBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Reference to the Benchmark."},"config":{"type":"object","title":"Config","description":"Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}","default":{}},"score":{"type":"number","title":"Score","description":"The resulting score of the benchmark."},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Optional note, comment or context on the benchmark score."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","benchmark_id","score"],"title":"BenchmarkScoreBase"},"ComplianceFramework":{"properties":{"compliance_framework_id":{"type":"string","title":"Compliance Framework Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"abbreviation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abbreviation","description":"Short abbreviation of the Framework name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Description of the framework in a few paragrahs, outlining key features and characteristics for reference."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Framework's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage with more information on the Framework."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["compliance_framework_id","name","abbreviation","description"],"title":"ComplianceFramework","description":"List of Compliance Frameworks, such as HIPAA or SOC 2 Type 1.\n\nAttributes:\n compliance_framework_id (str): Unique identifier.\n name (str): Human-friendly name.\n abbreviation (typing.Optional[str]): Short abbreviation of the Framework name.\n description (typing.Optional[str]): Description of the framework in a few paragrahs, outlining key features and characteristics for reference.\n logo (typing.Optional[str]): Publicly accessible URL to the image of the Framework's logo.\n homepage (typing.Optional[str]): Public homepage with more information on the Framework.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"abbreviation":"HIPAA","compliance_framework_id":"hipaa","description":"HIPAA (Health Insurance Portability and Accountability Act) is a U.S. federal law designed to safeguard the privacy and security of individuals' health information, establishing standards for its protection and regulating its use in the healthcare industry.","homepage":"https://www.cdc.gov/phlp/publications/topic/hipaa.html","name":"The Health Insurance Portability and Accountability Act","observed_at":"2024-08-22T06:54:53.999966","status":"active"}]},"ComplianceFrameworks":{"type":"string","enum":["hipaa","iso27001","soc2t2"],"title":"ComplianceFrameworks"},"Country":{"properties":{"country_id":{"type":"string","title":"Country Id","description":"Country code by ISO 3166 alpha-2."},"continent":{"type":"string","title":"Continent","description":"Continent name."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["country_id","continent"],"title":"Country","description":"Country and continent mapping.\n\nAttributes:\n country_id (str): Country code by ISO 3166 alpha-2.\n continent (str): Continent name.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"continent":"Asia","country_id":"AE","observed_at":"2024-08-22T06:54:53.998242","status":"active"}]},"CountryBase":{"properties":{"country_id":{"type":"string","title":"Country Id","description":"Country code by ISO 3166 alpha-2."},"continent":{"type":"string","title":"Continent","description":"Continent name."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["country_id","continent"],"title":"CountryBase"},"Cpu":{"properties":{"manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Manufacturer"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cores"},"threads":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Threads"},"l1_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L1 Cache Size"},"l2_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L2 Cache Size"},"l3_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L3 Cache Size"},"microcode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Microcode"},"capabilities":{"items":{"type":"string"},"type":"array","title":"Capabilities","default":[]},"bugs":{"items":{"type":"string"},"type":"array","title":"Bugs","default":[]},"bogomips":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Bogomips"}},"type":"object","title":"Cpu","description":"CPU details."},"CpuAllocation":{"type":"string","enum":["Shared","Burstable","Dedicated"],"title":"CpuAllocation","description":"CPU allocation methods at cloud vendors."},"CpuArchitecture":{"type":"string","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"],"title":"CpuArchitecture","description":"CPU architectures."},"DdrGeneration":{"type":"string","enum":["DDR3","DDR4","DDR5"],"title":"DdrGeneration","description":"Generation of the DDR SDRAM."},"Disk":{"properties":{"size":{"type":"integer","title":"Size","default":0},"storage_type":{"$ref":"#/components/schemas/StorageType"}},"type":"object","required":["storage_type"],"title":"Disk","description":"Disk definition based on size and storage type."},"Gpu":{"properties":{"manufacturer":{"type":"string","title":"Manufacturer"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"memory":{"type":"integer","title":"Memory"},"firmware_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firmware Version"},"bios_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bios Version"},"graphics_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Graphics Clock"},"sm_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sm Clock"},"mem_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Mem Clock"},"video_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Video Clock"}},"type":"object","required":["manufacturer","memory"],"title":"Gpu","description":"GPU accelerator details."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"IdNameAndDescriptionAndCategory":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"id":{"type":"string","title":"Id"},"category":{"type":"string","title":"Category"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"}},"type":"object","required":["name","description","id","category","unit"],"title":"IdNameAndDescriptionAndCategory"},"NameAndDescription":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"}},"type":"object","required":["name","description"],"title":"NameAndDescription"},"OrderDir":{"type":"string","enum":["asc","desc"],"title":"OrderDir"},"PriceTier":{"properties":{"lower":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Lower"},"upper":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Upper"},"price":{"type":"number","title":"Price"}},"type":"object","required":["lower","upper","price"],"title":"PriceTier","description":"Price tier definition.\n\nAs standard JSON does not support Inf, NaN etc values,\nthose should be passed as string, e.g. for the upper bound.\n\nSee [float_inf_to_str][sc_crawler.utils.float_inf_to_str] for\nconverting an infinite numeric value into \"Infinity\"."},"PriceUnit":{"type":"string","enum":["year","month","hour","GiB","GB","GB/month"],"title":"PriceUnit","description":"Supported units for the price tables."},"Region":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id"],"title":"Region","description":"Regions of Vendors.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n aliases (typing.List[str]): List of other commonly used names for the same Region.\n country_id (str): Reference to the Country, where the Region is located.\n state (typing.Optional[str]): Optional state/administrative area of the Region's location within the Country.\n city (typing.Optional[str]): Optional city name of the Region's location.\n address_line (typing.Optional[str]): Optional address line of the Region's location.\n zip_code (typing.Optional[str]): Optional ZIP code of the Region's location.\n lon (typing.Optional[float]): Longitude coordinate of the Region's known or approximate location.\n lat (typing.Optional[float]): Latitude coordinate of the Region's known or approximate location.\n founding_year (typing.Optional[int]): 4-digit year when the Region was founded.\n green_energy (typing.Optional[bool]): If the Region is 100% powered by renewable energy.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-08-22T06:15:47.621638","region_id":"af-south-1","status":"active","vendor_id":"aws"}]},"RegionBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id"],"title":"RegionBase"},"RegionBaseWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"country":{"$ref":"#/components/schemas/CountryBase"}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id","country"],"title":"RegionBaseWithPKs"},"RegionPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"vendor":{"$ref":"#/components/schemas/VendorBase"}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id","vendor"],"title":"RegionPKs","examples":[{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-08-22T06:15:47.621638","region_id":"af-south-1","status":"active","vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-08-22T06:54:54.002733","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws"}]},"Regions":{"type":"string","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"],"title":"Regions"},"Server":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"Server","description":"Server types.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n server_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n description (typing.Optional[str]): Short description.\n family (typing.Optional[str]): Server family, e.g. General-purpose machine (GCP), or M5g (AWS).\n vcpus (int): Default number of virtual CPUs (vCPU) of the server.\n hypervisor (typing.Optional[str]): Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated.\n cpu_allocation (CpuAllocation): Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated.\n cpu_cores (typing.Optional[int]): Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled.\n cpu_speed (typing.Optional[float]): Vendor-reported maximum CPU clock speed (GHz).\n cpu_architecture (CpuArchitecture): CPU architecture (arm64, arm64_mac, i386, or x86_64).\n cpu_manufacturer (typing.Optional[str]): The manufacturer of the primary processor, e.g. Intel or AMD.\n cpu_family (typing.Optional[str]): The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9.\n cpu_model (typing.Optional[str]): The model number of the primary processor, e.g. 9750H.\n cpu_l1_cache (typing.Optional[int]): L1 cache size (byte).\n cpu_l2_cache (typing.Optional[int]): L2 cache size (byte).\n cpu_l3_cache (typing.Optional[int]): L3 cache size (byte).\n cpu_flags (typing.List[str]): CPU features/flags.\n cpus (typing.List[sc_crawler.table_fields.Cpu]): JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.\n memory_amount (int): RAM amount (MiB).\n memory_generation (typing.Optional[sc_crawler.table_fields.DdrGeneration]): Generation of the DDR SDRAM, e.g. DDR4 or DDR5.\n memory_speed (typing.Optional[int]): DDR SDRAM clock rate (Mhz).\n memory_ecc (typing.Optional[bool]): If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption.\n gpu_count (int): Number of GPU accelerator(s).\n gpu_memory_min (typing.Optional[int]): Memory (MiB) allocated to the lowest-end GPU accelerator.\n gpu_memory_total (typing.Optional[int]): Overall memory (MiB) allocated to all the GPU accelerator(s).\n gpu_manufacturer (typing.Optional[str]): The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD.\n gpu_family (typing.Optional[str]): The product family of the primary GPU accelerator, e.g. Turing.\n gpu_model (typing.Optional[str]): The model number of the primary GPU accelerator, e.g. Tesla T4.\n gpus (typing.List[sc_crawler.table_fields.Gpu]): JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.\n storage_size (int): Overall size (GB) of the disk(s).\n storage_type (typing.Optional[sc_crawler.table_fields.StorageType]): Primary disk type, e.g. HDD, SSD, NVMe SSD, or network).\n storages (typing.List[sc_crawler.table_fields.Disk]): JSON array of disks attached to the server, including the size (MiB) and type of each disk.\n network_speed (typing.Optional[float]): The baseline network performance (Gbps) of the network card.\n inbound_traffic (float): Amount of complimentary inbound traffic (GB) per month.\n outbound_traffic (float): Amount of complimentary outbound traffic (GB) per month.\n ipv4 (int): Number of complimentary IPv4 address(es).\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-08-22T06:16:34.538749","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"}]},"ServerPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"},"vendor":{"$ref":"#/components/schemas/VendorBase"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description","vendor"],"title":"ServerPKs","examples":[{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-08-22T06:16:34.538749","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"}]},"ServerPKsWithPrices":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"prices":{"items":{"$ref":"#/components/schemas/ServerPricePKs"},"type":"array","title":"Prices"},"benchmark_scores":{"items":{"$ref":"#/components/schemas/BenchmarkScoreBase"},"type":"array","title":"Benchmark Scores"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description","vendor","prices","benchmark_scores"],"title":"ServerPKsWithPrices","examples":[{"api_reference":"a1.2xlarge","benchmark_scores":[{"benchmark_id":"geekbench:hdr","config_fields":{"cores":"Single-Core or Multi-Core peformance tests.","framework_version":"Version number of geekbench."},"description":"Blends six 16MP SDR photos to create a single HDR photo, using a recovery process and radiance map construction (Debevec and Malik 1997), and a tone mapping algorithm (Reinhard and Devlin 2005).The score is calibrated against a baseline score of 2,500 (Dell Precision 3460 with a Core i7-12700 processor) as per the Geekbench 6 Benchmark Internals.","framework":"geekbench","higher_is_better":true,"measurement":"hdr","name":"Geekbench: HDR","observed_at":"2024-08-22T06:54:54.002026","status":"active"}],"cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-08-22T06:16:34.538749","outbound_traffic":0.0,"price":7,"prices":[{"allocation":"ondemand","currency":"USD","observed_at":"2024-08-22T06:17:52.039554","operating_system":"Linux","price":2.736,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-08-22T06:15:47.621638","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"af-south-1","server_id":"c5.12xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-08-22T06:15:50.811566","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"afs1-az1"},{"allocation":"spot","currency":"USD","observed_at":"2024-08-22T06:46:28","operating_system":"Linux","price":0.9168,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-08-22T06:15:47.621638","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"af-south-1","server_id":"c5.12xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-08-22T06:15:50.811566","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"afs1-az1"},{"allocation":"ondemand","currency":"USD","observed_at":"2024-08-22T06:17:51.827319","operating_system":"Linux","price":4.104,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-08-22T06:15:47.621638","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"af-south-1","server_id":"c5.18xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-08-22T06:15:50.811566","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"afs1-az1"},{"allocation":"spot","currency":"USD","observed_at":"2024-08-22T04:15:56","operating_system":"Linux","price":1.1631,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-08-22T06:15:47.621638","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"af-south-1","server_id":"c5.18xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-08-22T06:15:50.811566","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"afs1-az1"},{"allocation":"ondemand","currency":"USD","observed_at":"2024-08-22T06:17:51.882082","operating_system":"Linux","price":5.472,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-08-22T06:15:47.621638","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"af-south-1","server_id":"c5.24xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-08-22T06:15:50.811566","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"afs1-az1"}],"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-08-22T06:54:54.002733","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws"}]},"ServerPricePKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"allOf":[{"$ref":"#/components/schemas/Allocation"}],"description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBase"},"zone":{"$ref":"#/components/schemas/ZoneBase"}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price","region","zone"],"title":"ServerPricePKs"},"ServerPriceWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"allOf":[{"$ref":"#/components/schemas/Allocation"}],"description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"vendor":{"$ref":"#/components/schemas/VendorBase"},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"zone":{"$ref":"#/components/schemas/ZoneBase"},"server":{"$ref":"#/components/schemas/ServerWithScore"}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price","vendor","region","zone","server"],"title":"ServerPriceWithPKs","examples":[{"allocation":"ondemand","currency":"USD","observed_at":"2024-08-22T06:17:52.039554","operating_system":"Linux","price":2.736,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country":{"continent":"Asia","country_id":"AE","observed_at":"2024-08-22T06:54:53.998242","status":"active"},"country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-08-22T06:15:47.621638","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"af-south-1","server":{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-08-22T06:16:34.538749","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"},"server_id":"c5.12xlarge","status":"active","unit":"hour","vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-08-22T06:54:54.002733","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-08-22T06:15:50.811566","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"afs1-az1"}]},"ServerTableMetaData":{"properties":{"table":{"$ref":"#/components/schemas/NameAndDescription"},"fields":{"items":{"$ref":"#/components/schemas/IdNameAndDescriptionAndCategory"},"type":"array","title":"Fields"}},"type":"object","required":["table","fields"],"title":"ServerTableMetaData"},"ServerWithScore":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"ServerWithScore"},"Status":{"type":"string","enum":["active","inactive"],"title":"Status","description":"Last known status of a resource, e.g. active or inactive."},"Storage":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"storage_id":{"type":"string","title":"Storage Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"storage_type":{"allOf":[{"$ref":"#/components/schemas/StorageType"}],"description":"High-level category of the storage, e.g. HDD or SDD."},"max_iops":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Iops","description":"Maximum Input/Output Operations Per Second."},"max_throughput":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Throughput","description":"Maximum Throughput (MiB/s)."},"min_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Size","description":"Minimum required size (GiB)."},"max_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Size","description":"Maximum possible size (GiB)."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","storage_id","name","description","storage_type"],"title":"Storage","description":"Flexible storage options that can be attached to a Server.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n storage_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n description (typing.Optional[str]): Short description.\n storage_type (StorageType): High-level category of the storage, e.g. HDD or SDD.\n max_iops (typing.Optional[int]): Maximum Input/Output Operations Per Second.\n max_throughput (typing.Optional[int]): Maximum Throughput (MiB/s).\n min_size (typing.Optional[int]): Minimum required size (GiB).\n max_size (typing.Optional[int]): Maximum possible size (GiB).\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"description":"SSD-backed","max_iops":16000,"max_size":16384,"max_throughput":250,"min_size":1,"name":"General Purpose","observed_at":"2024-08-22T06:18:30.579446","status":"active","storage_id":"gp2","storage_type":"ssd","vendor_id":"aws"}]},"StorageBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"storage_id":{"type":"string","title":"Storage Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"storage_type":{"allOf":[{"$ref":"#/components/schemas/StorageType"}],"description":"High-level category of the storage, e.g. HDD or SDD."},"max_iops":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Iops","description":"Maximum Input/Output Operations Per Second."},"max_throughput":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Throughput","description":"Maximum Throughput (MiB/s)."},"min_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Size","description":"Minimum required size (GiB)."},"max_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Size","description":"Maximum possible size (GiB)."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","storage_id","name","description","storage_type"],"title":"StorageBase"},"StoragePriceWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"storage_id":{"type":"string","title":"Storage Id","description":"Reference to the Storage."},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"storage":{"$ref":"#/components/schemas/StorageBase"}},"type":"object","required":["vendor_id","region_id","storage_id","unit","price","region","vendor","storage"],"title":"StoragePriceWithPKs"},"StorageType":{"type":"string","enum":["hdd","ssd","nvme ssd","network"],"title":"StorageType","description":"Type of a storage, e.g. HDD or SSD."},"Storages":{"type":"string","enum":["30001","30002","30007","block","gp2","gp3","Premium_LRS","PremiumV2_LRS","Premium_ZRS","sc1","st1","standard","Standard_LRS","StandardSSD_LRS","StandardSSD_ZRS","UltraSSD_LRS"],"title":"Storages"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"Vendor":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Vendor's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage of the Vendor."},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Vendor's main headquarter is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Vendor's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Vendor's main location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Vendor's main location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Vendor's main location."},"founding_year":{"type":"integer","title":"Founding Year","description":"4-digit year when the Vendor was founded."},"status_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Page","description":"Public status page of the Vendor."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","name","country_id","founding_year"],"title":"Vendor","description":"Compute resource vendors, such as cloud and server providers.\n\n Examples:\n >>> from sc_crawler.tables import Vendor\n >>> from sc_crawler.lookup import countries\n >>> aws = Vendor(vendor_id='aws', name='Amazon Web Services', homepage='https://aws.amazon.com', country=countries[\"US\"], founding_year=2002)\n >>> aws\n Vendor(vendor_id='aws'...\n >>> from sc_crawler import vendors\n >>> vendors.aws\n Vendor(vendor_id='aws'...\n \n\nAttributes:\n vendor_id (str): Unique identifier.\n name (str): Human-friendly name.\n logo (typing.Optional[str]): Publicly accessible URL to the image of the Vendor's logo.\n homepage (typing.Optional[str]): Public homepage of the Vendor.\n country_id (str): Reference to the Country, where the Vendor's main headquarter is located.\n state (typing.Optional[str]): Optional state/administrative area of the Vendor's location within the Country.\n city (typing.Optional[str]): Optional city name of the Vendor's main location.\n address_line (typing.Optional[str]): Optional address line of the Vendor's main location.\n zip_code (typing.Optional[str]): Optional ZIP code of the Vendor's main location.\n founding_year (int): 4-digit year when the Vendor was founded.\n status_page (typing.Optional[str]): Public status page of the Vendor.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-08-22T06:54:54.002733","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"}]},"VendorBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Vendor's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage of the Vendor."},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Vendor's main headquarter is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Vendor's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Vendor's main location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Vendor's main location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Vendor's main location."},"founding_year":{"type":"integer","title":"Founding Year","description":"4-digit year when the Vendor was founded."},"status_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Page","description":"Public status page of the Vendor."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","name","country_id","founding_year"],"title":"VendorBase"},"Vendors":{"type":"string","enum":["aws","azure","gcp","hcloud"],"title":"Vendors"},"Zone":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","name","api_reference","display_name"],"title":"Zone","description":"Availability zones of Regions.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Reference to the Region.\n zone_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-08-22T06:15:50.811566","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"}]},"ZoneBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","name","api_reference","display_name"],"title":"ZoneBase"}}}} From 08d0643fe5cd22560e58e1b5dbc75049a7938505 Mon Sep 17 00:00:00 2001 From: Palabola Date: Thu, 22 Aug 2024 17:21:47 +0200 Subject: [PATCH 04/66] /storages updates --- sdk/ServerPricesRoute.ts | 2 +- sdk/StoragePricesRoute.ts | 39 +++--- sdk/data-contracts.ts | 68 ++++------ sdk/openapi.json | 2 +- .../search-bar/search-bar.component.html | 14 +++ .../search-bar/search-bar.component.ts | 16 +++ src/app/layout/header/header.component.html | 12 ++ .../server-details.component.ts | 117 +++++++----------- .../server-listing.component.ts | 6 + .../server-prices/server-prices.component.ts | 6 + .../pages/storages/storages.component.html | 37 +----- .../pages/storages/storages.component.scss | 1 - src/app/pages/storages/storages.component.ts | 26 ++-- src/app/services/keeper-api.service.ts | 19 +-- 14 files changed, 167 insertions(+), 198 deletions(-) diff --git a/sdk/ServerPricesRoute.ts b/sdk/ServerPricesRoute.ts index d6f8f22d..ac716a8f 100644 --- a/sdk/ServerPricesRoute.ts +++ b/sdk/ServerPricesRoute.ts @@ -77,7 +77,7 @@ export namespace ServerPrices { */ vendor?: "aws" | "azure" | "gcp" | "hcloud"; /** - * region id + * Region id * Identifier of the region. */ regions?: diff --git a/sdk/StoragePricesRoute.ts b/sdk/StoragePricesRoute.ts index 85700a99..e0315511 100644 --- a/sdk/StoragePricesRoute.ts +++ b/sdk/StoragePricesRoute.ts @@ -27,28 +27,27 @@ export namespace StoragePrices { */ vendor?: "aws" | "azure" | "gcp" | "hcloud"; /** - * Storage id - * Identifier of the storage type. + * Green energy + * Filter for regions with kow CO2 emission only. */ - storage_id?: - | "30001" - | "30002" - | "30007" - | "block" - | "gp2" - | "gp3" - | "Premium_LRS" - | "PremiumV2_LRS" - | "Premium_ZRS" - | "sc1" - | "st1" - | "standard" - | "Standard_LRS" - | "StandardSSD_LRS" - | "StandardSSD_ZRS" - | "UltraSSD_LRS"; + green_energy?: boolean | null; /** - * region id + * Minimum size + * Minimum Storage size in GBs. + */ + storage_min?: number | null; + /** + * Storage Type + * Type of the storage attached to the server. + */ + storage_type?: "hdd" | "ssd" | "nvme ssd" | "network"; + /** + * Compliance Framework id + * Compliance framework implemented at the vendor. + */ + compliance_framework?: "hipaa" | "iso27001" | "soc2t2"; + /** + * Region id * Identifier of the region. */ regions?: diff --git a/sdk/data-contracts.ts b/sdk/data-contracts.ts index dde452f1..f86bcf59 100644 --- a/sdk/data-contracts.ts +++ b/sdk/data-contracts.ts @@ -2220,26 +2220,6 @@ export enum StorageType { Network = "network", } -/** Storages */ -export enum Storages { - Value30001 = "30001", - Value30002 = "30002", - Value30007 = "30007", - Block = "block", - Gp2 = "gp2", - Gp3 = "gp3", - PremiumLRS = "Premium_LRS", - PremiumV2LRS = "PremiumV2_LRS", - PremiumZRS = "Premium_ZRS", - Sc1 = "sc1", - St1 = "st1", - Standard = "standard", - StandardLRS = "Standard_LRS", - StandardSSDLRS = "StandardSSD_LRS", - StandardSSDZRS = "StandardSSD_ZRS", - UltraSSDLRS = "UltraSSD_LRS", -} - /** ValidationError */ export interface ValidationError { /** Location */ @@ -2564,28 +2544,27 @@ export interface TableStoragePricesStoragePricesGetParams { */ vendor?: "aws" | "azure" | "gcp" | "hcloud"; /** - * Storage id - * Identifier of the storage type. - */ - storage_id?: - | "30001" - | "30002" - | "30007" - | "block" - | "gp2" - | "gp3" - | "Premium_LRS" - | "PremiumV2_LRS" - | "Premium_ZRS" - | "sc1" - | "st1" - | "standard" - | "Standard_LRS" - | "StandardSSD_LRS" - | "StandardSSD_ZRS" - | "UltraSSD_LRS"; - /** - * region id + * Green energy + * Filter for regions with kow CO2 emission only. + */ + green_energy?: boolean | null; + /** + * Minimum size + * Minimum Storage size in GBs. + */ + storage_min?: number | null; + /** + * Storage Type + * Type of the storage attached to the server. + */ + storage_type?: "hdd" | "ssd" | "nvme ssd" | "network"; + /** + * Compliance Framework id + * Compliance framework implemented at the vendor. + */ + compliance_framework?: "hipaa" | "iso27001" | "soc2t2"; + /** + * Region id * Identifier of the region. */ regions?: @@ -2979,7 +2958,7 @@ export interface SearchServerPricesServerPricesGetParams { */ vendor?: "aws" | "azure" | "gcp" | "hcloud"; /** - * region id + * Region id * Identifier of the region. */ regions?: @@ -3237,3 +3216,6 @@ export interface AssistServerPriceFiltersAiAssistServerPriceFiltersGetParams { /** Response Assist Server Price Filters Ai Assist Server Price Filters Get */ export type AssistServerPriceFiltersAiAssistServerPriceFiltersGetData = object; + + +export type GetSimilarServersServerVendorServerSimilarServersByNGetData = ServerPKs[]; diff --git a/sdk/openapi.json b/sdk/openapi.json index 642a80b7..1f9bde81 100644 --- a/sdk/openapi.json +++ b/sdk/openapi.json @@ -1 +1 @@ -{"openapi":"3.1.0","info":{"title":"Spare Cores (SC) Keeper","description":"\nAPI to search and serve data collected on cloud compute resources.\n\n## Licensing\n\nThis is a free service provided by the Spare Cores team, without any warranty.\nThe source code of the API is licensed under MPL-2.0, find more details at\n.\n\n## References\n\n- Spare Cores: \n- SC Keeper: \n- SC Crawler: \n- SC Data: \n","contact":{"name":"Spare Cores Team","email":"social@sparecores.com"},"license":{"name":"Mozilla Public License 2.0 (MPL 2.0)","url":"http://mozilla.org/MPL/2.0/"},"version":"0.0.1"},"paths":{"/healthcheck":{"get":{"tags":["Administrative endpoints"],"summary":"Healthcheck","description":"Return database hash and last udpated timestamp.","operationId":"healthcheck_healthcheck_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Healthcheck Healthcheck Get"}}}}}}},"/table/benchmark":{"get":{"tags":["Table dumps"],"summary":"Table Benchmark","description":"Return the Benchmark table as-is, without filtering options or relationships resolved.","operationId":"table_benchmark_table_benchmark_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Benchmark"},"type":"array","title":"Response Table Benchmark Table Benchmark Get"}}}}}}},"/table/country":{"get":{"tags":["Table dumps"],"summary":"Table Country","description":"Return the Country table as-is, without filtering options or relationships resolved.","operationId":"table_country_table_country_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Country"},"type":"array","title":"Response Table Country Table Country Get"}}}}}}},"/table/compliance_framework":{"get":{"tags":["Table dumps"],"summary":"Table Compliance Frameworks","description":"Return the ComplianceFramework table as-is, without filtering options or relationships resolved.","operationId":"table_compliance_frameworks_table_compliance_framework_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ComplianceFramework"},"type":"array","title":"Response Table Compliance Frameworks Table Compliance Framework Get"}}}}}}},"/table/vendor":{"get":{"tags":["Table dumps"],"summary":"Table Vendor","description":"Return the Vendor table as-is, without filtering options or relationships resolved.","operationId":"table_vendor_table_vendor_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Vendor"},"type":"array","title":"Response Table Vendor Table Vendor Get"}}}}}}},"/table/region":{"get":{"tags":["Table dumps"],"summary":"Table Region","description":"Return the Region table as-is, without filtering options or relationships resolved.","operationId":"table_region_table_region_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Region"},"type":"array","title":"Response Table Region Table Region Get"}}}}}}},"/table/zone":{"get":{"tags":["Table dumps"],"summary":"Table Zone","description":"Return the Zone table as-is, without filtering options or relationships resolved.","operationId":"table_zone_table_zone_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Zone"},"type":"array","title":"Response Table Zone Table Zone Get"}}}}}}},"/table/server":{"get":{"tags":["Table dumps"],"summary":"Table Server","description":"Return the Server table as-is, without filtering options or relationships resolved.","operationId":"table_server_table_server_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Server"},"type":"array","title":"Response Table Server Table Server Get"}}}}}}},"/table/storage":{"get":{"tags":["Table dumps"],"summary":"Table Storage","description":"Return the Storage table as-is, without filtering options or relationships resolved.","operationId":"table_storage_table_storage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Storage"},"type":"array","title":"Response Table Storage Table Storage Get"}}}}}}},"/storage_prices":{"get":{"summary":"Table Storage Prices","operationId":"table_storage_prices_storage_prices_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"storage_id","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Storages"}},{"type":"null"}],"title":"Storage id","description":"Identifier of the storage type.","category_id":"storage","enum":["30001","30002","30007","block","gp2","gp3","Premium_LRS","PremiumV2_LRS","Premium_ZRS","sc1","st1","standard","Standard_LRS","StandardSSD_LRS","StandardSSD_ZRS","UltraSSD_LRS"]},"description":"Identifier of the storage type."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited","default":50,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited"},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StoragePriceWithPKs"},"title":"Response Table Storage Prices Storage Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/table/server/meta":{"get":{"tags":["Table metadata"],"summary":"Table Metadata Server","description":"Server table and column names and comments.","operationId":"table_metadata_server_table_server_meta_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerTableMetaData"}}}}}}},"/regions":{"get":{"tags":["Query Resources"],"summary":"Search Regions","operationId":"search_regions_regions_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RegionPKs"},"title":"Response Search Regions Regions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}":{"get":{"tags":["Query Resources"],"summary":"Get Server","description":"Query a single server by its vendor id and either the server or, or its API reference.\n\nReturn dictionary includes all server fields, along\nwith the current prices per zone, and\nthe available benchmark scores.","operationId":"get_server_server__vendor___server__get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"Vendor ID.","title":"Vendor"},"description":"Vendor ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"Server ID or API reference.","title":"Server"},"description":"Server ID or API reference."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","title":"Currency"},"description":"Currency used for prices."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerPKsWithPrices"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/servers":{"get":{"tags":["Query Resources"],"summary":"Search Servers","operationId":"search_servers_servers_get","parameters":[{"name":"partial_name_or_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partial name or id","description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name.","category_id":"basic"},"description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name."},{"name":"vcpus_min","in":"query","required":false,"schema":{"type":"integer","maximum":128,"minimum":1,"title":"Minimum vCPUs","description":"Minimum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","default":1},"description":"Minimum number of virtual CPUs."},{"name":"architecture","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuArchitecture"}},{"type":"null"}],"title":"Processor architecture","description":"Processor architecture.","category_id":"processor","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"]},"description":"Processor architecture."},{"name":"benchmark_score_stressng_cpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"SCore","description":"Minimum stress-ng CPU workload score.","category_id":"processor"},"description":"Minimum stress-ng CPU workload score."},{"name":"memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum memory","description":"Minimum amount of memory in GBs.","category_id":"memory","unit":"GB","step":0.1},"description":"Minimum amount of memory in GBs."},{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active only","description":"Filter for active servers only.","category_id":"basic","default":true},"description":"Filter for active servers only."},{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"storage_size","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs) attached to the server.","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs) attached to the server."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"gpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"GPU count","description":"Minimum number of GPUs.","category_id":"gpu","unit":"GPUs"},"description":"Minimum number of GPUs."},{"name":"gpu_memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum GPU memory","description":"Minimum amount of GPU memory (GB) in each GPU.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of GPU memory (GB) in each GPU."},{"name":"gpu_memory_total","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total GPU memory","description":"Minimum amount of total GPU memory (GBs) in all GPUs.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of total GPU memory (GBs) in all GPUs."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited","default":50,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited"},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"vcpus","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPKs"},"title":"Response Search Servers Servers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server_prices":{"get":{"tags":["Query Resources"],"summary":"Search Server Prices","operationId":"search_server_prices_server_prices_get","parameters":[{"name":"partial_name_or_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partial name or id","description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name.","category_id":"basic"},"description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name."},{"name":"vcpus_min","in":"query","required":false,"schema":{"type":"integer","maximum":128,"minimum":1,"title":"Minimum vCPUs","description":"Minimum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","default":1},"description":"Minimum number of virtual CPUs."},{"name":"architecture","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuArchitecture"}},{"type":"null"}],"title":"Processor architecture","description":"Processor architecture.","category_id":"processor","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"]},"description":"Processor architecture."},{"name":"benchmark_score_stressng_cpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"SCore","description":"Minimum stress-ng CPU workload score.","category_id":"processor"},"description":"Minimum stress-ng CPU workload score."},{"name":"memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum memory","description":"Minimum amount of memory in GBs.","category_id":"memory","unit":"GB","step":0.1},"description":"Minimum amount of memory in GBs."},{"name":"price_max","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Maximum price","description":"Maximum price (USD/hr).","category_id":"price","step":0.0001},"description":"Maximum price (USD/hr)."},{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active only","description":"Filter for active servers only.","category_id":"basic","default":true},"description":"Filter for active servers only."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"allocation","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/Allocation"},{"type":"null"}],"title":"Allocation","description":"Server allocation method.","enum":["ondemand","reserved","spot"]},"description":"Server allocation method."},{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"storage_size","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs) attached to the server.","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs) attached to the server."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"gpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"GPU count","description":"Minimum number of GPUs.","category_id":"gpu","unit":"GPUs"},"description":"Minimum number of GPUs."},{"name":"gpu_memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum GPU memory","description":"Minimum amount of GPU memory (GB) in each GPU.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of GPU memory (GB) in each GPU."},{"name":"gpu_memory_total","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total GPU memory","description":"Minimum amount of total GPU memory (GBs) in all GPUs.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of total GPU memory (GBs) in all GPUs."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited","default":50,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited"},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","default":"USD","title":"Currency"},"description":"Currency used for prices."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPriceWithPKs"},"title":"Response Search Server Prices Server Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_server_filters":{"get":{"tags":["AI"],"summary":"Assist Server Filters","description":"Extract Server JSON filters from freetext.","operationId":"assist_server_filters_ai_assist_server_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Server Filters Ai Assist Server Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_server_price_filters":{"get":{"tags":["AI"],"summary":"Assist Server Price Filters","description":"Extract ServerPrice JSON filters from freetext.","operationId":"assist_server_price_filters_ai_assist_server_price_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Server Price Filters Ai Assist Server Price Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Allocation":{"type":"string","enum":["ondemand","reserved","spot"],"title":"Allocation","description":"Server allocation options."},"Benchmark":{"properties":{"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Unique identifier of a specific Benchmark."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"framework":{"type":"string","title":"Framework","description":"The name of the benchmark framework/software/tool used."},"config_fields":{"type":"object","title":"Config Fields","description":"A dictionary of descriptions on the framework-specific config options, e.g. {\"bandwidth\": \"Memory amount to use for compression in MB.\"}.","default":{}},"measurement":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Measurement","description":"The name of measurement recoreded in the benchmark."},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit","description":"Optional unit of measurement for the benchmark score."},"higher_is_better":{"type":"boolean","title":"Higher Is Better","description":"If higher benchmark score means better performance, or vica versa.","default":true},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["benchmark_id","name","description","framework"],"title":"Benchmark","description":"Benchmark scenario definitions.\n\nAttributes:\n benchmark_id (str): Unique identifier of a specific Benchmark.\n name (str): Human-friendly name.\n description (typing.Optional[str]): Short description.\n framework (str): The name of the benchmark framework/software/tool used.\n config_fields (dict): A dictionary of descriptions on the framework-specific config options, e.g. {\"bandwidth\": \"Memory amount to use for compression in MB.\"}.\n measurement (typing.Optional[str]): The name of measurement recoreded in the benchmark.\n unit (typing.Optional[str]): Optional unit of measurement for the benchmark score.\n higher_is_better (bool): If higher benchmark score means better performance, or vica versa.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"benchmark_id":"geekbench:hdr","config_fields":{"cores":"Single-Core or Multi-Core peformance tests.","framework_version":"Version number of geekbench."},"description":"Blends six 16MP SDR photos to create a single HDR photo, using a recovery process and radiance map construction (Debevec and Malik 1997), and a tone mapping algorithm (Reinhard and Devlin 2005).The score is calibrated against a baseline score of 2,500 (Dell Precision 3460 with a Core i7-12700 processor) as per the Geekbench 6 Benchmark Internals.","framework":"geekbench","higher_is_better":true,"measurement":"hdr","name":"Geekbench: HDR","observed_at":"2024-08-22T06:54:54.002026","status":"active"}]},"BenchmarkScoreBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Reference to the Benchmark."},"config":{"type":"object","title":"Config","description":"Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}","default":{}},"score":{"type":"number","title":"Score","description":"The resulting score of the benchmark."},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Optional note, comment or context on the benchmark score."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","benchmark_id","score"],"title":"BenchmarkScoreBase"},"ComplianceFramework":{"properties":{"compliance_framework_id":{"type":"string","title":"Compliance Framework Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"abbreviation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abbreviation","description":"Short abbreviation of the Framework name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Description of the framework in a few paragrahs, outlining key features and characteristics for reference."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Framework's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage with more information on the Framework."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["compliance_framework_id","name","abbreviation","description"],"title":"ComplianceFramework","description":"List of Compliance Frameworks, such as HIPAA or SOC 2 Type 1.\n\nAttributes:\n compliance_framework_id (str): Unique identifier.\n name (str): Human-friendly name.\n abbreviation (typing.Optional[str]): Short abbreviation of the Framework name.\n description (typing.Optional[str]): Description of the framework in a few paragrahs, outlining key features and characteristics for reference.\n logo (typing.Optional[str]): Publicly accessible URL to the image of the Framework's logo.\n homepage (typing.Optional[str]): Public homepage with more information on the Framework.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"abbreviation":"HIPAA","compliance_framework_id":"hipaa","description":"HIPAA (Health Insurance Portability and Accountability Act) is a U.S. federal law designed to safeguard the privacy and security of individuals' health information, establishing standards for its protection and regulating its use in the healthcare industry.","homepage":"https://www.cdc.gov/phlp/publications/topic/hipaa.html","name":"The Health Insurance Portability and Accountability Act","observed_at":"2024-08-22T06:54:53.999966","status":"active"}]},"ComplianceFrameworks":{"type":"string","enum":["hipaa","iso27001","soc2t2"],"title":"ComplianceFrameworks"},"Country":{"properties":{"country_id":{"type":"string","title":"Country Id","description":"Country code by ISO 3166 alpha-2."},"continent":{"type":"string","title":"Continent","description":"Continent name."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["country_id","continent"],"title":"Country","description":"Country and continent mapping.\n\nAttributes:\n country_id (str): Country code by ISO 3166 alpha-2.\n continent (str): Continent name.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"continent":"Asia","country_id":"AE","observed_at":"2024-08-22T06:54:53.998242","status":"active"}]},"CountryBase":{"properties":{"country_id":{"type":"string","title":"Country Id","description":"Country code by ISO 3166 alpha-2."},"continent":{"type":"string","title":"Continent","description":"Continent name."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["country_id","continent"],"title":"CountryBase"},"Cpu":{"properties":{"manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Manufacturer"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cores"},"threads":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Threads"},"l1_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L1 Cache Size"},"l2_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L2 Cache Size"},"l3_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L3 Cache Size"},"microcode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Microcode"},"capabilities":{"items":{"type":"string"},"type":"array","title":"Capabilities","default":[]},"bugs":{"items":{"type":"string"},"type":"array","title":"Bugs","default":[]},"bogomips":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Bogomips"}},"type":"object","title":"Cpu","description":"CPU details."},"CpuAllocation":{"type":"string","enum":["Shared","Burstable","Dedicated"],"title":"CpuAllocation","description":"CPU allocation methods at cloud vendors."},"CpuArchitecture":{"type":"string","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"],"title":"CpuArchitecture","description":"CPU architectures."},"DdrGeneration":{"type":"string","enum":["DDR3","DDR4","DDR5"],"title":"DdrGeneration","description":"Generation of the DDR SDRAM."},"Disk":{"properties":{"size":{"type":"integer","title":"Size","default":0},"storage_type":{"$ref":"#/components/schemas/StorageType"}},"type":"object","required":["storage_type"],"title":"Disk","description":"Disk definition based on size and storage type."},"Gpu":{"properties":{"manufacturer":{"type":"string","title":"Manufacturer"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"memory":{"type":"integer","title":"Memory"},"firmware_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firmware Version"},"bios_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bios Version"},"graphics_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Graphics Clock"},"sm_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sm Clock"},"mem_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Mem Clock"},"video_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Video Clock"}},"type":"object","required":["manufacturer","memory"],"title":"Gpu","description":"GPU accelerator details."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"IdNameAndDescriptionAndCategory":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"id":{"type":"string","title":"Id"},"category":{"type":"string","title":"Category"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"}},"type":"object","required":["name","description","id","category","unit"],"title":"IdNameAndDescriptionAndCategory"},"NameAndDescription":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"}},"type":"object","required":["name","description"],"title":"NameAndDescription"},"OrderDir":{"type":"string","enum":["asc","desc"],"title":"OrderDir"},"PriceTier":{"properties":{"lower":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Lower"},"upper":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Upper"},"price":{"type":"number","title":"Price"}},"type":"object","required":["lower","upper","price"],"title":"PriceTier","description":"Price tier definition.\n\nAs standard JSON does not support Inf, NaN etc values,\nthose should be passed as string, e.g. for the upper bound.\n\nSee [float_inf_to_str][sc_crawler.utils.float_inf_to_str] for\nconverting an infinite numeric value into \"Infinity\"."},"PriceUnit":{"type":"string","enum":["year","month","hour","GiB","GB","GB/month"],"title":"PriceUnit","description":"Supported units for the price tables."},"Region":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id"],"title":"Region","description":"Regions of Vendors.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n aliases (typing.List[str]): List of other commonly used names for the same Region.\n country_id (str): Reference to the Country, where the Region is located.\n state (typing.Optional[str]): Optional state/administrative area of the Region's location within the Country.\n city (typing.Optional[str]): Optional city name of the Region's location.\n address_line (typing.Optional[str]): Optional address line of the Region's location.\n zip_code (typing.Optional[str]): Optional ZIP code of the Region's location.\n lon (typing.Optional[float]): Longitude coordinate of the Region's known or approximate location.\n lat (typing.Optional[float]): Latitude coordinate of the Region's known or approximate location.\n founding_year (typing.Optional[int]): 4-digit year when the Region was founded.\n green_energy (typing.Optional[bool]): If the Region is 100% powered by renewable energy.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-08-22T06:15:47.621638","region_id":"af-south-1","status":"active","vendor_id":"aws"}]},"RegionBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id"],"title":"RegionBase"},"RegionBaseWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"country":{"$ref":"#/components/schemas/CountryBase"}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id","country"],"title":"RegionBaseWithPKs"},"RegionPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"vendor":{"$ref":"#/components/schemas/VendorBase"}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id","vendor"],"title":"RegionPKs","examples":[{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-08-22T06:15:47.621638","region_id":"af-south-1","status":"active","vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-08-22T06:54:54.002733","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws"}]},"Regions":{"type":"string","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"],"title":"Regions"},"Server":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"Server","description":"Server types.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n server_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n description (typing.Optional[str]): Short description.\n family (typing.Optional[str]): Server family, e.g. General-purpose machine (GCP), or M5g (AWS).\n vcpus (int): Default number of virtual CPUs (vCPU) of the server.\n hypervisor (typing.Optional[str]): Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated.\n cpu_allocation (CpuAllocation): Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated.\n cpu_cores (typing.Optional[int]): Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled.\n cpu_speed (typing.Optional[float]): Vendor-reported maximum CPU clock speed (GHz).\n cpu_architecture (CpuArchitecture): CPU architecture (arm64, arm64_mac, i386, or x86_64).\n cpu_manufacturer (typing.Optional[str]): The manufacturer of the primary processor, e.g. Intel or AMD.\n cpu_family (typing.Optional[str]): The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9.\n cpu_model (typing.Optional[str]): The model number of the primary processor, e.g. 9750H.\n cpu_l1_cache (typing.Optional[int]): L1 cache size (byte).\n cpu_l2_cache (typing.Optional[int]): L2 cache size (byte).\n cpu_l3_cache (typing.Optional[int]): L3 cache size (byte).\n cpu_flags (typing.List[str]): CPU features/flags.\n cpus (typing.List[sc_crawler.table_fields.Cpu]): JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.\n memory_amount (int): RAM amount (MiB).\n memory_generation (typing.Optional[sc_crawler.table_fields.DdrGeneration]): Generation of the DDR SDRAM, e.g. DDR4 or DDR5.\n memory_speed (typing.Optional[int]): DDR SDRAM clock rate (Mhz).\n memory_ecc (typing.Optional[bool]): If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption.\n gpu_count (int): Number of GPU accelerator(s).\n gpu_memory_min (typing.Optional[int]): Memory (MiB) allocated to the lowest-end GPU accelerator.\n gpu_memory_total (typing.Optional[int]): Overall memory (MiB) allocated to all the GPU accelerator(s).\n gpu_manufacturer (typing.Optional[str]): The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD.\n gpu_family (typing.Optional[str]): The product family of the primary GPU accelerator, e.g. Turing.\n gpu_model (typing.Optional[str]): The model number of the primary GPU accelerator, e.g. Tesla T4.\n gpus (typing.List[sc_crawler.table_fields.Gpu]): JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.\n storage_size (int): Overall size (GB) of the disk(s).\n storage_type (typing.Optional[sc_crawler.table_fields.StorageType]): Primary disk type, e.g. HDD, SSD, NVMe SSD, or network).\n storages (typing.List[sc_crawler.table_fields.Disk]): JSON array of disks attached to the server, including the size (MiB) and type of each disk.\n network_speed (typing.Optional[float]): The baseline network performance (Gbps) of the network card.\n inbound_traffic (float): Amount of complimentary inbound traffic (GB) per month.\n outbound_traffic (float): Amount of complimentary outbound traffic (GB) per month.\n ipv4 (int): Number of complimentary IPv4 address(es).\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-08-22T06:16:34.538749","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"}]},"ServerPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"},"vendor":{"$ref":"#/components/schemas/VendorBase"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description","vendor"],"title":"ServerPKs","examples":[{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-08-22T06:16:34.538749","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"}]},"ServerPKsWithPrices":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"prices":{"items":{"$ref":"#/components/schemas/ServerPricePKs"},"type":"array","title":"Prices"},"benchmark_scores":{"items":{"$ref":"#/components/schemas/BenchmarkScoreBase"},"type":"array","title":"Benchmark Scores"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description","vendor","prices","benchmark_scores"],"title":"ServerPKsWithPrices","examples":[{"api_reference":"a1.2xlarge","benchmark_scores":[{"benchmark_id":"geekbench:hdr","config_fields":{"cores":"Single-Core or Multi-Core peformance tests.","framework_version":"Version number of geekbench."},"description":"Blends six 16MP SDR photos to create a single HDR photo, using a recovery process and radiance map construction (Debevec and Malik 1997), and a tone mapping algorithm (Reinhard and Devlin 2005).The score is calibrated against a baseline score of 2,500 (Dell Precision 3460 with a Core i7-12700 processor) as per the Geekbench 6 Benchmark Internals.","framework":"geekbench","higher_is_better":true,"measurement":"hdr","name":"Geekbench: HDR","observed_at":"2024-08-22T06:54:54.002026","status":"active"}],"cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-08-22T06:16:34.538749","outbound_traffic":0.0,"price":7,"prices":[{"allocation":"ondemand","currency":"USD","observed_at":"2024-08-22T06:17:52.039554","operating_system":"Linux","price":2.736,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-08-22T06:15:47.621638","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"af-south-1","server_id":"c5.12xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-08-22T06:15:50.811566","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"afs1-az1"},{"allocation":"spot","currency":"USD","observed_at":"2024-08-22T06:46:28","operating_system":"Linux","price":0.9168,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-08-22T06:15:47.621638","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"af-south-1","server_id":"c5.12xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-08-22T06:15:50.811566","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"afs1-az1"},{"allocation":"ondemand","currency":"USD","observed_at":"2024-08-22T06:17:51.827319","operating_system":"Linux","price":4.104,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-08-22T06:15:47.621638","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"af-south-1","server_id":"c5.18xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-08-22T06:15:50.811566","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"afs1-az1"},{"allocation":"spot","currency":"USD","observed_at":"2024-08-22T04:15:56","operating_system":"Linux","price":1.1631,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-08-22T06:15:47.621638","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"af-south-1","server_id":"c5.18xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-08-22T06:15:50.811566","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"afs1-az1"},{"allocation":"ondemand","currency":"USD","observed_at":"2024-08-22T06:17:51.882082","operating_system":"Linux","price":5.472,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-08-22T06:15:47.621638","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"af-south-1","server_id":"c5.24xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-08-22T06:15:50.811566","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"afs1-az1"}],"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-08-22T06:54:54.002733","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws"}]},"ServerPricePKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"allOf":[{"$ref":"#/components/schemas/Allocation"}],"description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBase"},"zone":{"$ref":"#/components/schemas/ZoneBase"}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price","region","zone"],"title":"ServerPricePKs"},"ServerPriceWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"allOf":[{"$ref":"#/components/schemas/Allocation"}],"description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"vendor":{"$ref":"#/components/schemas/VendorBase"},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"zone":{"$ref":"#/components/schemas/ZoneBase"},"server":{"$ref":"#/components/schemas/ServerWithScore"}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price","vendor","region","zone","server"],"title":"ServerPriceWithPKs","examples":[{"allocation":"ondemand","currency":"USD","observed_at":"2024-08-22T06:17:52.039554","operating_system":"Linux","price":2.736,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country":{"continent":"Asia","country_id":"AE","observed_at":"2024-08-22T06:54:53.998242","status":"active"},"country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-08-22T06:15:47.621638","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"af-south-1","server":{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-08-22T06:16:34.538749","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"},"server_id":"c5.12xlarge","status":"active","unit":"hour","vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-08-22T06:54:54.002733","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-08-22T06:15:50.811566","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"afs1-az1"}]},"ServerTableMetaData":{"properties":{"table":{"$ref":"#/components/schemas/NameAndDescription"},"fields":{"items":{"$ref":"#/components/schemas/IdNameAndDescriptionAndCategory"},"type":"array","title":"Fields"}},"type":"object","required":["table","fields"],"title":"ServerTableMetaData"},"ServerWithScore":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"ServerWithScore"},"Status":{"type":"string","enum":["active","inactive"],"title":"Status","description":"Last known status of a resource, e.g. active or inactive."},"Storage":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"storage_id":{"type":"string","title":"Storage Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"storage_type":{"allOf":[{"$ref":"#/components/schemas/StorageType"}],"description":"High-level category of the storage, e.g. HDD or SDD."},"max_iops":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Iops","description":"Maximum Input/Output Operations Per Second."},"max_throughput":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Throughput","description":"Maximum Throughput (MiB/s)."},"min_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Size","description":"Minimum required size (GiB)."},"max_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Size","description":"Maximum possible size (GiB)."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","storage_id","name","description","storage_type"],"title":"Storage","description":"Flexible storage options that can be attached to a Server.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n storage_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n description (typing.Optional[str]): Short description.\n storage_type (StorageType): High-level category of the storage, e.g. HDD or SDD.\n max_iops (typing.Optional[int]): Maximum Input/Output Operations Per Second.\n max_throughput (typing.Optional[int]): Maximum Throughput (MiB/s).\n min_size (typing.Optional[int]): Minimum required size (GiB).\n max_size (typing.Optional[int]): Maximum possible size (GiB).\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"description":"SSD-backed","max_iops":16000,"max_size":16384,"max_throughput":250,"min_size":1,"name":"General Purpose","observed_at":"2024-08-22T06:18:30.579446","status":"active","storage_id":"gp2","storage_type":"ssd","vendor_id":"aws"}]},"StorageBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"storage_id":{"type":"string","title":"Storage Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"storage_type":{"allOf":[{"$ref":"#/components/schemas/StorageType"}],"description":"High-level category of the storage, e.g. HDD or SDD."},"max_iops":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Iops","description":"Maximum Input/Output Operations Per Second."},"max_throughput":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Throughput","description":"Maximum Throughput (MiB/s)."},"min_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Size","description":"Minimum required size (GiB)."},"max_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Size","description":"Maximum possible size (GiB)."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","storage_id","name","description","storage_type"],"title":"StorageBase"},"StoragePriceWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"storage_id":{"type":"string","title":"Storage Id","description":"Reference to the Storage."},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"storage":{"$ref":"#/components/schemas/StorageBase"}},"type":"object","required":["vendor_id","region_id","storage_id","unit","price","region","vendor","storage"],"title":"StoragePriceWithPKs"},"StorageType":{"type":"string","enum":["hdd","ssd","nvme ssd","network"],"title":"StorageType","description":"Type of a storage, e.g. HDD or SSD."},"Storages":{"type":"string","enum":["30001","30002","30007","block","gp2","gp3","Premium_LRS","PremiumV2_LRS","Premium_ZRS","sc1","st1","standard","Standard_LRS","StandardSSD_LRS","StandardSSD_ZRS","UltraSSD_LRS"],"title":"Storages"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"Vendor":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Vendor's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage of the Vendor."},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Vendor's main headquarter is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Vendor's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Vendor's main location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Vendor's main location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Vendor's main location."},"founding_year":{"type":"integer","title":"Founding Year","description":"4-digit year when the Vendor was founded."},"status_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Page","description":"Public status page of the Vendor."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","name","country_id","founding_year"],"title":"Vendor","description":"Compute resource vendors, such as cloud and server providers.\n\n Examples:\n >>> from sc_crawler.tables import Vendor\n >>> from sc_crawler.lookup import countries\n >>> aws = Vendor(vendor_id='aws', name='Amazon Web Services', homepage='https://aws.amazon.com', country=countries[\"US\"], founding_year=2002)\n >>> aws\n Vendor(vendor_id='aws'...\n >>> from sc_crawler import vendors\n >>> vendors.aws\n Vendor(vendor_id='aws'...\n \n\nAttributes:\n vendor_id (str): Unique identifier.\n name (str): Human-friendly name.\n logo (typing.Optional[str]): Publicly accessible URL to the image of the Vendor's logo.\n homepage (typing.Optional[str]): Public homepage of the Vendor.\n country_id (str): Reference to the Country, where the Vendor's main headquarter is located.\n state (typing.Optional[str]): Optional state/administrative area of the Vendor's location within the Country.\n city (typing.Optional[str]): Optional city name of the Vendor's main location.\n address_line (typing.Optional[str]): Optional address line of the Vendor's main location.\n zip_code (typing.Optional[str]): Optional ZIP code of the Vendor's main location.\n founding_year (int): 4-digit year when the Vendor was founded.\n status_page (typing.Optional[str]): Public status page of the Vendor.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-08-22T06:54:54.002733","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"}]},"VendorBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Vendor's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage of the Vendor."},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Vendor's main headquarter is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Vendor's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Vendor's main location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Vendor's main location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Vendor's main location."},"founding_year":{"type":"integer","title":"Founding Year","description":"4-digit year when the Vendor was founded."},"status_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Page","description":"Public status page of the Vendor."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","name","country_id","founding_year"],"title":"VendorBase"},"Vendors":{"type":"string","enum":["aws","azure","gcp","hcloud"],"title":"Vendors"},"Zone":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","name","api_reference","display_name"],"title":"Zone","description":"Availability zones of Regions.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Reference to the Region.\n zone_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-08-22T06:15:50.811566","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"}]},"ZoneBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","name","api_reference","display_name"],"title":"ZoneBase"}}}} +{"openapi":"3.1.0","info":{"title":"Spare Cores (SC) Keeper","description":"\nAPI to search and serve data collected on cloud compute resources.\n\n## Licensing\n\nThis is a free service provided by the Spare Cores team, without any warranty.\nThe source code of the API is licensed under MPL-2.0, find more details at\n.\n\n## References\n\n- Spare Cores: \n- SC Keeper: \n- SC Crawler: \n- SC Data: \n","contact":{"name":"Spare Cores Team","email":"social@sparecores.com"},"license":{"name":"Mozilla Public License 2.0 (MPL 2.0)","url":"http://mozilla.org/MPL/2.0/"},"version":"0.0.1"},"paths":{"/healthcheck":{"get":{"tags":["Administrative endpoints"],"summary":"Healthcheck","description":"Return database hash and last udpated timestamp.","operationId":"healthcheck_healthcheck_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Healthcheck Healthcheck Get"}}}}}}},"/table/benchmark":{"get":{"tags":["Table dumps"],"summary":"Table Benchmark","description":"Return the Benchmark table as-is, without filtering options or relationships resolved.","operationId":"table_benchmark_table_benchmark_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Benchmark"},"type":"array","title":"Response Table Benchmark Table Benchmark Get"}}}}}}},"/table/country":{"get":{"tags":["Table dumps"],"summary":"Table Country","description":"Return the Country table as-is, without filtering options or relationships resolved.","operationId":"table_country_table_country_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Country"},"type":"array","title":"Response Table Country Table Country Get"}}}}}}},"/table/compliance_framework":{"get":{"tags":["Table dumps"],"summary":"Table Compliance Frameworks","description":"Return the ComplianceFramework table as-is, without filtering options or relationships resolved.","operationId":"table_compliance_frameworks_table_compliance_framework_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ComplianceFramework"},"type":"array","title":"Response Table Compliance Frameworks Table Compliance Framework Get"}}}}}}},"/table/vendor":{"get":{"tags":["Table dumps"],"summary":"Table Vendor","description":"Return the Vendor table as-is, without filtering options or relationships resolved.","operationId":"table_vendor_table_vendor_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Vendor"},"type":"array","title":"Response Table Vendor Table Vendor Get"}}}}}}},"/table/region":{"get":{"tags":["Table dumps"],"summary":"Table Region","description":"Return the Region table as-is, without filtering options or relationships resolved.","operationId":"table_region_table_region_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Region"},"type":"array","title":"Response Table Region Table Region Get"}}}}}}},"/table/zone":{"get":{"tags":["Table dumps"],"summary":"Table Zone","description":"Return the Zone table as-is, without filtering options or relationships resolved.","operationId":"table_zone_table_zone_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Zone"},"type":"array","title":"Response Table Zone Table Zone Get"}}}}}}},"/table/server":{"get":{"tags":["Table dumps"],"summary":"Table Server","description":"Return the Server table as-is, without filtering options or relationships resolved.","operationId":"table_server_table_server_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Server"},"type":"array","title":"Response Table Server Table Server Get"}}}}}}},"/table/storage":{"get":{"tags":["Table dumps"],"summary":"Table Storage","description":"Return the Storage table as-is, without filtering options or relationships resolved.","operationId":"table_storage_table_storage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Storage"},"type":"array","title":"Response Table Storage Table Storage Get"}}}}}}},"/storage_prices":{"get":{"summary":"Table Storage Prices","operationId":"table_storage_prices_storage_prices_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"storage_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Minimum size","description":"Minimum Storage size in GBs.","category_id":"storage","unit":"GB"},"description":"Minimum Storage size in GBs."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"Region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited","default":50,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited"},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StoragePriceWithPKs"},"title":"Response Table Storage Prices Storage Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/table/server/meta":{"get":{"tags":["Table metadata"],"summary":"Table Metadata Server","description":"Server table and column names and comments.","operationId":"table_metadata_server_table_server_meta_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerTableMetaData"}}}}}}},"/regions":{"get":{"tags":["Query Resources"],"summary":"Search Regions","operationId":"search_regions_regions_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RegionPKs"},"title":"Response Search Regions Regions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}":{"get":{"tags":["Query Resources"],"summary":"Get Server","description":"Query a single server by its vendor id and either the server or, or its API reference.\n\nReturn dictionary includes all server fields, along\nwith the current prices per zone, and\nthe available benchmark scores.","operationId":"get_server_server__vendor___server__get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"Vendor ID.","title":"Vendor"},"description":"Vendor ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"Server ID or API reference.","title":"Server"},"description":"Server ID or API reference."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","title":"Currency"},"description":"Currency used for prices."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerPKsWithPrices"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/servers":{"get":{"tags":["Query Resources"],"summary":"Search Servers","operationId":"search_servers_servers_get","parameters":[{"name":"partial_name_or_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partial name or id","description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name.","category_id":"basic"},"description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name."},{"name":"vcpus_min","in":"query","required":false,"schema":{"type":"integer","maximum":128,"minimum":1,"title":"Minimum vCPUs","description":"Minimum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","default":1},"description":"Minimum number of virtual CPUs."},{"name":"architecture","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuArchitecture"}},{"type":"null"}],"title":"Processor architecture","description":"Processor architecture.","category_id":"processor","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"]},"description":"Processor architecture."},{"name":"benchmark_score_stressng_cpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"SCore","description":"Minimum stress-ng CPU workload score.","category_id":"processor"},"description":"Minimum stress-ng CPU workload score."},{"name":"memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum memory","description":"Minimum amount of memory in GBs.","category_id":"memory","unit":"GB","step":0.1},"description":"Minimum amount of memory in GBs."},{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active only","description":"Filter for active servers only.","category_id":"basic","default":true},"description":"Filter for active servers only."},{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"storage_size","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs) attached to the server.","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs) attached to the server."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"gpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"GPU count","description":"Minimum number of GPUs.","category_id":"gpu","unit":"GPUs"},"description":"Minimum number of GPUs."},{"name":"gpu_memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum GPU memory","description":"Minimum amount of GPU memory (GB) in each GPU.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of GPU memory (GB) in each GPU."},{"name":"gpu_memory_total","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total GPU memory","description":"Minimum amount of total GPU memory (GBs) in all GPUs.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of total GPU memory (GBs) in all GPUs."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited","default":50,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited"},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"vcpus","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPKs"},"title":"Response Search Servers Servers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server_prices":{"get":{"tags":["Query Resources"],"summary":"Search Server Prices","operationId":"search_server_prices_server_prices_get","parameters":[{"name":"partial_name_or_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partial name or id","description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name.","category_id":"basic"},"description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name."},{"name":"vcpus_min","in":"query","required":false,"schema":{"type":"integer","maximum":128,"minimum":1,"title":"Minimum vCPUs","description":"Minimum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","default":1},"description":"Minimum number of virtual CPUs."},{"name":"architecture","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuArchitecture"}},{"type":"null"}],"title":"Processor architecture","description":"Processor architecture.","category_id":"processor","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"]},"description":"Processor architecture."},{"name":"benchmark_score_stressng_cpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"SCore","description":"Minimum stress-ng CPU workload score.","category_id":"processor"},"description":"Minimum stress-ng CPU workload score."},{"name":"memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum memory","description":"Minimum amount of memory in GBs.","category_id":"memory","unit":"GB","step":0.1},"description":"Minimum amount of memory in GBs."},{"name":"price_max","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Maximum price","description":"Maximum price (USD/hr).","category_id":"price","step":0.0001},"description":"Maximum price (USD/hr)."},{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active only","description":"Filter for active servers only.","category_id":"basic","default":true},"description":"Filter for active servers only."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"allocation","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/Allocation"},{"type":"null"}],"title":"Allocation","description":"Server allocation method.","enum":["ondemand","reserved","spot"]},"description":"Server allocation method."},{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"Region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"storage_size","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs) attached to the server.","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs) attached to the server."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"gpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"GPU count","description":"Minimum number of GPUs.","category_id":"gpu","unit":"GPUs"},"description":"Minimum number of GPUs."},{"name":"gpu_memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum GPU memory","description":"Minimum amount of GPU memory (GB) in each GPU.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of GPU memory (GB) in each GPU."},{"name":"gpu_memory_total","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total GPU memory","description":"Minimum amount of total GPU memory (GBs) in all GPUs.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of total GPU memory (GBs) in all GPUs."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited","default":50,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited"},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","default":"USD","title":"Currency"},"description":"Currency used for prices."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPriceWithPKs"},"title":"Response Search Server Prices Server Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_server_filters":{"get":{"tags":["AI"],"summary":"Assist Server Filters","description":"Extract Server JSON filters from freetext.","operationId":"assist_server_filters_ai_assist_server_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Server Filters Ai Assist Server Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_server_price_filters":{"get":{"tags":["AI"],"summary":"Assist Server Price Filters","description":"Extract ServerPrice JSON filters from freetext.","operationId":"assist_server_price_filters_ai_assist_server_price_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Server Price Filters Ai Assist Server Price Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Allocation":{"type":"string","enum":["ondemand","reserved","spot"],"title":"Allocation","description":"Server allocation options."},"Benchmark":{"properties":{"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Unique identifier of a specific Benchmark."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"framework":{"type":"string","title":"Framework","description":"The name of the benchmark framework/software/tool used."},"config_fields":{"type":"object","title":"Config Fields","description":"A dictionary of descriptions on the framework-specific config options, e.g. {\"bandwidth\": \"Memory amount to use for compression in MB.\"}.","default":{}},"measurement":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Measurement","description":"The name of measurement recoreded in the benchmark."},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit","description":"Optional unit of measurement for the benchmark score."},"higher_is_better":{"type":"boolean","title":"Higher Is Better","description":"If higher benchmark score means better performance, or vica versa.","default":true},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["benchmark_id","name","description","framework"],"title":"Benchmark","description":"Benchmark scenario definitions.\n\nAttributes:\n benchmark_id (str): Unique identifier of a specific Benchmark.\n name (str): Human-friendly name.\n description (typing.Optional[str]): Short description.\n framework (str): The name of the benchmark framework/software/tool used.\n config_fields (dict): A dictionary of descriptions on the framework-specific config options, e.g. {\"bandwidth\": \"Memory amount to use for compression in MB.\"}.\n measurement (typing.Optional[str]): The name of measurement recoreded in the benchmark.\n unit (typing.Optional[str]): Optional unit of measurement for the benchmark score.\n higher_is_better (bool): If higher benchmark score means better performance, or vica versa.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"benchmark_id":"geekbench:hdr","config_fields":{"cores":"Single-Core or Multi-Core peformance tests.","framework_version":"Version number of geekbench."},"description":"Blends six 16MP SDR photos to create a single HDR photo, using a recovery process and radiance map construction (Debevec and Malik 1997), and a tone mapping algorithm (Reinhard and Devlin 2005).The score is calibrated against a baseline score of 2,500 (Dell Precision 3460 with a Core i7-12700 processor) as per the Geekbench 6 Benchmark Internals.","framework":"geekbench","higher_is_better":true,"measurement":"hdr","name":"Geekbench: HDR","observed_at":"2024-08-22T14:55:09.536512","status":"active"}]},"BenchmarkScoreBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Reference to the Benchmark."},"config":{"type":"object","title":"Config","description":"Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}","default":{}},"score":{"type":"number","title":"Score","description":"The resulting score of the benchmark."},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Optional note, comment or context on the benchmark score."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","benchmark_id","score"],"title":"BenchmarkScoreBase"},"ComplianceFramework":{"properties":{"compliance_framework_id":{"type":"string","title":"Compliance Framework Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"abbreviation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abbreviation","description":"Short abbreviation of the Framework name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Description of the framework in a few paragrahs, outlining key features and characteristics for reference."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Framework's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage with more information on the Framework."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["compliance_framework_id","name","abbreviation","description"],"title":"ComplianceFramework","description":"List of Compliance Frameworks, such as HIPAA or SOC 2 Type 1.\n\nAttributes:\n compliance_framework_id (str): Unique identifier.\n name (str): Human-friendly name.\n abbreviation (typing.Optional[str]): Short abbreviation of the Framework name.\n description (typing.Optional[str]): Description of the framework in a few paragrahs, outlining key features and characteristics for reference.\n logo (typing.Optional[str]): Publicly accessible URL to the image of the Framework's logo.\n homepage (typing.Optional[str]): Public homepage with more information on the Framework.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"abbreviation":"HIPAA","compliance_framework_id":"hipaa","description":"HIPAA (Health Insurance Portability and Accountability Act) is a U.S. federal law designed to safeguard the privacy and security of individuals' health information, establishing standards for its protection and regulating its use in the healthcare industry.","homepage":"https://www.cdc.gov/phlp/publications/topic/hipaa.html","name":"The Health Insurance Portability and Accountability Act","observed_at":"2024-08-22T14:55:09.534491","status":"active"}]},"ComplianceFrameworks":{"type":"string","enum":["hipaa","iso27001","soc2t2"],"title":"ComplianceFrameworks"},"Country":{"properties":{"country_id":{"type":"string","title":"Country Id","description":"Country code by ISO 3166 alpha-2."},"continent":{"type":"string","title":"Continent","description":"Continent name."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["country_id","continent"],"title":"Country","description":"Country and continent mapping.\n\nAttributes:\n country_id (str): Country code by ISO 3166 alpha-2.\n continent (str): Continent name.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"continent":"Asia","country_id":"AE","observed_at":"2024-08-22T14:55:09.532777","status":"active"}]},"CountryBase":{"properties":{"country_id":{"type":"string","title":"Country Id","description":"Country code by ISO 3166 alpha-2."},"continent":{"type":"string","title":"Continent","description":"Continent name."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["country_id","continent"],"title":"CountryBase"},"Cpu":{"properties":{"manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Manufacturer"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cores"},"threads":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Threads"},"l1_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L1 Cache Size"},"l2_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L2 Cache Size"},"l3_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L3 Cache Size"},"microcode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Microcode"},"capabilities":{"items":{"type":"string"},"type":"array","title":"Capabilities","default":[]},"bugs":{"items":{"type":"string"},"type":"array","title":"Bugs","default":[]},"bogomips":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Bogomips"}},"type":"object","title":"Cpu","description":"CPU details."},"CpuAllocation":{"type":"string","enum":["Shared","Burstable","Dedicated"],"title":"CpuAllocation","description":"CPU allocation methods at cloud vendors."},"CpuArchitecture":{"type":"string","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"],"title":"CpuArchitecture","description":"CPU architectures."},"DdrGeneration":{"type":"string","enum":["DDR3","DDR4","DDR5"],"title":"DdrGeneration","description":"Generation of the DDR SDRAM."},"Disk":{"properties":{"size":{"type":"integer","title":"Size","default":0},"storage_type":{"$ref":"#/components/schemas/StorageType"}},"type":"object","required":["storage_type"],"title":"Disk","description":"Disk definition based on size and storage type."},"Gpu":{"properties":{"manufacturer":{"type":"string","title":"Manufacturer"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"memory":{"type":"integer","title":"Memory"},"firmware_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firmware Version"},"bios_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bios Version"},"graphics_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Graphics Clock"},"sm_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sm Clock"},"mem_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Mem Clock"},"video_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Video Clock"}},"type":"object","required":["manufacturer","memory"],"title":"Gpu","description":"GPU accelerator details."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"IdNameAndDescriptionAndCategory":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"id":{"type":"string","title":"Id"},"category":{"type":"string","title":"Category"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"}},"type":"object","required":["name","description","id","category","unit"],"title":"IdNameAndDescriptionAndCategory"},"NameAndDescription":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"}},"type":"object","required":["name","description"],"title":"NameAndDescription"},"OrderDir":{"type":"string","enum":["asc","desc"],"title":"OrderDir"},"PriceTier":{"properties":{"lower":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Lower"},"upper":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Upper"},"price":{"type":"number","title":"Price"}},"type":"object","required":["lower","upper","price"],"title":"PriceTier","description":"Price tier definition.\n\nAs standard JSON does not support Inf, NaN etc values,\nthose should be passed as string, e.g. for the upper bound.\n\nSee [float_inf_to_str][sc_crawler.utils.float_inf_to_str] for\nconverting an infinite numeric value into \"Infinity\"."},"PriceUnit":{"type":"string","enum":["year","month","hour","GiB","GB","GB/month"],"title":"PriceUnit","description":"Supported units for the price tables."},"Region":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id"],"title":"Region","description":"Regions of Vendors.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n aliases (typing.List[str]): List of other commonly used names for the same Region.\n country_id (str): Reference to the Country, where the Region is located.\n state (typing.Optional[str]): Optional state/administrative area of the Region's location within the Country.\n city (typing.Optional[str]): Optional city name of the Region's location.\n address_line (typing.Optional[str]): Optional address line of the Region's location.\n zip_code (typing.Optional[str]): Optional ZIP code of the Region's location.\n lon (typing.Optional[float]): Longitude coordinate of the Region's known or approximate location.\n lat (typing.Optional[float]): Latitude coordinate of the Region's known or approximate location.\n founding_year (typing.Optional[int]): 4-digit year when the Region was founded.\n green_energy (typing.Optional[bool]): If the Region is 100% powered by renewable energy.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-08-22T14:11:53.617701","region_id":"af-south-1","status":"active","vendor_id":"aws"}]},"RegionBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id"],"title":"RegionBase"},"RegionBaseWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"country":{"$ref":"#/components/schemas/CountryBase"}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id","country"],"title":"RegionBaseWithPKs"},"RegionPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"vendor":{"$ref":"#/components/schemas/VendorBase"}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id","vendor"],"title":"RegionPKs","examples":[{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-08-22T14:11:53.617701","region_id":"af-south-1","status":"active","vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-08-22T14:55:09.537193","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws"}]},"Regions":{"type":"string","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"],"title":"Regions"},"Server":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"Server","description":"Server types.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n server_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n description (typing.Optional[str]): Short description.\n family (typing.Optional[str]): Server family, e.g. General-purpose machine (GCP), or M5g (AWS).\n vcpus (int): Default number of virtual CPUs (vCPU) of the server.\n hypervisor (typing.Optional[str]): Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated.\n cpu_allocation (CpuAllocation): Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated.\n cpu_cores (typing.Optional[int]): Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled.\n cpu_speed (typing.Optional[float]): Vendor-reported maximum CPU clock speed (GHz).\n cpu_architecture (CpuArchitecture): CPU architecture (arm64, arm64_mac, i386, or x86_64).\n cpu_manufacturer (typing.Optional[str]): The manufacturer of the primary processor, e.g. Intel or AMD.\n cpu_family (typing.Optional[str]): The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9.\n cpu_model (typing.Optional[str]): The model number of the primary processor, e.g. 9750H.\n cpu_l1_cache (typing.Optional[int]): L1 cache size (byte).\n cpu_l2_cache (typing.Optional[int]): L2 cache size (byte).\n cpu_l3_cache (typing.Optional[int]): L3 cache size (byte).\n cpu_flags (typing.List[str]): CPU features/flags.\n cpus (typing.List[sc_crawler.table_fields.Cpu]): JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.\n memory_amount (int): RAM amount (MiB).\n memory_generation (typing.Optional[sc_crawler.table_fields.DdrGeneration]): Generation of the DDR SDRAM, e.g. DDR4 or DDR5.\n memory_speed (typing.Optional[int]): DDR SDRAM clock rate (Mhz).\n memory_ecc (typing.Optional[bool]): If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption.\n gpu_count (int): Number of GPU accelerator(s).\n gpu_memory_min (typing.Optional[int]): Memory (MiB) allocated to the lowest-end GPU accelerator.\n gpu_memory_total (typing.Optional[int]): Overall memory (MiB) allocated to all the GPU accelerator(s).\n gpu_manufacturer (typing.Optional[str]): The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD.\n gpu_family (typing.Optional[str]): The product family of the primary GPU accelerator, e.g. Turing.\n gpu_model (typing.Optional[str]): The model number of the primary GPU accelerator, e.g. Tesla T4.\n gpus (typing.List[sc_crawler.table_fields.Gpu]): JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.\n storage_size (int): Overall size (GB) of the disk(s).\n storage_type (typing.Optional[sc_crawler.table_fields.StorageType]): Primary disk type, e.g. HDD, SSD, NVMe SSD, or network).\n storages (typing.List[sc_crawler.table_fields.Disk]): JSON array of disks attached to the server, including the size (MiB) and type of each disk.\n network_speed (typing.Optional[float]): The baseline network performance (Gbps) of the network card.\n inbound_traffic (float): Amount of complimentary inbound traffic (GB) per month.\n outbound_traffic (float): Amount of complimentary outbound traffic (GB) per month.\n ipv4 (int): Number of complimentary IPv4 address(es).\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-08-22T14:12:44.988225","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"}]},"ServerPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"},"vendor":{"$ref":"#/components/schemas/VendorBase"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description","vendor"],"title":"ServerPKs","examples":[{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-08-22T14:12:44.988225","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"}]},"ServerPKsWithPrices":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"prices":{"items":{"$ref":"#/components/schemas/ServerPricePKs"},"type":"array","title":"Prices"},"benchmark_scores":{"items":{"$ref":"#/components/schemas/BenchmarkScoreBase"},"type":"array","title":"Benchmark Scores"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description","vendor","prices","benchmark_scores"],"title":"ServerPKsWithPrices","examples":[{"api_reference":"a1.2xlarge","benchmark_scores":[{"benchmark_id":"geekbench:hdr","config_fields":{"cores":"Single-Core or Multi-Core peformance tests.","framework_version":"Version number of geekbench."},"description":"Blends six 16MP SDR photos to create a single HDR photo, using a recovery process and radiance map construction (Debevec and Malik 1997), and a tone mapping algorithm (Reinhard and Devlin 2005).The score is calibrated against a baseline score of 2,500 (Dell Precision 3460 with a Core i7-12700 processor) as per the Geekbench 6 Benchmark Internals.","framework":"geekbench","higher_is_better":true,"measurement":"hdr","name":"Geekbench: HDR","observed_at":"2024-08-22T14:55:09.536512","status":"active"}],"cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-08-22T14:12:44.988225","outbound_traffic":0.0,"price":7,"prices":[{"allocation":"ondemand","currency":"USD","observed_at":"2024-08-22T14:13:53.100654","operating_system":"Linux","price":2.736,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-08-22T14:11:53.617701","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"af-south-1","server_id":"c5.12xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-08-22T14:12:00.767763","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"afs1-az1"},{"allocation":"spot","currency":"USD","observed_at":"2024-08-22T11:16:02","operating_system":"Linux","price":0.9223,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-08-22T14:11:53.617701","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"af-south-1","server_id":"c5.12xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-08-22T14:12:00.767763","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"afs1-az1"},{"allocation":"ondemand","currency":"USD","observed_at":"2024-08-22T14:13:52.886256","operating_system":"Linux","price":4.104,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-08-22T14:11:53.617701","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"af-south-1","server_id":"c5.18xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-08-22T14:12:00.767763","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"afs1-az1"},{"allocation":"spot","currency":"USD","observed_at":"2024-08-22T14:16:19","operating_system":"Linux","price":1.1517,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-08-22T14:11:53.617701","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"af-south-1","server_id":"c5.18xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-08-22T14:12:00.767763","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"afs1-az1"},{"allocation":"ondemand","currency":"USD","observed_at":"2024-08-22T14:13:52.938922","operating_system":"Linux","price":5.472,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-08-22T14:11:53.617701","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"af-south-1","server_id":"c5.24xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-08-22T14:12:00.767763","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"afs1-az1"}],"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-08-22T14:55:09.537193","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws"}]},"ServerPricePKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"allOf":[{"$ref":"#/components/schemas/Allocation"}],"description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBase"},"zone":{"$ref":"#/components/schemas/ZoneBase"}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price","region","zone"],"title":"ServerPricePKs"},"ServerPriceWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"allOf":[{"$ref":"#/components/schemas/Allocation"}],"description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"vendor":{"$ref":"#/components/schemas/VendorBase"},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"zone":{"$ref":"#/components/schemas/ZoneBase"},"server":{"$ref":"#/components/schemas/ServerWithScore"}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price","vendor","region","zone","server"],"title":"ServerPriceWithPKs","examples":[{"allocation":"ondemand","currency":"USD","observed_at":"2024-08-22T14:13:53.100654","operating_system":"Linux","price":2.736,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country":{"continent":"Asia","country_id":"AE","observed_at":"2024-08-22T14:55:09.532777","status":"active"},"country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-08-22T14:11:53.617701","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"af-south-1","server":{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-08-22T14:12:44.988225","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"},"server_id":"c5.12xlarge","status":"active","unit":"hour","vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-08-22T14:55:09.537193","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-08-22T14:12:00.767763","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"afs1-az1"}]},"ServerTableMetaData":{"properties":{"table":{"$ref":"#/components/schemas/NameAndDescription"},"fields":{"items":{"$ref":"#/components/schemas/IdNameAndDescriptionAndCategory"},"type":"array","title":"Fields"}},"type":"object","required":["table","fields"],"title":"ServerTableMetaData"},"ServerWithScore":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"ServerWithScore"},"Status":{"type":"string","enum":["active","inactive"],"title":"Status","description":"Last known status of a resource, e.g. active or inactive."},"Storage":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"storage_id":{"type":"string","title":"Storage Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"storage_type":{"allOf":[{"$ref":"#/components/schemas/StorageType"}],"description":"High-level category of the storage, e.g. HDD or SDD."},"max_iops":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Iops","description":"Maximum Input/Output Operations Per Second."},"max_throughput":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Throughput","description":"Maximum Throughput (MiB/s)."},"min_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Size","description":"Minimum required size (GiB)."},"max_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Size","description":"Maximum possible size (GiB)."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","storage_id","name","description","storage_type"],"title":"Storage","description":"Flexible storage options that can be attached to a Server.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n storage_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n description (typing.Optional[str]): Short description.\n storage_type (StorageType): High-level category of the storage, e.g. HDD or SDD.\n max_iops (typing.Optional[int]): Maximum Input/Output Operations Per Second.\n max_throughput (typing.Optional[int]): Maximum Throughput (MiB/s).\n min_size (typing.Optional[int]): Minimum required size (GiB).\n max_size (typing.Optional[int]): Maximum possible size (GiB).\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"description":"SSD-backed","max_iops":16000,"max_size":16384,"max_throughput":250,"min_size":1,"name":"General Purpose","observed_at":"2024-08-22T14:14:31.918188","status":"active","storage_id":"gp2","storage_type":"ssd","vendor_id":"aws"}]},"StorageBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"storage_id":{"type":"string","title":"Storage Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"storage_type":{"allOf":[{"$ref":"#/components/schemas/StorageType"}],"description":"High-level category of the storage, e.g. HDD or SDD."},"max_iops":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Iops","description":"Maximum Input/Output Operations Per Second."},"max_throughput":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Throughput","description":"Maximum Throughput (MiB/s)."},"min_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Size","description":"Minimum required size (GiB)."},"max_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Size","description":"Maximum possible size (GiB)."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","storage_id","name","description","storage_type"],"title":"StorageBase"},"StoragePriceWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"storage_id":{"type":"string","title":"Storage Id","description":"Reference to the Storage."},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"storage":{"$ref":"#/components/schemas/StorageBase"}},"type":"object","required":["vendor_id","region_id","storage_id","unit","price","region","vendor","storage"],"title":"StoragePriceWithPKs"},"StorageType":{"type":"string","enum":["hdd","ssd","nvme ssd","network"],"title":"StorageType","description":"Type of a storage, e.g. HDD or SSD."},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"Vendor":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Vendor's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage of the Vendor."},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Vendor's main headquarter is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Vendor's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Vendor's main location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Vendor's main location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Vendor's main location."},"founding_year":{"type":"integer","title":"Founding Year","description":"4-digit year when the Vendor was founded."},"status_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Page","description":"Public status page of the Vendor."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","name","country_id","founding_year"],"title":"Vendor","description":"Compute resource vendors, such as cloud and server providers.\n\n Examples:\n >>> from sc_crawler.tables import Vendor\n >>> from sc_crawler.lookup import countries\n >>> aws = Vendor(vendor_id='aws', name='Amazon Web Services', homepage='https://aws.amazon.com', country=countries[\"US\"], founding_year=2002)\n >>> aws\n Vendor(vendor_id='aws'...\n >>> from sc_crawler import vendors\n >>> vendors.aws\n Vendor(vendor_id='aws'...\n \n\nAttributes:\n vendor_id (str): Unique identifier.\n name (str): Human-friendly name.\n logo (typing.Optional[str]): Publicly accessible URL to the image of the Vendor's logo.\n homepage (typing.Optional[str]): Public homepage of the Vendor.\n country_id (str): Reference to the Country, where the Vendor's main headquarter is located.\n state (typing.Optional[str]): Optional state/administrative area of the Vendor's location within the Country.\n city (typing.Optional[str]): Optional city name of the Vendor's main location.\n address_line (typing.Optional[str]): Optional address line of the Vendor's main location.\n zip_code (typing.Optional[str]): Optional ZIP code of the Vendor's main location.\n founding_year (int): 4-digit year when the Vendor was founded.\n status_page (typing.Optional[str]): Public status page of the Vendor.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-08-22T14:55:09.537193","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"}]},"VendorBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Vendor's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage of the Vendor."},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Vendor's main headquarter is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Vendor's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Vendor's main location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Vendor's main location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Vendor's main location."},"founding_year":{"type":"integer","title":"Founding Year","description":"4-digit year when the Vendor was founded."},"status_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Page","description":"Public status page of the Vendor."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","name","country_id","founding_year"],"title":"VendorBase"},"Vendors":{"type":"string","enum":["aws","azure","gcp","hcloud"],"title":"Vendors"},"Zone":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","name","api_reference","display_name"],"title":"Zone","description":"Availability zones of Regions.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Reference to the Region.\n zone_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-08-22T14:12:00.767763","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"}]},"ZoneBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","name","api_reference","display_name"],"title":"ZoneBase"}}}} diff --git a/src/app/components/search-bar/search-bar.component.html b/src/app/components/search-bar/search-bar.component.html index 5eb982d7..001e9a22 100644 --- a/src/app/components/search-bar/search-bar.component.html +++ b/src/app/components/search-bar/search-bar.component.html @@ -145,6 +145,20 @@
{{getVendorName(enum)}}
+
+
+ +
{{getStorageName(enum)}}
+
+
diff --git a/src/app/components/search-bar/search-bar.component.ts b/src/app/components/search-bar/search-bar.component.ts index 6cfb43a5..387fe8bd 100644 --- a/src/app/components/search-bar/search-bar.component.ts +++ b/src/app/components/search-bar/search-bar.component.ts @@ -38,6 +38,7 @@ export class SearchBarComponent implements OnInit, OnChanges{ complianceFrameworks: any[] = []; vendors: any[] = []; + storageIds: any[] = []; countryMetadata: CountryMetadata[] = []; continentMetadata: ContinentMetadata[] = []; @@ -69,6 +70,9 @@ export class SearchBarComponent implements OnInit, OnChanges{ this.vendors = response.body; }); + this.keeperAPI.getStorages().then((response: any) => { + this.storageIds = response.body; + }); this.valueChangeDebouncer.pipe(debounceTime(500)).subscribe(() => { this.filterServers(); @@ -172,6 +176,10 @@ export class SearchBarComponent implements OnInit, OnChanges{ return this.vendors.find((item) => item.vendor_id === id)?.name || id; } + getStorageName(id: string) { + return this.storageIds.find((item) => item.storage_id === id)?.name || id; + } + getStep(parameter: any) { return parameter.schema.step || 1; } @@ -206,6 +214,14 @@ export class SearchBarComponent implements OnInit, OnChanges{ return 'vendor'; } + if(name === 'vendor') { + return 'vendor'; + } + + if(name === 'storage_id') { + return 'storage_id'; + } + if((type === 'integer' || type === 'number') && parameter.schema.minimum && parameter.schema.maximum) { return 'range'; } diff --git a/src/app/layout/header/header.component.html b/src/app/layout/header/header.component.html index bfec4dba..eed09d04 100644 --- a/src/app/layout/header/header.component.html +++ b/src/app/layout/header/header.component.html @@ -20,6 +20,12 @@ Prices + +
  • + + + Storages + +
  • diff --git a/src/app/pages/server-details/server-details.component.ts b/src/app/pages/server-details/server-details.component.ts index 61abfa63..4f0c23ef 100644 --- a/src/app/pages/server-details/server-details.component.ts +++ b/src/app/pages/server-details/server-details.component.ts @@ -3,7 +3,7 @@ import { Component, ElementRef, Inject, PLATFORM_ID, OnInit, ViewChild, OnDestroy, Renderer2 } from '@angular/core'; import { ActivatedRoute, Router, RouterModule } from '@angular/router'; import { KeeperAPIService } from '../../services/keeper-api.service'; -import { Server, ServerPKs, ServerPKsWithPrices, ServerPricePKs, TableServerTableServerGetData } from '../../../../sdk/data-contracts'; +import { GetSimilarServersServerVendorServerSimilarServersByNGetData, Server, ServerPKs, ServerPKsWithPrices, ServerPricePKs, TableServerTableServerGetData } from '../../../../sdk/data-contracts'; import { BreadcrumbSegment, BreadcrumbsComponent } from '../../components/breadcrumbs/breadcrumbs.component'; import { CommonModule, DOCUMENT, isPlatformBrowser } from '@angular/common'; import { LucideAngularModule } from 'lucide-angular'; @@ -74,18 +74,18 @@ export class ServerDetailsComponent implements OnInit, OnDestroy { regionDropdown: any; regionFilters: any[] = []; - similarByFamily: Server[] = []; + similarByFamily: GetSimilarServersServerVendorServerSimilarServersByNGetData = []; + similarBySpecs: GetSimilarServersServerVendorServerSimilarServersByNGetData = []; - similarServers: ServerPKs[] = []; + similarServers: GetSimilarServersServerVendorServerSimilarServersByNGetData = []; dropdownSimilar: any; - serverOptions: any[] = []; similarOptions: any[] = [ {name: 'By GPU, CPU and memory specs', key: 'bySpecs'}, {name: 'By CPU performance', key: 'byScore'}, - {name: 'By CPU performance per price', key: 'byPerformancePerPrice'} + //{name: 'By CPU performance per price', key: 'byPerformancePerPrice'} ]; - selectedSimilarOption: any = this.similarOptions[1]; + selectedSimilarOption: any = this.similarOptions[0]; instancePropertyCategories: any[] = [ { name: 'General', category: 'meta', properties: [] }, @@ -173,12 +173,17 @@ export class ServerDetailsComponent implements OnInit, OnDestroy { Promise.all([ this.keeperAPI.getServerMeta(), this.keeperAPI.getServerBenchmarkMeta(), - this.keeperAPI.getServer(vendor, id) + this.keeperAPI.getServer(vendor, id), + this.keeperAPI.getServerSimilarServers(vendor, id, 'family', 7), + this.keeperAPI.getServerSimilarServers(vendor, id, 'specs', 7) ]).then((dataAll) => { this.instanceProperties = dataAll[0].body?.fields || []; this.benchmarkMeta = dataAll[1].body || {}; + this.similarByFamily = dataAll[3].body; + this.similarBySpecs = dataAll[4].body; + if(dataAll[2].body){ this.serverDetails = dataAll[2].body as any; @@ -327,60 +332,24 @@ export class ServerDetailsComponent implements OnInit, OnDestroy { this.SEOHandler.updateTitleAndMetaTags(this.title, this.description, keywords); this.SEOHandler.updateThumbnail(`https://og.sparecores.com/images/${this.serverDetails.vendor_id}/${this.serverDetails.api_reference}.png`); - this.similarByFamily = []; - let similarBySpecs: any[] = []; - - this.keeperAPI.getServers().then((data) => { - if(data?.body) { - const allServers = data.body as TableServerTableServerGetData; - allServers.forEach((s) => { - if(s.vendor_id === this.serverDetails.vendor_id && s.family === this.serverDetails.family && s.api_reference !== this.serverDetails.api_reference) { - if(this.similarByFamily.length < 7 && this.similarByFamily.findIndex((s2) => s2.server_id === s.server_id) === -1) { - this.similarByFamily.push(s); - } - } else { - if(s.api_reference !== this.serverDetails.api_reference) { - similarBySpecs.push(s); - } - } - }); - this.similarByFamily = this.similarByFamily.sort((a, b) => { - if(a.memory_amount && b.memory_amount && a.memory_amount !== b.memory_amount) { - return a.memory_amount - b.memory_amount - } else if(a.vcpus && b.vcpus && a.vcpus !== b.vcpus) { - return a.vcpus - b.vcpus - } else if(a.cpu_cores && b.cpu_cores && a.cpu_cores !== b.cpu_cores) { - return a.cpu_cores - b.cpu_cores - } else { - return 0; - } + if (this.similarByFamily?.length > 0) { + this.faqs.push( + { + question: `Are there any other sized servers in the ${this.serverDetails.family} server family?`, + html: `Yes! In addition to the ${this.serverDetails.display_name} server, the ${this.serverDetails.family} server family includes ${this.similarByFamily.length} other sizes: ${this.similarByFamily.map((s: any) => this.serverUrl(s, true)).join(', ')}.` }); - // search for servers with the closest amount of memory - similarBySpecs = similarBySpecs.sort((a, b) => { - return this.diffSpec(a) - this.diffSpec(b); - }).slice(0, 10); - if (this.similarByFamily) { - this.faqs.push( - { - question: `Are there any other sized servers in the ${this.serverDetails.family} server family?`, - html: `Yes! In addition to the ${this.serverDetails.display_name} server, the ${this.serverDetails.family} server family includes ${this.similarByFamily.length} other sizes: ${this.similarByFamily.map((s) => this.serverUrl(s, true)).join(', ')}.` - }); - } - - this.faqs.push( - { - question: `What other servers offer similar performance to ${this.serverDetails.display_name}?`, - html: `Looking at the number of GPU, vCPUs, and memory amount, the following top 10 servers come with similar specs: ${similarBySpecs.map((s) => this.serverUrl(s, true)).join(', ')}.` - }); + } - // wee need similar machines to be filled - this.generateSchemaJSON(); + if(this.similarBySpecs?.length > 0) { + this.faqs.push( + { + question: `What other servers offer similar performance to ${this.serverDetails.display_name}?`, + html: `Looking at the number of GPU, vCPUs, and memory amount, the following top 10 servers come with similar specs: ${this.similarBySpecs.map((s: any) => this.serverUrl(s, true)).join(', ')}.` + }); + } - } - }).catch((error) => { - console.error('Failed to load server data:', error); - }); + this.generateSchemaJSON(); if(isPlatformBrowser(this.platformId)) { @@ -424,13 +393,7 @@ export class ServerDetailsComponent implements OnInit, OnDestroy { }, 2000); - this.keeperAPI.serverCacheSubject.subscribe((data) => { - if(data) { - // filter self out - this.serverOptions = data.filter((s) => s.api_reference !== this.serverDetails.api_reference); - this.selectSimilarServerOption(this.selectedSimilarOption); - } - }); + this.selectSimilarServerOption(this.selectedSimilarOption); const interval = setInterval(() => { const targetElAllocation: HTMLElement | null = document.getElementById('allocation_options'); @@ -1360,7 +1323,7 @@ export class ServerDetailsComponent implements OnInit, OnDestroy { } if(this.similarByFamily.length) { - json['isSimilarTo'] = this.similarByFamily.map((s) => { + json['isSimilarTo'] = this.similarByFamily.map((s: any) => { return { "@type": "Product", "name": `${s.display_name} (${s.vendor_id})`, @@ -1379,6 +1342,7 @@ export class ServerDetailsComponent implements OnInit, OnDestroy { diffBy(s: ServerPKs, field: keyof ServerPKs) { return Math.abs(Number(this.serverDetails[field]) - Number(s[field])); } + diffSpec(s: ServerPKs) { return Math.abs(Number(this.serverDetails.gpu_count) - Number(s.gpu_count)) * 10e6 + Math.abs(Number(this.serverDetails.vcpus) - Number(s.vcpus)) * 10e3 + @@ -1389,19 +1353,22 @@ export class ServerDetailsComponent implements OnInit, OnDestroy { this.selectedSimilarOption = event; switch(this.selectedSimilarOption.key) { case 'byScore': - this.similarServers = this.serverOptions.sort((a, b) => { - return this.diffBy(a, "score") - this.diffBy(b, "score"); - }).slice(0, 7); + this.keeperAPI.getServerSimilarServers(this.serverDetails.vendor_id, this.serverDetails.api_reference, 'score', 7) + .then((servers: any) => { + this.similarServers = servers?.body; + + }); break; + /* case 'byPerformancePerPrice': - this.similarServers = this.serverOptions.sort((a, b) => { - return this.diffBy(a, "score_per_price") - this.diffBy(b, "score_per_price"); - }).slice(0, 7); - break; + + break; + */ case 'bySpecs': - this.similarServers = this.serverOptions.sort((a, b) => { - return this.diffSpec(a) - this.diffSpec(b); - }).slice(0, 7); + this.keeperAPI.getServerSimilarServers(this.serverDetails.vendor_id, this.serverDetails.api_reference, 'specs', 7) + .then((servers: any) => { + this.similarServers = servers?.body; + }); break; } diff --git a/src/app/pages/server-listing/server-listing.component.ts b/src/app/pages/server-listing/server-listing.component.ts index d8525790..22f2f01e 100644 --- a/src/app/pages/server-listing/server-listing.component.ts +++ b/src/app/pages/server-listing/server-listing.component.ts @@ -301,6 +301,8 @@ export class ServerListingComponent implements OnInit, OnDestroy { if(this.limit !== 25) { queryParams.limit = this.limit; + } else { + delete queryParams.limit; } this.router.navigate([], { @@ -387,6 +389,8 @@ export class ServerListingComponent implements OnInit, OnDestroy { if(this.limit !== 25) { paramObject.limit = this.limit; + } else { + delete paramObject.limit; } return paramObject; @@ -410,6 +414,8 @@ export class ServerListingComponent implements OnInit, OnDestroy { if(this.limit !== 25) { paramObject.limit = this.limit; + } else { + delete paramObject.limit; } return paramObject || {}; diff --git a/src/app/pages/server-prices/server-prices.component.ts b/src/app/pages/server-prices/server-prices.component.ts index 28655644..a7aabcf9 100644 --- a/src/app/pages/server-prices/server-prices.component.ts +++ b/src/app/pages/server-prices/server-prices.component.ts @@ -366,6 +366,8 @@ export class ServerPricesComponent implements OnInit { if(this.limit !== 25) { queryParams.limit = this.limit; + } else { + delete queryParams.limit; } this.router.navigate([], { @@ -464,6 +466,8 @@ export class ServerPricesComponent implements OnInit { if(this.limit !== 25) { paramObject.limit = this.limit; + } else { + delete paramObject.limit; } if(this.countryMetadata.find((country) => country.selected)) { @@ -546,6 +550,8 @@ export class ServerPricesComponent implements OnInit { if(this.limit !== 25) { paramObject.limit = this.limit; + } else { + delete paramObject.limit; } return paramObject; diff --git a/src/app/pages/storages/storages.component.html b/src/app/pages/storages/storages.component.html index ef663364..eb84116e 100644 --- a/src/app/pages/storages/storages.component.html +++ b/src/app/pages/storages/storages.component.html @@ -4,10 +4,10 @@
    -

    Cloud Compute Resources

    +

    TODO

    - Explore, search, and evaluate the supported cloud compute resources in the table below. This comprehensive comparison includes diverse attributes such as CPU count, detailed processor information, memory, GPU, storage, network speed and capacity, available operating systems. Use the sidebar to filter the results, or enter your freetext query in the “Search prompt” bar. You can also compare servers by selecting at least two rows using the checkboxes. + TODO
    @@ -79,7 +79,6 @@

    Cloud Compute Resources

  • - @@ -91,21 +90,9 @@

    Cloud Compute Resources

    -
    - -
    - {{item.display_name}} - | - {{item.api_reference}} -
    -
    - {{item.vendor_id}} -
    -
    +
    {{item.storage.name}}
    +
    + {{item.storage.description}}
    @@ -133,18 +120,6 @@

    Cloud Compute Resources

    {{item.region.region_id}}
    - - -
    - - - -
    - @@ -169,7 +144,7 @@

    Cloud Compute Resources

    { this.storages = results.body; - this.isLoading = false - console.log(this.storages); + this.isLoading = false; + this.totalPages = this.storages?.length === this.limit ? this.page + 1 : this.page; }); - } toggleOrdering(column: TableColumn) { diff --git a/src/app/services/keeper-api.service.ts b/src/app/services/keeper-api.service.ts index ad568c0c..f9399184 100644 --- a/src/app/services/keeper-api.service.ts +++ b/src/app/services/keeper-api.service.ts @@ -3,12 +3,10 @@ import { Inject, Injectable, PLATFORM_ID } from '@angular/core'; import { MYHTTPClient } from './my_http/my-http'; import { Server } from '../../../sdk/Server'; import { Servers } from '../../../sdk/Servers'; -import { AssistServerFiltersAiAssistServerFiltersGetParams, AssistServerPriceFiltersAiAssistServerPriceFiltersGetParams, SearchServerPricesServerPricesGetParams, SearchServersServersGetParams, ServerPKs, TableStoragePricesStoragePricesGetParams } from '../../../sdk/data-contracts'; +import { AssistServerFiltersAiAssistServerFiltersGetParams, AssistServerPriceFiltersAiAssistServerPriceFiltersGetParams, SearchServerPricesServerPricesGetParams, SearchServersServersGetParams, TableStoragePricesStoragePricesGetParams } from '../../../sdk/data-contracts'; import { Table } from '../../../sdk/Table'; import { Ai } from '../../../sdk/Ai'; import { ServerPrices } from '../../../sdk/ServerPrices'; -import { BehaviorSubject } from 'rxjs'; -import { isPlatformBrowser } from '@angular/common'; import { StoragePrices } from '../../../sdk/StoragePrices'; @Injectable({ @@ -25,25 +23,20 @@ export class KeeperAPIService { public AIController: Ai = new Ai(this.myHttp); public StorageController: StoragePrices = new StoragePrices(this.myHttp); - serverCache: ServerPKs[] = []; - serverCacheSubject: BehaviorSubject = new BehaviorSubject([]); - constructor( @Inject(PLATFORM_ID) private platformId: object, private httpClient: HttpClient) { - - if(isPlatformBrowser(this.platformId)) { - this.searchServers({ limit: 10000 }).then((servers) => { - this.serverCache = servers.body; - this.serverCacheSubject.next(this.serverCache); - }); - } } public getServer(vendor: string, id: string, currency?: string): Promise { return this.ServerController.getServerServerVendorServerGet({vendor, server:id, currency }); } + public getServerSimilarServers(vendor: string, id: string, category: "family" | "specs" | "score", limit: number): Promise { + return Promise.resolve([]); + //return this.ServerController.getSimilarServersServerVendorServerSimilarServersByNGet(vendor, id, category, limit); + } + public searchServers(query: SearchServersServersGetParams): Promise { return this.SearchController.searchServersServersGet(query); } From 7aeae50ae509d18d219f4139e7e322588ca8d156 Mon Sep 17 00:00:00 2001 From: Palabola Date: Thu, 5 Sep 2024 09:50:15 +0200 Subject: [PATCH 05/66] SDK update --- sdk/StoragePrices.ts | 41 ------- sdk/StoragePricesRoute.ts | 251 -------------------------------------- 2 files changed, 292 deletions(-) delete mode 100644 sdk/StoragePrices.ts delete mode 100644 sdk/StoragePricesRoute.ts diff --git a/sdk/StoragePrices.ts b/sdk/StoragePrices.ts deleted file mode 100644 index b40a0ccd..00000000 --- a/sdk/StoragePrices.ts +++ /dev/null @@ -1,41 +0,0 @@ -/* eslint-disable */ -/* tslint:disable */ -/* - * --------------------------------------------------------------- - * ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ## - * ## ## - * ## AUTHOR: acacode ## - * ## SOURCE: https://github.com/acacode/swagger-typescript-api ## - * --------------------------------------------------------------- - */ - -import { - HTTPValidationError, - TableStoragePricesStoragePricesGetData, - TableStoragePricesStoragePricesGetParams, -} from "./data-contracts"; -import { HttpClient, RequestParams } from "./http-client"; - -export class StoragePrices { - http: HttpClient; - - constructor(http: HttpClient) { - this.http = http; - } - - /** - * No description - * - * @name TableStoragePricesStoragePricesGet - * @summary Table Storage Prices - * @request GET:/storage_prices - */ - tableStoragePricesStoragePricesGet = (query: TableStoragePricesStoragePricesGetParams, params: RequestParams = {}) => - this.http.request({ - path: `/storage_prices`, - method: "GET", - query: query, - format: "json", - ...params, - }); -} diff --git a/sdk/StoragePricesRoute.ts b/sdk/StoragePricesRoute.ts deleted file mode 100644 index e0315511..00000000 --- a/sdk/StoragePricesRoute.ts +++ /dev/null @@ -1,251 +0,0 @@ -/* eslint-disable */ -/* tslint:disable */ -/* - * --------------------------------------------------------------- - * ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ## - * ## ## - * ## AUTHOR: acacode ## - * ## SOURCE: https://github.com/acacode/swagger-typescript-api ## - * --------------------------------------------------------------- - */ - -import { OrderDir, TableStoragePricesStoragePricesGetData } from "./data-contracts"; - -export namespace StoragePrices { - /** - * No description - * @name TableStoragePricesStoragePricesGet - * @summary Table Storage Prices - * @request GET:/storage_prices - */ - export namespace TableStoragePricesStoragePricesGet { - export type RequestParams = {}; - export type RequestQuery = { - /** - * Vendor id - * Identifier of the cloud provider vendor. - */ - vendor?: "aws" | "azure" | "gcp" | "hcloud"; - /** - * Green energy - * Filter for regions with kow CO2 emission only. - */ - green_energy?: boolean | null; - /** - * Minimum size - * Minimum Storage size in GBs. - */ - storage_min?: number | null; - /** - * Storage Type - * Type of the storage attached to the server. - */ - storage_type?: "hdd" | "ssd" | "nvme ssd" | "network"; - /** - * Compliance Framework id - * Compliance framework implemented at the vendor. - */ - compliance_framework?: "hipaa" | "iso27001" | "soc2t2"; - /** - * Region id - * Identifier of the region. - */ - regions?: - | "1000" - | "1100" - | "1210" - | "1220" - | "1230" - | "1250" - | "1260" - | "1270" - | "1280" - | "1290" - | "1300" - | "1310" - | "1320" - | "1330" - | "1340" - | "1350" - | "1360" - | "1370" - | "1380" - | "1390" - | "1410" - | "1420" - | "1430" - | "1440" - | "1450" - | "1460" - | "1470" - | "1480" - | "1490" - | "1510" - | "1520" - | "1530" - | "1540" - | "1550" - | "1560" - | "1570" - | "1580" - | "1590" - | "1600" - | "1610" - | "2" - | "3" - | "4" - | "5" - | "6" - | "7" - | "af-south-1" - | "ap-east-1" - | "ap-northeast-1" - | "ap-northeast-2" - | "ap-northeast-3" - | "ap-south-1" - | "ap-south-2" - | "ap-southeast-1" - | "ap-southeast-2" - | "ap-southeast-3" - | "ap-southeast-4" - | "australiacentral" - | "australiacentral2" - | "australiaeast" - | "australiasoutheast" - | "brazilsouth" - | "brazilsoutheast" - | "brazilus" - | "ca-central-1" - | "canadacentral" - | "canadaeast" - | "ca-west-1" - | "centralindia" - | "centralus" - | "centraluseuap" - | "cn-north-1" - | "cn-northwest-1" - | "eastasia" - | "eastus" - | "eastus2" - | "eastus2euap" - | "eastusstg" - | "eu-central-1" - | "eu-central-2" - | "eu-north-1" - | "eu-south-1" - | "eu-south-2" - | "eu-west-1" - | "eu-west-2" - | "eu-west-3" - | "francecentral" - | "francesouth" - | "germanynorth" - | "germanywestcentral" - | "il-central-1" - | "israelcentral" - | "italynorth" - | "japaneast" - | "japanwest" - | "jioindiacentral" - | "jioindiawest" - | "koreacentral" - | "koreasouth" - | "me-central-1" - | "me-south-1" - | "mexicocentral" - | "northcentralus" - | "northeurope" - | "norwayeast" - | "norwaywest" - | "polandcentral" - | "qatarcentral" - | "sa-east-1" - | "southafricanorth" - | "southafricawest" - | "southcentralus" - | "southeastasia" - | "southindia" - | "spaincentral" - | "swedencentral" - | "switzerlandnorth" - | "switzerlandwest" - | "uaecentral" - | "uaenorth" - | "uksouth" - | "ukwest" - | "us-east-1" - | "us-east-2" - | "us-west-1" - | "us-west-2" - | "westcentralus" - | "westeurope" - | "westindia" - | "westus" - | "westus2" - | "westus3"; - /** - * Countries - * Filter for regions in the provided list of countries. - */ - countries?: - | "AE" - | "AU" - | "BE" - | "BH" - | "BR" - | "CA" - | "CH" - | "CL" - | "CN" - | "DE" - | "ES" - | "FI" - | "FR" - | "GB" - | "HK" - | "ID" - | "IE" - | "IL" - | "IN" - | "IT" - | "JP" - | "KR" - | "NL" - | "NO" - | "PL" - | "QA" - | "SA" - | "SE" - | "SG" - | "TW" - | "US" - | "ZA"; - /** - * Limit - * Maximum number of results. Set to -1 for unlimited - * @default 50 - */ - limit?: number; - /** - * Page - * Page number. - */ - page?: number | null; - /** - * Order By - * Order by column. - * @default "price" - */ - order_by?: string; - /** - * Order Dir - * Order direction. - * @default "asc" - */ - order_dir?: OrderDir; - }; - export type RequestBody = never; - export type RequestHeaders = {}; - export type ResponseBody = TableStoragePricesStoragePricesGetData; - } -} From 60e0ea187fc18616136d9a4a0b4b5cf484465574 Mon Sep 17 00:00:00 2001 From: Palabola Date: Thu, 5 Sep 2024 15:02:02 +0200 Subject: [PATCH 06/66] SDK update --- sdk/Ai.ts | 21 ++ sdk/AiRoute.ts | 19 ++ sdk/Healthcheck.ts | 2 +- sdk/HealthcheckRoute.ts | 2 +- sdk/data-contracts.ts | 393 ++++++++++++++++++++++++- sdk/openapi.json | 2 +- src/app/services/keeper-api.service.ts | 6 +- 7 files changed, 424 insertions(+), 21 deletions(-) diff --git a/sdk/Ai.ts b/sdk/Ai.ts index 99f08a7f..62ffaf89 100644 --- a/sdk/Ai.ts +++ b/sdk/Ai.ts @@ -14,6 +14,8 @@ import { AssistServerFiltersAiAssistServerFiltersGetParams, AssistServerPriceFiltersAiAssistServerPriceFiltersGetData, AssistServerPriceFiltersAiAssistServerPriceFiltersGetParams, + AssistStoragePriceFiltersAiAssistStoragePriceFiltersGetData, + AssistStoragePriceFiltersAiAssistStoragePriceFiltersGetParams, HTTPValidationError, } from "./data-contracts"; import { HttpClient, RequestParams } from "./http-client"; @@ -63,4 +65,23 @@ export class Ai { format: "json", ...params, }); + /** + * @description Extract StoragePrice JSON filters from freetext. + * + * @tags AI + * @name AssistStoragePriceFiltersAiAssistStoragePriceFiltersGet + * @summary Assist Storage Price Filters + * @request GET:/ai/assist_storage_price_filters + */ + assistStoragePriceFiltersAiAssistStoragePriceFiltersGet = ( + query: AssistStoragePriceFiltersAiAssistStoragePriceFiltersGetParams, + params: RequestParams = {}, + ) => + this.http.request({ + path: `/ai/assist_storage_price_filters`, + method: "GET", + query: query, + format: "json", + ...params, + }); } diff --git a/sdk/AiRoute.ts b/sdk/AiRoute.ts index 70ffd8ab..3fdb3743 100644 --- a/sdk/AiRoute.ts +++ b/sdk/AiRoute.ts @@ -12,6 +12,7 @@ import { AssistServerFiltersAiAssistServerFiltersGetData, AssistServerPriceFiltersAiAssistServerPriceFiltersGetData, + AssistStoragePriceFiltersAiAssistStoragePriceFiltersGetData, } from "./data-contracts"; export namespace Ai { @@ -50,4 +51,22 @@ export namespace Ai { export type RequestHeaders = {}; export type ResponseBody = AssistServerPriceFiltersAiAssistServerPriceFiltersGetData; } + + /** + * @description Extract StoragePrice JSON filters from freetext. + * @tags AI + * @name AssistStoragePriceFiltersAiAssistStoragePriceFiltersGet + * @summary Assist Storage Price Filters + * @request GET:/ai/assist_storage_price_filters + */ + export namespace AssistStoragePriceFiltersAiAssistStoragePriceFiltersGet { + export type RequestParams = {}; + export type RequestQuery = { + /** Text */ + text: string; + }; + export type RequestBody = never; + export type RequestHeaders = {}; + export type ResponseBody = AssistStoragePriceFiltersAiAssistStoragePriceFiltersGetData; + } } diff --git a/sdk/Healthcheck.ts b/sdk/Healthcheck.ts index f2938be1..f8077b4e 100644 --- a/sdk/Healthcheck.ts +++ b/sdk/Healthcheck.ts @@ -20,7 +20,7 @@ export class Healthcheck { } /** - * @description Return database hash and last updated timestamp. + * @description Quickly return package and database version information. * * @tags Administrative endpoints * @name HealthcheckHealthcheckGet diff --git a/sdk/HealthcheckRoute.ts b/sdk/HealthcheckRoute.ts index ee22eed2..b99ba4f3 100644 --- a/sdk/HealthcheckRoute.ts +++ b/sdk/HealthcheckRoute.ts @@ -13,7 +13,7 @@ import { HealthcheckHealthcheckGetData } from "./data-contracts"; export namespace Healthcheck { /** - * @description Return database hash and last updated timestamp. + * @description Quickly return package and database version information. * @tags Administrative endpoints * @name HealthcheckHealthcheckGet * @summary Healthcheck diff --git a/sdk/data-contracts.ts b/sdk/data-contracts.ts index b2dc353e..cd85f945 100644 --- a/sdk/data-contracts.ts +++ b/sdk/data-contracts.ts @@ -436,6 +436,18 @@ export interface HTTPValidationError { detail?: ValidationError[]; } +/** HealthcheckResponse */ +export interface HealthcheckResponse { + /** Packages */ + packages: object; + /** Database Last Updated */ + database_last_updated: number; + /** Database Hash */ + database_hash: string; + /** Database Alembic Version */ + database_alembic_version: string; +} + /** IdNameAndDescriptionAndCategory */ export interface IdNameAndDescriptionAndCategory { /** Name */ @@ -2449,6 +2461,121 @@ export interface Storage { observed_at?: string; } +/** StorageBase */ +export interface StorageBase { + /** + * Vendor Id + * Reference to the Vendor. + */ + vendor_id: string; + /** + * Storage Id + * Unique identifier, as called at the Vendor. + */ + storage_id: string; + /** + * Name + * Human-friendly name. + */ + name: string; + /** + * Description + * Short description. + */ + description: string | null; + /** High-level category of the storage, e.g. HDD or SDD. */ + storage_type: StorageType; + /** + * Max Iops + * Maximum Input/Output Operations Per Second. + */ + max_iops?: number | null; + /** + * Max Throughput + * Maximum Throughput (MiB/s). + */ + max_throughput?: number | null; + /** + * Min Size + * Minimum required size (GiB). + */ + min_size?: number | null; + /** + * Max Size + * Maximum possible size (GiB). + */ + max_size?: number | null; + /** + * Status of the resource (active or inactive). + * @default "active" + */ + status?: Status; + /** + * Observed At + * Timestamp of the last observation. + * @format date-time + */ + observed_at?: string; +} + +/** StoragePriceWithPKs */ +export interface StoragePriceWithPKs { + /** + * Vendor Id + * Reference to the Vendor. + */ + vendor_id: string; + /** + * Region Id + * Reference to the Region. + */ + region_id: string; + /** + * Storage Id + * Reference to the Storage. + */ + storage_id: string; + /** Billing unit of the pricing model. */ + unit: PriceUnit; + /** + * Price + * Actual price of a billing unit. + */ + price: number; + /** + * Price Upfront + * Price to be paid when setting up the resource. + * @default 0 + */ + price_upfront?: number; + /** + * Price Tiered + * List of pricing tiers with min/max thresholds and actual prices. + * @default [] + */ + price_tiered?: PriceTier[]; + /** + * Currency + * Currency of the prices. + * @default "USD" + */ + currency?: string; + /** + * Status of the resource (active or inactive). + * @default "active" + */ + status?: Status; + /** + * Observed At + * Timestamp of the last observation. + * @format date-time + */ + observed_at?: string; + region: RegionBaseWithPKs; + vendor: VendorBase; + storage: StorageBase; +} + /** * StorageType * Type of a storage, e.g. HDD or SSD. @@ -2750,8 +2877,7 @@ export interface ZoneBase { observed_at?: string; } -/** Response Healthcheck Healthcheck Get */ -export type HealthcheckHealthcheckGetData = object; +export type HealthcheckHealthcheckGetData = HealthcheckResponse; /** Response Table Benchmark Table Benchmark Get */ export type TableBenchmarkTableBenchmarkGetData = Benchmark[]; @@ -2864,6 +2990,30 @@ export type GetServerPricesServerVendorServerPricesGetData = ServerPrice[]; /** Response Get Server Benchmarks Server Vendor Server Benchmarks Get */ export type GetServerBenchmarksServerVendorServerBenchmarksGetData = BenchmarkScore[]; +export interface AssistServerFiltersAiAssistServerFiltersGetParams { + /** Text */ + text: string; +} + +/** Response Assist Server Filters Ai Assist Server Filters Get */ +export type AssistServerFiltersAiAssistServerFiltersGetData = object; + +export interface AssistServerPriceFiltersAiAssistServerPriceFiltersGetParams { + /** Text */ + text: string; +} + +/** Response Assist Server Price Filters Ai Assist Server Price Filters Get */ +export type AssistServerPriceFiltersAiAssistServerPriceFiltersGetData = object; + +export interface AssistStoragePriceFiltersAiAssistStoragePriceFiltersGetParams { + /** Text */ + text: string; +} + +/** Response Assist Storage Price Filters Ai Assist Storage Price Filters Get */ +export type AssistStoragePriceFiltersAiAssistStoragePriceFiltersGetData = object; + export interface SearchRegionsRegionsGetParams { /** * Vendor id @@ -3280,18 +3430,231 @@ export interface SearchServerPricesServerPricesGetParams { /** Response Search Server Prices Server Prices Get */ export type SearchServerPricesServerPricesGetData = ServerPriceWithPKs[]; -export interface AssistServerFiltersAiAssistServerFiltersGetParams { - /** Text */ - text: string; -} - -/** Response Assist Server Filters Ai Assist Server Filters Get */ -export type AssistServerFiltersAiAssistServerFiltersGetData = object; - -export interface AssistServerPriceFiltersAiAssistServerPriceFiltersGetParams { - /** Text */ - text: string; +export interface SearchStoragePricesStoragePricesGetParams { + /** + * Vendor id + * Identifier of the cloud provider vendor. + */ + vendor?: "aws" | "azure" | "gcp" | "hcloud"; + /** + * Green energy + * Filter for regions with kow CO2 emission only. + */ + green_energy?: boolean | null; + /** + * Storage Size + * Minimum amount of storage (GBs). + */ + storage_min?: number | null; + /** + * Storage Type + * Type of the storage attached to the server. + */ + storage_type?: "hdd" | "ssd" | "nvme ssd" | "network"; + /** + * Compliance Framework id + * Compliance framework implemented at the vendor. + */ + compliance_framework?: "hipaa" | "iso27001" | "soc2t2"; + /** + * Region id + * Identifier of the region. + */ + regions?: + | "1000" + | "1100" + | "1210" + | "1220" + | "1230" + | "1250" + | "1260" + | "1270" + | "1280" + | "1290" + | "1300" + | "1310" + | "1320" + | "1330" + | "1340" + | "1350" + | "1360" + | "1370" + | "1380" + | "1390" + | "1410" + | "1420" + | "1430" + | "1440" + | "1450" + | "1460" + | "1470" + | "1480" + | "1490" + | "1510" + | "1520" + | "1530" + | "1540" + | "1550" + | "1560" + | "1570" + | "1580" + | "1590" + | "1600" + | "1610" + | "2" + | "3" + | "4" + | "5" + | "6" + | "7" + | "af-south-1" + | "ap-east-1" + | "ap-northeast-1" + | "ap-northeast-2" + | "ap-northeast-3" + | "ap-south-1" + | "ap-south-2" + | "ap-southeast-1" + | "ap-southeast-2" + | "ap-southeast-3" + | "ap-southeast-4" + | "australiacentral" + | "australiacentral2" + | "australiaeast" + | "australiasoutheast" + | "brazilsouth" + | "brazilsoutheast" + | "brazilus" + | "ca-central-1" + | "canadacentral" + | "canadaeast" + | "ca-west-1" + | "centralindia" + | "centralus" + | "centraluseuap" + | "cn-north-1" + | "cn-northwest-1" + | "eastasia" + | "eastus" + | "eastus2" + | "eastus2euap" + | "eastusstg" + | "eu-central-1" + | "eu-central-2" + | "eu-north-1" + | "eu-south-1" + | "eu-south-2" + | "eu-west-1" + | "eu-west-2" + | "eu-west-3" + | "francecentral" + | "francesouth" + | "germanynorth" + | "germanywestcentral" + | "il-central-1" + | "israelcentral" + | "italynorth" + | "japaneast" + | "japanwest" + | "jioindiacentral" + | "jioindiawest" + | "koreacentral" + | "koreasouth" + | "me-central-1" + | "me-south-1" + | "mexicocentral" + | "northcentralus" + | "northeurope" + | "norwayeast" + | "norwaywest" + | "polandcentral" + | "qatarcentral" + | "sa-east-1" + | "southafricanorth" + | "southafricawest" + | "southcentralus" + | "southcentralusstg" + | "southeastasia" + | "southindia" + | "spaincentral" + | "swedencentral" + | "switzerlandnorth" + | "switzerlandwest" + | "uaecentral" + | "uaenorth" + | "uksouth" + | "ukwest" + | "us-east-1" + | "us-east-2" + | "us-west-1" + | "us-west-2" + | "westcentralus" + | "westeurope" + | "westindia" + | "westus" + | "westus2" + | "westus3"; + /** + * Countries + * Filter for regions in the provided list of countries. + */ + countries?: + | "AE" + | "AU" + | "BE" + | "BH" + | "BR" + | "CA" + | "CH" + | "CL" + | "CN" + | "DE" + | "ES" + | "FI" + | "FR" + | "GB" + | "HK" + | "ID" + | "IE" + | "IL" + | "IN" + | "IT" + | "JP" + | "KR" + | "NL" + | "NO" + | "PL" + | "QA" + | "SA" + | "SE" + | "SG" + | "TW" + | "US" + | "ZA"; + /** + * Limit + * Maximum number of results. Set to -1 for unlimited. + * @default 50 + */ + limit?: number; + /** + * Page + * Page number. + */ + page?: number | null; + /** + * Order By + * Order by column. + * @default "price" + */ + order_by?: string; + /** + * Order Dir + * Order direction. + * @default "asc" + */ + order_dir?: OrderDir; } -/** Response Assist Server Price Filters Ai Assist Server Price Filters Get */ -export type AssistServerPriceFiltersAiAssistServerPriceFiltersGetData = object; +/** Response Search Storage Prices Storage Prices Get */ +export type SearchStoragePricesStoragePricesGetData = StoragePriceWithPKs[]; diff --git a/sdk/openapi.json b/sdk/openapi.json index 5f596972..0a13a2a3 100644 --- a/sdk/openapi.json +++ b/sdk/openapi.json @@ -1 +1 @@ -{"openapi":"3.1.0","info":{"title":"Spare Cores (SC) Keeper","description":"\nAPI to search and serve data collected on cloud compute resources.\n\n## Licensing\n\nThis is a free service provided by the Spare Cores team, without any warranty.\nThe source code of the API is licensed under MPL-2.0, find more details at\n.\n\n## References\n\n- Spare Cores: \n- SC Keeper: \n- SC Crawler: \n- SC Data: \n","termsOfService":"https://sparecores.com/legal/terms-of-service","contact":{"name":"Spare Cores Team","email":"social@sparecores.com"},"license":{"name":"Mozilla Public License 2.0 (MPL 2.0)","url":"http://mozilla.org/MPL/2.0/"},"version":"0.3.0"},"paths":{"/healthcheck":{"get":{"tags":["Administrative endpoints"],"summary":"Healthcheck","description":"Return database hash and last updated timestamp.","operationId":"healthcheck_healthcheck_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Healthcheck Healthcheck Get"}}}}}}},"/table/benchmark":{"get":{"tags":["Table dumps"],"summary":"Table Benchmark","description":"Return the Benchmark table as-is, without filtering options or relationships resolved.","operationId":"table_benchmark_table_benchmark_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Benchmark"},"type":"array","title":"Response Table Benchmark Table Benchmark Get"}}}}}}},"/table/country":{"get":{"tags":["Table dumps"],"summary":"Table Country","description":"Return the Country table as-is, without filtering options or relationships resolved.","operationId":"table_country_table_country_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Country"},"type":"array","title":"Response Table Country Table Country Get"}}}}}}},"/table/compliance_framework":{"get":{"tags":["Table dumps"],"summary":"Table Compliance Frameworks","description":"Return the ComplianceFramework table as-is, without filtering options or relationships resolved.","operationId":"table_compliance_frameworks_table_compliance_framework_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ComplianceFramework"},"type":"array","title":"Response Table Compliance Frameworks Table Compliance Framework Get"}}}}}}},"/table/vendor":{"get":{"tags":["Table dumps"],"summary":"Table Vendor","description":"Return the Vendor table as-is, without filtering options or relationships resolved.","operationId":"table_vendor_table_vendor_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Vendor"},"type":"array","title":"Response Table Vendor Table Vendor Get"}}}}}}},"/table/region":{"get":{"tags":["Table dumps"],"summary":"Table Region","description":"Return the Region table as-is, without filtering options or relationships resolved.","operationId":"table_region_table_region_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Region"},"type":"array","title":"Response Table Region Table Region Get"}}}}}}},"/table/zone":{"get":{"tags":["Table dumps"],"summary":"Table Zone","description":"Return the Zone table as-is, without filtering options or relationships resolved.","operationId":"table_zone_table_zone_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Zone"},"type":"array","title":"Response Table Zone Table Zone Get"}}}}}}},"/table/server":{"get":{"tags":["Table dumps"],"summary":"Table Server","description":"Return the Server table as-is, without filtering options or relationships resolved.","operationId":"table_server_table_server_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Server"},"type":"array","title":"Response Table Server Table Server Get"}}}}}}},"/table/storage":{"get":{"tags":["Table dumps"],"summary":"Table Storage","description":"Return the Storage table as-is, without filtering options or relationships resolved.","operationId":"table_storage_table_storage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Storage"},"type":"array","title":"Response Table Storage Table Storage Get"}}}}}}},"/table/server/meta":{"get":{"tags":["Table metadata"],"summary":"Table Metadata Server","description":"Server table and column names and comments.","operationId":"table_metadata_server_table_server_meta_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerTableMetaData"}}}}}}},"/server/{vendor}/{server}":{"get":{"tags":["Server Details"],"summary":"Get Server","description":"Query a single server by its vendor id and either the server or, or its API reference.\n\nReturn dictionary includes all server fields, along\nwith the current prices per zone, and\nthe available benchmark scores.","operationId":"get_server_server__vendor___server__get","deprecated":true,"parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"Vendor ID.","title":"Vendor"},"description":"Vendor ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"Server ID or API reference.","title":"Server"},"description":"Server ID or API reference."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","title":"Currency"},"description":"Currency used for prices."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerPKsWithPrices"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v2/server/{vendor}/{server}":{"get":{"tags":["Server Details"],"summary":"Get Server Without Relations","description":"Query a single server by its vendor id and either the server id or its API reference.","operationId":"get_server_without_relations_v2_server__vendor___server__get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"A Vendor's ID.","title":"Vendor"},"description":"A Vendor's ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"A Server's ID or API reference.","title":"Server"},"description":"A Server's ID or API reference."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerBase"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}/similar_servers/{by}/{n}":{"get":{"tags":["Server Details"],"summary":"Get Similar Servers","description":"Search similar servers to the provided one.\n\nThe \"family\" method returns all servers from the same family of\nthe same vendor.\n\nThe \"specs\" approach will prioritize the number of\nGPUs, then CPUs, lastly the amount of memory.\n\nThe \"score\" method will find the servers with the closest\nperformance using the multi-core SCore.","operationId":"get_similar_servers_server__vendor___server__similar_servers__by___n__get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"Vendor ID.","title":"Vendor"},"description":"Vendor ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"Server ID or API reference.","title":"Server"},"description":"Server ID or API reference."},{"name":"by","in":"path","required":true,"schema":{"enum":["family","specs","score"],"type":"string","description":"Algorithm to look for similar servers.","title":"By"},"description":"Algorithm to look for similar servers."},{"name":"n","in":"path","required":true,"schema":{"type":"integer","maximum":100,"description":"Number of servers to get.","title":"N"},"description":"Number of servers to get."},{"name":"benchmark_id","in":"query","required":false,"schema":{"type":"string","description":"Benchmark id to use as the main score for the server.","default":"stress_ng:cpu_all","title":"Benchmark Id"},"description":"Benchmark id to use as the main score for the server."},{"name":"benchmark_config","in":"query","required":false,"schema":{"type":"string","description":"Benchmark id to use as the main score for the server.","default":"","title":"Benchmark Config"},"description":"Benchmark id to use as the main score for the server."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPKs"},"title":"Response Get Similar Servers Server Vendor Server Similar Servers By N Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}/prices":{"get":{"tags":["Server Details"],"summary":"Get Server Prices","description":"Query the current prices of a single server by its vendor id and server id.","operationId":"get_server_prices_server__vendor___server__prices_get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"A Vendor's ID.","title":"Vendor"},"description":"A Vendor's ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"A Server's ID or API reference.","title":"Server"},"description":"A Server's ID or API reference."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","title":"Currency"},"description":"Currency used for prices."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPrice"},"title":"Response Get Server Prices Server Vendor Server Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}/benchmarks":{"get":{"tags":["Server Details"],"summary":"Get Server Benchmarks","description":"Query the current benchmark scores of a single server.","operationId":"get_server_benchmarks_server__vendor___server__benchmarks_get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"A Vendor's ID.","title":"Vendor"},"description":"A Vendor's ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"A Server's ID or API reference.","title":"Server"},"description":"A Server's ID or API reference."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BenchmarkScore"},"title":"Response Get Server Benchmarks Server Vendor Server Benchmarks Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/regions":{"get":{"tags":["Query Resources"],"summary":"Search Regions","operationId":"search_regions_regions_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RegionPKs"},"title":"Response Search Regions Regions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/servers":{"get":{"tags":["Query Resources"],"summary":"Search Servers","operationId":"search_servers_servers_get","parameters":[{"name":"partial_name_or_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partial name or id","description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name.","category_id":"basic"},"description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name."},{"name":"vcpus_min","in":"query","required":false,"schema":{"type":"integer","maximum":256,"minimum":1,"title":"Minimum vCPUs","description":"Minimum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","default":1},"description":"Minimum number of virtual CPUs."},{"name":"architecture","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuArchitecture"}},{"type":"null"}],"title":"Processor architecture","description":"Processor architecture.","category_id":"processor","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"]},"description":"Processor architecture."},{"name":"benchmark_score_stressng_cpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"SCore","description":"Minimum stress-ng CPU workload score.","category_id":"processor"},"description":"Minimum stress-ng CPU workload score."},{"name":"memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum memory","description":"Minimum amount of memory in GBs.","category_id":"memory","unit":"GB","step":0.1},"description":"Minimum amount of memory in GBs."},{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active only","description":"Filter for active servers only.","category_id":"basic","default":true},"description":"Filter for active servers only."},{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"storage_size","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs).","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs)."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"gpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"GPU count","description":"Minimum number of GPUs.","category_id":"gpu","unit":"GPUs"},"description":"Minimum number of GPUs."},{"name":"gpu_memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum GPU memory","description":"Minimum amount of GPU memory (GB) in each GPU.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of GPU memory (GB) in each GPU."},{"name":"gpu_memory_total","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total GPU memory","description":"Minimum amount of total GPU memory (GBs) in all GPUs.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of total GPU memory (GBs) in all GPUs."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited.","default":50,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"vcpus","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPKs"},"title":"Response Search Servers Servers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server_prices":{"get":{"tags":["Query Resources"],"summary":"Search Server Prices","operationId":"search_server_prices_server_prices_get","parameters":[{"name":"partial_name_or_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partial name or id","description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name.","category_id":"basic"},"description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name."},{"name":"vcpus_min","in":"query","required":false,"schema":{"type":"integer","maximum":256,"minimum":1,"title":"Minimum vCPUs","description":"Minimum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","default":1},"description":"Minimum number of virtual CPUs."},{"name":"architecture","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuArchitecture"}},{"type":"null"}],"title":"Processor architecture","description":"Processor architecture.","category_id":"processor","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"]},"description":"Processor architecture."},{"name":"benchmark_score_stressng_cpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"SCore","description":"Minimum stress-ng CPU workload score.","category_id":"processor"},"description":"Minimum stress-ng CPU workload score."},{"name":"memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum memory","description":"Minimum amount of memory in GBs.","category_id":"memory","unit":"GB","step":0.1},"description":"Minimum amount of memory in GBs."},{"name":"price_max","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Maximum price","description":"Maximum price (USD/hr).","category_id":"price","step":0.0001},"description":"Maximum price (USD/hr)."},{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active only","description":"Filter for active servers only.","category_id":"basic","default":true},"description":"Filter for active servers only."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"allocation","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/Allocation"},{"type":"null"}],"title":"Allocation","description":"Server allocation method.","enum":["ondemand","reserved","spot"]},"description":"Server allocation method."},{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"Region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"storage_size","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs).","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs)."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"gpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"GPU count","description":"Minimum number of GPUs.","category_id":"gpu","unit":"GPUs"},"description":"Minimum number of GPUs."},{"name":"gpu_memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum GPU memory","description":"Minimum amount of GPU memory (GB) in each GPU.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of GPU memory (GB) in each GPU."},{"name":"gpu_memory_total","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total GPU memory","description":"Minimum amount of total GPU memory (GBs) in all GPUs.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of total GPU memory (GBs) in all GPUs."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":250,"description":"Maximum number of results.","default":50,"title":"Limit"},"description":"Maximum number of results."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","default":"USD","title":"Currency"},"description":"Currency used for prices."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPriceWithPKs"},"title":"Response Search Server Prices Server Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_server_filters":{"get":{"tags":["AI"],"summary":"Assist Server Filters","description":"Extract Server JSON filters from freetext.","operationId":"assist_server_filters_ai_assist_server_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Server Filters Ai Assist Server Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_server_price_filters":{"get":{"tags":["AI"],"summary":"Assist Server Price Filters","description":"Extract ServerPrice JSON filters from freetext.","operationId":"assist_server_price_filters_ai_assist_server_price_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Server Price Filters Ai Assist Server Price Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Allocation":{"type":"string","enum":["ondemand","reserved","spot"],"title":"Allocation","description":"Server allocation options."},"Benchmark":{"properties":{"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Unique identifier of a specific Benchmark."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"framework":{"type":"string","title":"Framework","description":"The name of the benchmark framework/software/tool used."},"config_fields":{"type":"object","title":"Config Fields","description":"A dictionary of descriptions on the framework-specific config options, e.g. {\"bandwidth\": \"Memory amount to use for compression in MB.\"}.","default":{}},"measurement":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Measurement","description":"The name of measurement recoreded in the benchmark."},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit","description":"Optional unit of measurement for the benchmark score."},"higher_is_better":{"type":"boolean","title":"Higher Is Better","description":"If higher benchmark score means better performance, or vica versa.","default":true},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["benchmark_id","name","description","framework"],"title":"Benchmark","description":"Benchmark scenario definitions.\n\nAttributes:\n benchmark_id (str): Unique identifier of a specific Benchmark.\n name (str): Human-friendly name.\n description (typing.Optional[str]): Short description.\n framework (str): The name of the benchmark framework/software/tool used.\n config_fields (dict): A dictionary of descriptions on the framework-specific config options, e.g. {\"bandwidth\": \"Memory amount to use for compression in MB.\"}.\n measurement (typing.Optional[str]): The name of measurement recoreded in the benchmark.\n unit (typing.Optional[str]): Optional unit of measurement for the benchmark score.\n higher_is_better (bool): If higher benchmark score means better performance, or vica versa.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"benchmark_id":"geekbench:hdr","config_fields":{"cores":"Single-Core or Multi-Core peformance tests.","framework_version":"Version number of geekbench."},"description":"Blends six 16MP SDR photos to create a single HDR photo, using a recovery process and radiance map construction (Debevec and Malik 1997), and a tone mapping algorithm (Reinhard and Devlin 2005).The score is calibrated against a baseline score of 2,500 (Dell Precision 3460 with a Core i7-12700 processor) as per the Geekbench 6 Benchmark Internals.","framework":"geekbench","higher_is_better":true,"measurement":"hdr","name":"Geekbench: HDR","observed_at":"2024-09-02T20:20:49.291883","status":"active"}]},"BenchmarkScore":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Reference to the Benchmark."},"config":{"type":"object","title":"Config","description":"Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}","default":{}},"score":{"type":"number","title":"Score","description":"The resulting score of the benchmark."},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Optional note, comment or context on the benchmark score."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","benchmark_id","score"],"title":"BenchmarkScore","description":"Results of running Benchmark scenarios on Servers.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n server_id (str): Reference to the Server.\n benchmark_id (str): Reference to the Benchmark.\n config (sc_crawler.table_fields.HashableDict | dict): Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}\n score (float): The resulting score of the benchmark.\n note (typing.Optional[str]): Optional note, comment or context on the benchmark score.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation."},"BenchmarkScoreBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Reference to the Benchmark."},"config":{"type":"object","title":"Config","description":"Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}","default":{}},"score":{"type":"number","title":"Score","description":"The resulting score of the benchmark."},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Optional note, comment or context on the benchmark score."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","benchmark_id","score"],"title":"BenchmarkScoreBase"},"ComplianceFramework":{"properties":{"compliance_framework_id":{"type":"string","title":"Compliance Framework Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"abbreviation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abbreviation","description":"Short abbreviation of the Framework name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Description of the framework in a few paragrahs, outlining key features and characteristics for reference."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Framework's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage with more information on the Framework."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["compliance_framework_id","name","abbreviation","description"],"title":"ComplianceFramework","description":"List of Compliance Frameworks, such as HIPAA or SOC 2 Type 1.\n\nAttributes:\n compliance_framework_id (str): Unique identifier.\n name (str): Human-friendly name.\n abbreviation (typing.Optional[str]): Short abbreviation of the Framework name.\n description (typing.Optional[str]): Description of the framework in a few paragrahs, outlining key features and characteristics for reference.\n logo (typing.Optional[str]): Publicly accessible URL to the image of the Framework's logo.\n homepage (typing.Optional[str]): Public homepage with more information on the Framework.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"abbreviation":"HIPAA","compliance_framework_id":"hipaa","description":"HIPAA (Health Insurance Portability and Accountability Act) is a U.S. federal law designed to safeguard the privacy and security of individuals' health information, establishing standards for its protection and regulating its use in the healthcare industry.","homepage":"https://www.cdc.gov/phlp/publications/topic/hipaa.html","name":"The Health Insurance Portability and Accountability Act","observed_at":"2024-09-02T20:20:49.289721","status":"active"}]},"ComplianceFrameworks":{"type":"string","enum":["hipaa","iso27001","soc2t2"],"title":"ComplianceFrameworks"},"Country":{"properties":{"country_id":{"type":"string","title":"Country Id","description":"Country code by ISO 3166 alpha-2."},"continent":{"type":"string","title":"Continent","description":"Continent name."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["country_id","continent"],"title":"Country","description":"Country and continent mapping.\n\nAttributes:\n country_id (str): Country code by ISO 3166 alpha-2.\n continent (str): Continent name.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"continent":"Asia","country_id":"AE","observed_at":"2024-09-02T20:20:49.287942","status":"active"}]},"CountryBase":{"properties":{"country_id":{"type":"string","title":"Country Id","description":"Country code by ISO 3166 alpha-2."},"continent":{"type":"string","title":"Continent","description":"Continent name."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["country_id","continent"],"title":"CountryBase"},"Cpu":{"properties":{"manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Manufacturer"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cores"},"threads":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Threads"},"l1_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L1 Cache Size"},"l2_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L2 Cache Size"},"l3_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L3 Cache Size"},"microcode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Microcode"},"capabilities":{"items":{"type":"string"},"type":"array","title":"Capabilities","default":[]},"bugs":{"items":{"type":"string"},"type":"array","title":"Bugs","default":[]},"bogomips":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Bogomips"}},"type":"object","title":"Cpu","description":"CPU details."},"CpuAllocation":{"type":"string","enum":["Shared","Burstable","Dedicated"],"title":"CpuAllocation","description":"CPU allocation methods at cloud vendors."},"CpuArchitecture":{"type":"string","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"],"title":"CpuArchitecture","description":"CPU architectures."},"DdrGeneration":{"type":"string","enum":["DDR3","DDR4","DDR5"],"title":"DdrGeneration","description":"Generation of the DDR SDRAM."},"Disk":{"properties":{"size":{"type":"integer","title":"Size","default":0},"storage_type":{"$ref":"#/components/schemas/StorageType"}},"type":"object","required":["storage_type"],"title":"Disk","description":"Disk definition based on size and storage type."},"Gpu":{"properties":{"manufacturer":{"type":"string","title":"Manufacturer"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"memory":{"type":"integer","title":"Memory"},"firmware_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firmware Version"},"bios_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bios Version"},"graphics_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Graphics Clock"},"sm_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sm Clock"},"mem_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Mem Clock"},"video_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Video Clock"}},"type":"object","required":["manufacturer","memory"],"title":"Gpu","description":"GPU accelerator details."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"IdNameAndDescriptionAndCategory":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"id":{"type":"string","title":"Id"},"category":{"type":"string","title":"Category"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"}},"type":"object","required":["name","description","id","category","unit"],"title":"IdNameAndDescriptionAndCategory"},"NameAndDescription":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"}},"type":"object","required":["name","description"],"title":"NameAndDescription"},"OrderDir":{"type":"string","enum":["asc","desc"],"title":"OrderDir"},"PriceTier":{"properties":{"lower":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Lower"},"upper":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Upper"},"price":{"type":"number","title":"Price"}},"type":"object","required":["lower","upper","price"],"title":"PriceTier","description":"Price tier definition.\n\nAs standard JSON does not support Inf, NaN etc values,\nthose should be passed as string, e.g. for the upper bound.\n\nSee [float_inf_to_str][sc_crawler.utils.float_inf_to_str] for\nconverting an infinite numeric value into \"Infinity\"."},"PriceUnit":{"type":"string","enum":["year","month","hour","GiB","GB","GB/month"],"title":"PriceUnit","description":"Supported units for the price tables."},"Region":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id"],"title":"Region","description":"Regions of Vendors.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n aliases (typing.List[str]): List of other commonly used names for the same Region.\n country_id (str): Reference to the Country, where the Region is located.\n state (typing.Optional[str]): Optional state/administrative area of the Region's location within the Country.\n city (typing.Optional[str]): Optional city name of the Region's location.\n address_line (typing.Optional[str]): Optional address line of the Region's location.\n zip_code (typing.Optional[str]): Optional ZIP code of the Region's location.\n lon (typing.Optional[float]): Longitude coordinate of the Region's known or approximate location.\n lat (typing.Optional[float]): Latitude coordinate of the Region's known or approximate location.\n founding_year (typing.Optional[int]): 4-digit year when the Region was founded.\n green_energy (typing.Optional[bool]): If the Region is 100% powered by renewable energy.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-02T20:20:50.740422","region_id":"af-south-1","status":"active","vendor_id":"aws"}]},"RegionBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id"],"title":"RegionBase"},"RegionBaseWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"country":{"$ref":"#/components/schemas/CountryBase"}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id","country"],"title":"RegionBaseWithPKs"},"RegionPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"vendor":{"$ref":"#/components/schemas/VendorBase"}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id","vendor"],"title":"RegionPKs","examples":[{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-02T20:20:50.740422","region_id":"af-south-1","status":"active","vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-02T20:20:49.293424","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws"}]},"Regions":{"type":"string","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"],"title":"Regions"},"Server":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"Server","description":"Server types.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n server_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n description (typing.Optional[str]): Short description.\n family (typing.Optional[str]): Server family, e.g. General-purpose machine (GCP), or M5g (AWS).\n vcpus (int): Default number of virtual CPUs (vCPU) of the server.\n hypervisor (typing.Optional[str]): Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated.\n cpu_allocation (CpuAllocation): Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated.\n cpu_cores (typing.Optional[int]): Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled.\n cpu_speed (typing.Optional[float]): Vendor-reported maximum CPU clock speed (GHz).\n cpu_architecture (CpuArchitecture): CPU architecture (arm64, arm64_mac, i386, or x86_64).\n cpu_manufacturer (typing.Optional[str]): The manufacturer of the primary processor, e.g. Intel or AMD.\n cpu_family (typing.Optional[str]): The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9.\n cpu_model (typing.Optional[str]): The model number of the primary processor, e.g. 9750H.\n cpu_l1_cache (typing.Optional[int]): L1 cache size (byte).\n cpu_l2_cache (typing.Optional[int]): L2 cache size (byte).\n cpu_l3_cache (typing.Optional[int]): L3 cache size (byte).\n cpu_flags (typing.List[str]): CPU features/flags.\n cpus (typing.List[sc_crawler.table_fields.Cpu]): JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.\n memory_amount (int): RAM amount (MiB).\n memory_generation (typing.Optional[sc_crawler.table_fields.DdrGeneration]): Generation of the DDR SDRAM, e.g. DDR4 or DDR5.\n memory_speed (typing.Optional[int]): DDR SDRAM clock rate (Mhz).\n memory_ecc (typing.Optional[bool]): If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption.\n gpu_count (int): Number of GPU accelerator(s).\n gpu_memory_min (typing.Optional[int]): Memory (MiB) allocated to the lowest-end GPU accelerator.\n gpu_memory_total (typing.Optional[int]): Overall memory (MiB) allocated to all the GPU accelerator(s).\n gpu_manufacturer (typing.Optional[str]): The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD.\n gpu_family (typing.Optional[str]): The product family of the primary GPU accelerator, e.g. Turing.\n gpu_model (typing.Optional[str]): The model number of the primary GPU accelerator, e.g. Tesla T4.\n gpus (typing.List[sc_crawler.table_fields.Gpu]): JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.\n storage_size (int): Overall size (GB) of the disk(s).\n storage_type (typing.Optional[sc_crawler.table_fields.StorageType]): Primary disk type, e.g. HDD, SSD, NVMe SSD, or network).\n storages (typing.List[sc_crawler.table_fields.Disk]): JSON array of disks attached to the server, including the size (MiB) and type of each disk.\n network_speed (typing.Optional[float]): The baseline network performance (Gbps) of the network card.\n inbound_traffic (float): Amount of complimentary inbound traffic (GB) per month.\n outbound_traffic (float): Amount of complimentary outbound traffic (GB) per month.\n ipv4 (int): Number of complimentary IPv4 address(es).\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-02T20:21:37.630513","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"}]},"ServerBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"ServerBase"},"ServerPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"},"vendor":{"$ref":"#/components/schemas/VendorBase"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description","vendor"],"title":"ServerPKs","examples":[{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-02T20:21:37.630513","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"}]},"ServerPKsWithPrices":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"prices":{"items":{"$ref":"#/components/schemas/ServerPricePKs"},"type":"array","title":"Prices"},"benchmark_scores":{"items":{"$ref":"#/components/schemas/BenchmarkScoreBase"},"type":"array","title":"Benchmark Scores"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description","vendor","prices","benchmark_scores"],"title":"ServerPKsWithPrices","examples":[{"api_reference":"a1.2xlarge","benchmark_scores":[{"benchmark_id":"geekbench:hdr","config_fields":{"cores":"Single-Core or Multi-Core peformance tests.","framework_version":"Version number of geekbench."},"description":"Blends six 16MP SDR photos to create a single HDR photo, using a recovery process and radiance map construction (Debevec and Malik 1997), and a tone mapping algorithm (Reinhard and Devlin 2005).The score is calibrated against a baseline score of 2,500 (Dell Precision 3460 with a Core i7-12700 processor) as per the Geekbench 6 Benchmark Internals.","framework":"geekbench","higher_is_better":true,"measurement":"hdr","name":"Geekbench: HDR","observed_at":"2024-09-02T20:20:49.291883","status":"active"}],"cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-02T20:21:37.630513","outbound_traffic":0.0,"price":7,"prices":[{"allocation":"spot","currency":"USD","observed_at":"2024-09-02T19:16:48","operating_system":"Linux","price":0.0684,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-02T20:20:50.740422","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-west-2","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-02T20:20:53.716412","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"usw2-az3"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-02T16:31:47","operating_system":"Linux","price":0.0693,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-02T20:20:50.740422","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-west-2","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-02T20:20:53.716412","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"usw2-az2"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-02T16:47:13","operating_system":"Linux","price":0.0813,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-02T20:20:50.740422","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"eu-central-1","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-02T20:20:53.716412","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"euc1-az2"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-02T17:01:40","operating_system":"Linux","price":0.0917,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-02T20:20:50.740422","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"ap-northeast-1","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-02T20:20:53.716412","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"apne1-az4"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-02T18:02:24","operating_system":"Linux","price":0.0995,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-02T20:20:50.740422","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"eu-west-1","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-02T20:20:53.716412","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"euw1-az2"}],"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-02T20:20:49.293424","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws"}]},"ServerPrice":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"allOf":[{"$ref":"#/components/schemas/Allocation"}],"description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price"],"title":"ServerPrice","description":"Server type prices per Region and Allocation method.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Reference to the Region.\n zone_id (str): Reference to the Zone.\n server_id (str): Reference to the Server.\n operating_system (str): Operating System.\n allocation (Allocation): Allocation method, e.g. on-demand or spot.\n unit (PriceUnit): Billing unit of the pricing model.\n price (float): Actual price of a billing unit.\n price_upfront (float): Price to be paid when setting up the resource.\n price_tiered (typing.List[sc_crawler.table_fields.PriceTier]): List of pricing tiers with min/max thresholds and actual prices.\n currency (str): Currency of the prices.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation."},"ServerPricePKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"allOf":[{"$ref":"#/components/schemas/Allocation"}],"description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBase"},"zone":{"$ref":"#/components/schemas/ZoneBase"}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price","region","zone"],"title":"ServerPricePKs"},"ServerPriceWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"allOf":[{"$ref":"#/components/schemas/Allocation"}],"description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"vendor":{"$ref":"#/components/schemas/VendorBase"},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"zone":{"$ref":"#/components/schemas/ZoneBase"},"server":{"$ref":"#/components/schemas/ServerWithScore"}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price","vendor","region","zone","server"],"title":"ServerPriceWithPKs","examples":[{"allocation":"spot","currency":"USD","observed_at":"2024-09-02T19:16:48","operating_system":"Linux","price":0.0684,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country":{"continent":"Asia","country_id":"AE","observed_at":"2024-09-02T20:20:49.287942","status":"active"},"country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-02T20:20:50.740422","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-west-2","server":{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-02T20:21:37.630513","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"},"server_id":"a1.2xlarge","status":"active","unit":"hour","vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-02T20:20:49.293424","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-02T20:20:53.716412","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"usw2-az3"}]},"ServerTableMetaData":{"properties":{"table":{"$ref":"#/components/schemas/NameAndDescription"},"fields":{"items":{"$ref":"#/components/schemas/IdNameAndDescriptionAndCategory"},"type":"array","title":"Fields"}},"type":"object","required":["table","fields"],"title":"ServerTableMetaData"},"ServerWithScore":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"ServerWithScore"},"Status":{"type":"string","enum":["active","inactive"],"title":"Status","description":"Last known status of a resource, e.g. active or inactive."},"Storage":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"storage_id":{"type":"string","title":"Storage Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"storage_type":{"allOf":[{"$ref":"#/components/schemas/StorageType"}],"description":"High-level category of the storage, e.g. HDD or SDD."},"max_iops":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Iops","description":"Maximum Input/Output Operations Per Second."},"max_throughput":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Throughput","description":"Maximum Throughput (MiB/s)."},"min_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Size","description":"Minimum required size (GiB)."},"max_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Size","description":"Maximum possible size (GiB)."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","storage_id","name","description","storage_type"],"title":"Storage","description":"Flexible storage options that can be attached to a Server.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n storage_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n description (typing.Optional[str]): Short description.\n storage_type (StorageType): High-level category of the storage, e.g. HDD or SDD.\n max_iops (typing.Optional[int]): Maximum Input/Output Operations Per Second.\n max_throughput (typing.Optional[int]): Maximum Throughput (MiB/s).\n min_size (typing.Optional[int]): Minimum required size (GiB).\n max_size (typing.Optional[int]): Maximum possible size (GiB).\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"description":"SSD-backed","max_iops":16000,"max_size":16384,"max_throughput":250,"min_size":1,"name":"General Purpose","observed_at":"2024-09-02T20:23:26.071331","status":"active","storage_id":"gp2","storage_type":"ssd","vendor_id":"aws"}]},"StorageType":{"type":"string","enum":["hdd","ssd","nvme ssd","network"],"title":"StorageType","description":"Type of a storage, e.g. HDD or SSD."},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"Vendor":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Vendor's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage of the Vendor."},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Vendor's main headquarter is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Vendor's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Vendor's main location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Vendor's main location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Vendor's main location."},"founding_year":{"type":"integer","title":"Founding Year","description":"4-digit year when the Vendor was founded."},"status_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Page","description":"Public status page of the Vendor."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","name","country_id","founding_year"],"title":"Vendor","description":"Compute resource vendors, such as cloud and server providers.\n\n Examples:\n >>> from sc_crawler.tables import Vendor\n >>> from sc_crawler.lookup import countries\n >>> aws = Vendor(vendor_id='aws', name='Amazon Web Services', homepage='https://aws.amazon.com', country=countries[\"US\"], founding_year=2002)\n >>> aws\n Vendor(vendor_id='aws'...\n >>> from sc_crawler import vendors\n >>> vendors.aws\n Vendor(vendor_id='aws'...\n \n\nAttributes:\n vendor_id (str): Unique identifier.\n name (str): Human-friendly name.\n logo (typing.Optional[str]): Publicly accessible URL to the image of the Vendor's logo.\n homepage (typing.Optional[str]): Public homepage of the Vendor.\n country_id (str): Reference to the Country, where the Vendor's main headquarter is located.\n state (typing.Optional[str]): Optional state/administrative area of the Vendor's location within the Country.\n city (typing.Optional[str]): Optional city name of the Vendor's main location.\n address_line (typing.Optional[str]): Optional address line of the Vendor's main location.\n zip_code (typing.Optional[str]): Optional ZIP code of the Vendor's main location.\n founding_year (int): 4-digit year when the Vendor was founded.\n status_page (typing.Optional[str]): Public status page of the Vendor.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-02T20:20:49.293424","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"}]},"VendorBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Vendor's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage of the Vendor."},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Vendor's main headquarter is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Vendor's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Vendor's main location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Vendor's main location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Vendor's main location."},"founding_year":{"type":"integer","title":"Founding Year","description":"4-digit year when the Vendor was founded."},"status_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Page","description":"Public status page of the Vendor."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","name","country_id","founding_year"],"title":"VendorBase"},"Vendors":{"type":"string","enum":["aws","azure","gcp","hcloud"],"title":"Vendors"},"Zone":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","name","api_reference","display_name"],"title":"Zone","description":"Availability zones of Regions.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Reference to the Region.\n zone_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-02T20:20:53.716412","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"}]},"ZoneBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","name","api_reference","display_name"],"title":"ZoneBase"}}}} +{"openapi":"3.1.0","info":{"title":"Spare Cores (SC) Keeper","description":"\nAPI to search and serve data collected on cloud compute resources.\n\n## Licensing\n\nThis is a free service provided by the Spare Cores team, without any warranty.\nThe source code of the API is licensed under MPL-2.0, find more details at\n.\n\n## References\n\n- Spare Cores: \n- SC Keeper: \n- SC Crawler: \n- SC Data: \n","termsOfService":"https://sparecores.com/legal/terms-of-service","contact":{"name":"Spare Cores Team","email":"social@sparecores.com"},"license":{"name":"Mozilla Public License 2.0 (MPL 2.0)","url":"http://mozilla.org/MPL/2.0/"},"version":"0.3.0"},"paths":{"/healthcheck":{"get":{"tags":["Administrative endpoints"],"summary":"Healthcheck","description":"Quickly return package and database version information.","operationId":"healthcheck_healthcheck_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthcheckResponse"}}}}}}},"/table/benchmark":{"get":{"tags":["Table dumps"],"summary":"Table Benchmark","description":"Return the Benchmark table as-is, without filtering options or relationships resolved.","operationId":"table_benchmark_table_benchmark_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Benchmark"},"type":"array","title":"Response Table Benchmark Table Benchmark Get"}}}}}}},"/table/country":{"get":{"tags":["Table dumps"],"summary":"Table Country","description":"Return the Country table as-is, without filtering options or relationships resolved.","operationId":"table_country_table_country_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Country"},"type":"array","title":"Response Table Country Table Country Get"}}}}}}},"/table/compliance_framework":{"get":{"tags":["Table dumps"],"summary":"Table Compliance Frameworks","description":"Return the ComplianceFramework table as-is, without filtering options or relationships resolved.","operationId":"table_compliance_frameworks_table_compliance_framework_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ComplianceFramework"},"type":"array","title":"Response Table Compliance Frameworks Table Compliance Framework Get"}}}}}}},"/table/vendor":{"get":{"tags":["Table dumps"],"summary":"Table Vendor","description":"Return the Vendor table as-is, without filtering options or relationships resolved.","operationId":"table_vendor_table_vendor_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Vendor"},"type":"array","title":"Response Table Vendor Table Vendor Get"}}}}}}},"/table/region":{"get":{"tags":["Table dumps"],"summary":"Table Region","description":"Return the Region table as-is, without filtering options or relationships resolved.","operationId":"table_region_table_region_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Region"},"type":"array","title":"Response Table Region Table Region Get"}}}}}}},"/table/zone":{"get":{"tags":["Table dumps"],"summary":"Table Zone","description":"Return the Zone table as-is, without filtering options or relationships resolved.","operationId":"table_zone_table_zone_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Zone"},"type":"array","title":"Response Table Zone Table Zone Get"}}}}}}},"/table/server":{"get":{"tags":["Table dumps"],"summary":"Table Server","description":"Return the Server table as-is, without filtering options or relationships resolved.","operationId":"table_server_table_server_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Server"},"type":"array","title":"Response Table Server Table Server Get"}}}}}}},"/table/storage":{"get":{"tags":["Table dumps"],"summary":"Table Storage","description":"Return the Storage table as-is, without filtering options or relationships resolved.","operationId":"table_storage_table_storage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Storage"},"type":"array","title":"Response Table Storage Table Storage Get"}}}}}}},"/table/server/meta":{"get":{"tags":["Table metadata"],"summary":"Table Metadata Server","description":"Server table and column names and comments.","operationId":"table_metadata_server_table_server_meta_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerTableMetaData"}}}}}}},"/server/{vendor}/{server}":{"get":{"tags":["Server Details"],"summary":"Get Server","description":"Query a single server by its vendor id and either the server or, or its API reference.\n\nReturn dictionary includes all server fields, along\nwith the current prices per zone, and\nthe available benchmark scores.","operationId":"get_server_server__vendor___server__get","deprecated":true,"parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"Vendor ID.","title":"Vendor"},"description":"Vendor ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"Server ID or API reference.","title":"Server"},"description":"Server ID or API reference."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","title":"Currency"},"description":"Currency used for prices."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerPKsWithPrices"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v2/server/{vendor}/{server}":{"get":{"tags":["Server Details"],"summary":"Get Server Without Relations","description":"Query a single server by its vendor id and either the server id or its API reference.","operationId":"get_server_without_relations_v2_server__vendor___server__get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"A Vendor's ID.","title":"Vendor"},"description":"A Vendor's ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"A Server's ID or API reference.","title":"Server"},"description":"A Server's ID or API reference."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerBase"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}/similar_servers/{by}/{n}":{"get":{"tags":["Server Details"],"summary":"Get Similar Servers","description":"Search similar servers to the provided one.\n\nThe \"family\" method returns all servers from the same family of\nthe same vendor.\n\nThe \"specs\" approach will prioritize the number of\nGPUs, then CPUs, lastly the amount of memory.\n\nThe \"score\" method will find the servers with the closest\nperformance using the multi-core SCore.","operationId":"get_similar_servers_server__vendor___server__similar_servers__by___n__get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"Vendor ID.","title":"Vendor"},"description":"Vendor ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"Server ID or API reference.","title":"Server"},"description":"Server ID or API reference."},{"name":"by","in":"path","required":true,"schema":{"enum":["family","specs","score"],"type":"string","description":"Algorithm to look for similar servers.","title":"By"},"description":"Algorithm to look for similar servers."},{"name":"n","in":"path","required":true,"schema":{"type":"integer","maximum":100,"description":"Number of servers to get.","title":"N"},"description":"Number of servers to get."},{"name":"benchmark_id","in":"query","required":false,"schema":{"type":"string","description":"Benchmark id to use as the main score for the server.","default":"stress_ng:cpu_all","title":"Benchmark Id"},"description":"Benchmark id to use as the main score for the server."},{"name":"benchmark_config","in":"query","required":false,"schema":{"type":"string","description":"Benchmark id to use as the main score for the server.","default":"","title":"Benchmark Config"},"description":"Benchmark id to use as the main score for the server."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPKs"},"title":"Response Get Similar Servers Server Vendor Server Similar Servers By N Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}/prices":{"get":{"tags":["Server Details"],"summary":"Get Server Prices","description":"Query the current prices of a single server by its vendor id and server id.","operationId":"get_server_prices_server__vendor___server__prices_get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"A Vendor's ID.","title":"Vendor"},"description":"A Vendor's ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"A Server's ID or API reference.","title":"Server"},"description":"A Server's ID or API reference."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","title":"Currency"},"description":"Currency used for prices."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPrice"},"title":"Response Get Server Prices Server Vendor Server Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}/benchmarks":{"get":{"tags":["Server Details"],"summary":"Get Server Benchmarks","description":"Query the current benchmark scores of a single server.","operationId":"get_server_benchmarks_server__vendor___server__benchmarks_get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"A Vendor's ID.","title":"Vendor"},"description":"A Vendor's ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"A Server's ID or API reference.","title":"Server"},"description":"A Server's ID or API reference."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BenchmarkScore"},"title":"Response Get Server Benchmarks Server Vendor Server Benchmarks Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_server_filters":{"get":{"tags":["AI"],"summary":"Assist Server Filters","description":"Extract Server JSON filters from freetext.","operationId":"assist_server_filters_ai_assist_server_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Server Filters Ai Assist Server Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_server_price_filters":{"get":{"tags":["AI"],"summary":"Assist Server Price Filters","description":"Extract ServerPrice JSON filters from freetext.","operationId":"assist_server_price_filters_ai_assist_server_price_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Server Price Filters Ai Assist Server Price Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_storage_price_filters":{"get":{"tags":["AI"],"summary":"Assist Storage Price Filters","description":"Extract StoragePrice JSON filters from freetext.","operationId":"assist_storage_price_filters_ai_assist_storage_price_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Storage Price Filters Ai Assist Storage Price Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/regions":{"get":{"tags":["Query Resources"],"summary":"Search Regions","operationId":"search_regions_regions_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RegionPKs"},"title":"Response Search Regions Regions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/servers":{"get":{"tags":["Query Resources"],"summary":"Search Servers","operationId":"search_servers_servers_get","parameters":[{"name":"partial_name_or_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partial name or id","description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name.","category_id":"basic"},"description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name."},{"name":"vcpus_min","in":"query","required":false,"schema":{"type":"integer","maximum":256,"minimum":1,"title":"Minimum vCPUs","description":"Minimum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","default":1},"description":"Minimum number of virtual CPUs."},{"name":"architecture","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuArchitecture"}},{"type":"null"}],"title":"Processor architecture","description":"Processor architecture.","category_id":"processor","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"]},"description":"Processor architecture."},{"name":"benchmark_score_stressng_cpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"SCore","description":"Minimum stress-ng CPU workload score.","category_id":"processor"},"description":"Minimum stress-ng CPU workload score."},{"name":"memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum memory","description":"Minimum amount of memory in GBs.","category_id":"memory","unit":"GB","step":0.1},"description":"Minimum amount of memory in GBs."},{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active only","description":"Filter for active servers only.","category_id":"basic","default":true},"description":"Filter for active servers only."},{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"storage_size","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs).","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs)."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"gpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"GPU count","description":"Minimum number of GPUs.","category_id":"gpu","unit":"GPUs"},"description":"Minimum number of GPUs."},{"name":"gpu_memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum GPU memory","description":"Minimum amount of GPU memory (GB) in each GPU.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of GPU memory (GB) in each GPU."},{"name":"gpu_memory_total","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total GPU memory","description":"Minimum amount of total GPU memory (GBs) in all GPUs.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of total GPU memory (GBs) in all GPUs."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited.","default":50,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"vcpus","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPKs"},"title":"Response Search Servers Servers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server_prices":{"get":{"tags":["Query Resources"],"summary":"Search Server Prices","operationId":"search_server_prices_server_prices_get","parameters":[{"name":"partial_name_or_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partial name or id","description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name.","category_id":"basic"},"description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name."},{"name":"vcpus_min","in":"query","required":false,"schema":{"type":"integer","maximum":256,"minimum":1,"title":"Minimum vCPUs","description":"Minimum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","default":1},"description":"Minimum number of virtual CPUs."},{"name":"architecture","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuArchitecture"}},{"type":"null"}],"title":"Processor architecture","description":"Processor architecture.","category_id":"processor","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"]},"description":"Processor architecture."},{"name":"benchmark_score_stressng_cpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"SCore","description":"Minimum stress-ng CPU workload score.","category_id":"processor"},"description":"Minimum stress-ng CPU workload score."},{"name":"memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum memory","description":"Minimum amount of memory in GBs.","category_id":"memory","unit":"GB","step":0.1},"description":"Minimum amount of memory in GBs."},{"name":"price_max","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Maximum price","description":"Maximum price (USD/hr).","category_id":"price","step":0.0001},"description":"Maximum price (USD/hr)."},{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active only","description":"Filter for active servers only.","category_id":"basic","default":true},"description":"Filter for active servers only."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"allocation","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/Allocation"},{"type":"null"}],"title":"Allocation","description":"Server allocation method.","enum":["ondemand","reserved","spot"]},"description":"Server allocation method."},{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"Region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"storage_size","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs).","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs)."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"gpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"GPU count","description":"Minimum number of GPUs.","category_id":"gpu","unit":"GPUs"},"description":"Minimum number of GPUs."},{"name":"gpu_memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum GPU memory","description":"Minimum amount of GPU memory (GB) in each GPU.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of GPU memory (GB) in each GPU."},{"name":"gpu_memory_total","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total GPU memory","description":"Minimum amount of total GPU memory (GBs) in all GPUs.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of total GPU memory (GBs) in all GPUs."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":250,"description":"Maximum number of results.","default":50,"title":"Limit"},"description":"Maximum number of results."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","default":"USD","title":"Currency"},"description":"Currency used for prices."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPriceWithPKs"},"title":"Response Search Server Prices Server Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/storage_prices":{"get":{"tags":["Query Resources"],"summary":"Search Storage Prices","operationId":"search_storage_prices_storage_prices_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"storage_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs).","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs)."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"Region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited.","default":50,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StoragePriceWithPKs"},"title":"Response Search Storage Prices Storage Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Allocation":{"type":"string","enum":["ondemand","reserved","spot"],"title":"Allocation","description":"Server allocation options."},"Benchmark":{"properties":{"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Unique identifier of a specific Benchmark."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"framework":{"type":"string","title":"Framework","description":"The name of the benchmark framework/software/tool used."},"config_fields":{"type":"object","title":"Config Fields","description":"A dictionary of descriptions on the framework-specific config options, e.g. {\"bandwidth\": \"Memory amount to use for compression in MB.\"}.","default":{}},"measurement":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Measurement","description":"The name of measurement recoreded in the benchmark."},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit","description":"Optional unit of measurement for the benchmark score."},"higher_is_better":{"type":"boolean","title":"Higher Is Better","description":"If higher benchmark score means better performance, or vica versa.","default":true},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["benchmark_id","name","description","framework"],"title":"Benchmark","description":"Benchmark scenario definitions.\n\nAttributes:\n benchmark_id (str): Unique identifier of a specific Benchmark.\n name (str): Human-friendly name.\n description (typing.Optional[str]): Short description.\n framework (str): The name of the benchmark framework/software/tool used.\n config_fields (dict): A dictionary of descriptions on the framework-specific config options, e.g. {\"bandwidth\": \"Memory amount to use for compression in MB.\"}.\n measurement (typing.Optional[str]): The name of measurement recoreded in the benchmark.\n unit (typing.Optional[str]): Optional unit of measurement for the benchmark score.\n higher_is_better (bool): If higher benchmark score means better performance, or vica versa.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"benchmark_id":"geekbench:hdr","config_fields":{"cores":"Single-Core or Multi-Core peformance tests.","framework_version":"Version number of geekbench."},"description":"Blends six 16MP SDR photos to create a single HDR photo, using a recovery process and radiance map construction (Debevec and Malik 1997), and a tone mapping algorithm (Reinhard and Devlin 2005).The score is calibrated against a baseline score of 2,500 (Dell Precision 3460 with a Core i7-12700 processor) as per the Geekbench 6 Benchmark Internals.","framework":"geekbench","higher_is_better":true,"measurement":"hdr","name":"Geekbench: HDR","observed_at":"2024-09-05T12:11:58.316953","status":"active"}]},"BenchmarkScore":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Reference to the Benchmark."},"config":{"type":"object","title":"Config","description":"Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}","default":{}},"score":{"type":"number","title":"Score","description":"The resulting score of the benchmark."},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Optional note, comment or context on the benchmark score."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","benchmark_id","score"],"title":"BenchmarkScore","description":"Results of running Benchmark scenarios on Servers.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n server_id (str): Reference to the Server.\n benchmark_id (str): Reference to the Benchmark.\n config (sc_crawler.table_fields.HashableDict | dict): Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}\n score (float): The resulting score of the benchmark.\n note (typing.Optional[str]): Optional note, comment or context on the benchmark score.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation."},"BenchmarkScoreBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Reference to the Benchmark."},"config":{"type":"object","title":"Config","description":"Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}","default":{}},"score":{"type":"number","title":"Score","description":"The resulting score of the benchmark."},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Optional note, comment or context on the benchmark score."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","benchmark_id","score"],"title":"BenchmarkScoreBase"},"ComplianceFramework":{"properties":{"compliance_framework_id":{"type":"string","title":"Compliance Framework Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"abbreviation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abbreviation","description":"Short abbreviation of the Framework name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Description of the framework in a few paragrahs, outlining key features and characteristics for reference."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Framework's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage with more information on the Framework."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["compliance_framework_id","name","abbreviation","description"],"title":"ComplianceFramework","description":"List of Compliance Frameworks, such as HIPAA or SOC 2 Type 1.\n\nAttributes:\n compliance_framework_id (str): Unique identifier.\n name (str): Human-friendly name.\n abbreviation (typing.Optional[str]): Short abbreviation of the Framework name.\n description (typing.Optional[str]): Description of the framework in a few paragrahs, outlining key features and characteristics for reference.\n logo (typing.Optional[str]): Publicly accessible URL to the image of the Framework's logo.\n homepage (typing.Optional[str]): Public homepage with more information on the Framework.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"abbreviation":"HIPAA","compliance_framework_id":"hipaa","description":"HIPAA (Health Insurance Portability and Accountability Act) is a U.S. federal law designed to safeguard the privacy and security of individuals' health information, establishing standards for its protection and regulating its use in the healthcare industry.","homepage":"https://www.cdc.gov/phlp/publications/topic/hipaa.html","name":"The Health Insurance Portability and Accountability Act","observed_at":"2024-09-05T12:11:58.314755","status":"active"}]},"ComplianceFrameworks":{"type":"string","enum":["hipaa","iso27001","soc2t2"],"title":"ComplianceFrameworks"},"Country":{"properties":{"country_id":{"type":"string","title":"Country Id","description":"Country code by ISO 3166 alpha-2."},"continent":{"type":"string","title":"Continent","description":"Continent name."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["country_id","continent"],"title":"Country","description":"Country and continent mapping.\n\nAttributes:\n country_id (str): Country code by ISO 3166 alpha-2.\n continent (str): Continent name.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"continent":"Asia","country_id":"AE","observed_at":"2024-09-05T12:11:58.313071","status":"active"}]},"CountryBase":{"properties":{"country_id":{"type":"string","title":"Country Id","description":"Country code by ISO 3166 alpha-2."},"continent":{"type":"string","title":"Continent","description":"Continent name."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["country_id","continent"],"title":"CountryBase"},"Cpu":{"properties":{"manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Manufacturer"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cores"},"threads":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Threads"},"l1_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L1 Cache Size"},"l2_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L2 Cache Size"},"l3_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L3 Cache Size"},"microcode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Microcode"},"capabilities":{"items":{"type":"string"},"type":"array","title":"Capabilities","default":[]},"bugs":{"items":{"type":"string"},"type":"array","title":"Bugs","default":[]},"bogomips":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Bogomips"}},"type":"object","title":"Cpu","description":"CPU details."},"CpuAllocation":{"type":"string","enum":["Shared","Burstable","Dedicated"],"title":"CpuAllocation","description":"CPU allocation methods at cloud vendors."},"CpuArchitecture":{"type":"string","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"],"title":"CpuArchitecture","description":"CPU architectures."},"DdrGeneration":{"type":"string","enum":["DDR3","DDR4","DDR5"],"title":"DdrGeneration","description":"Generation of the DDR SDRAM."},"Disk":{"properties":{"size":{"type":"integer","title":"Size","default":0},"storage_type":{"$ref":"#/components/schemas/StorageType"}},"type":"object","required":["storage_type"],"title":"Disk","description":"Disk definition based on size and storage type."},"Gpu":{"properties":{"manufacturer":{"type":"string","title":"Manufacturer"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"memory":{"type":"integer","title":"Memory"},"firmware_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firmware Version"},"bios_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bios Version"},"graphics_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Graphics Clock"},"sm_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sm Clock"},"mem_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Mem Clock"},"video_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Video Clock"}},"type":"object","required":["manufacturer","memory"],"title":"Gpu","description":"GPU accelerator details."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HealthcheckResponse":{"properties":{"packages":{"type":"object","title":"Packages"},"database_last_updated":{"type":"number","title":"Database Last Updated"},"database_hash":{"type":"string","title":"Database Hash"},"database_alembic_version":{"type":"string","title":"Database Alembic Version"}},"type":"object","required":["packages","database_last_updated","database_hash","database_alembic_version"],"title":"HealthcheckResponse","examples":[{"database_alembic_version":"bar","database_hash":"foo","database_last_updated":1725540112.2994843,"packages":{"sparecores-crawler":"1.0.0"}}]},"IdNameAndDescriptionAndCategory":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"id":{"type":"string","title":"Id"},"category":{"type":"string","title":"Category"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"}},"type":"object","required":["name","description","id","category","unit"],"title":"IdNameAndDescriptionAndCategory"},"NameAndDescription":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"}},"type":"object","required":["name","description"],"title":"NameAndDescription"},"OrderDir":{"type":"string","enum":["asc","desc"],"title":"OrderDir"},"PriceTier":{"properties":{"lower":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Lower"},"upper":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Upper"},"price":{"type":"number","title":"Price"}},"type":"object","required":["lower","upper","price"],"title":"PriceTier","description":"Price tier definition.\n\nAs standard JSON does not support Inf, NaN etc values,\nthose should be passed as string, e.g. for the upper bound.\n\nSee [float_inf_to_str][sc_crawler.utils.float_inf_to_str] for\nconverting an infinite numeric value into \"Infinity\"."},"PriceUnit":{"type":"string","enum":["year","month","hour","GiB","GB","GB/month"],"title":"PriceUnit","description":"Supported units for the price tables."},"Region":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id"],"title":"Region","description":"Regions of Vendors.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n aliases (typing.List[str]): List of other commonly used names for the same Region.\n country_id (str): Reference to the Country, where the Region is located.\n state (typing.Optional[str]): Optional state/administrative area of the Region's location within the Country.\n city (typing.Optional[str]): Optional city name of the Region's location.\n address_line (typing.Optional[str]): Optional address line of the Region's location.\n zip_code (typing.Optional[str]): Optional ZIP code of the Region's location.\n lon (typing.Optional[float]): Longitude coordinate of the Region's known or approximate location.\n lat (typing.Optional[float]): Latitude coordinate of the Region's known or approximate location.\n founding_year (typing.Optional[int]): 4-digit year when the Region was founded.\n green_energy (typing.Optional[bool]): If the Region is 100% powered by renewable energy.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-05T11:19:35.750464","region_id":"af-south-1","status":"active","vendor_id":"aws"}]},"RegionBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id"],"title":"RegionBase"},"RegionBaseWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"country":{"$ref":"#/components/schemas/CountryBase"}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id","country"],"title":"RegionBaseWithPKs"},"RegionPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"vendor":{"$ref":"#/components/schemas/VendorBase"}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id","vendor"],"title":"RegionPKs","examples":[{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-05T11:19:35.750464","region_id":"af-south-1","status":"active","vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-05T12:11:58.318357","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws"}]},"Regions":{"type":"string","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"],"title":"Regions"},"Server":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"Server","description":"Server types.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n server_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n description (typing.Optional[str]): Short description.\n family (typing.Optional[str]): Server family, e.g. General-purpose machine (GCP), or M5g (AWS).\n vcpus (int): Default number of virtual CPUs (vCPU) of the server.\n hypervisor (typing.Optional[str]): Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated.\n cpu_allocation (CpuAllocation): Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated.\n cpu_cores (typing.Optional[int]): Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled.\n cpu_speed (typing.Optional[float]): Vendor-reported maximum CPU clock speed (GHz).\n cpu_architecture (CpuArchitecture): CPU architecture (arm64, arm64_mac, i386, or x86_64).\n cpu_manufacturer (typing.Optional[str]): The manufacturer of the primary processor, e.g. Intel or AMD.\n cpu_family (typing.Optional[str]): The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9.\n cpu_model (typing.Optional[str]): The model number of the primary processor, e.g. 9750H.\n cpu_l1_cache (typing.Optional[int]): L1 cache size (byte).\n cpu_l2_cache (typing.Optional[int]): L2 cache size (byte).\n cpu_l3_cache (typing.Optional[int]): L3 cache size (byte).\n cpu_flags (typing.List[str]): CPU features/flags.\n cpus (typing.List[sc_crawler.table_fields.Cpu]): JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.\n memory_amount (int): RAM amount (MiB).\n memory_generation (typing.Optional[sc_crawler.table_fields.DdrGeneration]): Generation of the DDR SDRAM, e.g. DDR4 or DDR5.\n memory_speed (typing.Optional[int]): DDR SDRAM clock rate (Mhz).\n memory_ecc (typing.Optional[bool]): If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption.\n gpu_count (int): Number of GPU accelerator(s).\n gpu_memory_min (typing.Optional[int]): Memory (MiB) allocated to the lowest-end GPU accelerator.\n gpu_memory_total (typing.Optional[int]): Overall memory (MiB) allocated to all the GPU accelerator(s).\n gpu_manufacturer (typing.Optional[str]): The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD.\n gpu_family (typing.Optional[str]): The product family of the primary GPU accelerator, e.g. Turing.\n gpu_model (typing.Optional[str]): The model number of the primary GPU accelerator, e.g. Tesla T4.\n gpus (typing.List[sc_crawler.table_fields.Gpu]): JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.\n storage_size (int): Overall size (GB) of the disk(s).\n storage_type (typing.Optional[sc_crawler.table_fields.StorageType]): Primary disk type, e.g. HDD, SSD, NVMe SSD, or network).\n storages (typing.List[sc_crawler.table_fields.Disk]): JSON array of disks attached to the server, including the size (MiB) and type of each disk.\n network_speed (typing.Optional[float]): The baseline network performance (Gbps) of the network card.\n inbound_traffic (float): Amount of complimentary inbound traffic (GB) per month.\n outbound_traffic (float): Amount of complimentary outbound traffic (GB) per month.\n ipv4 (int): Number of complimentary IPv4 address(es).\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-05T11:20:26.859576","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"}]},"ServerBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"ServerBase"},"ServerPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"},"vendor":{"$ref":"#/components/schemas/VendorBase"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description","vendor"],"title":"ServerPKs","examples":[{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-05T11:20:26.859576","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"}]},"ServerPKsWithPrices":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"prices":{"items":{"$ref":"#/components/schemas/ServerPricePKs"},"type":"array","title":"Prices"},"benchmark_scores":{"items":{"$ref":"#/components/schemas/BenchmarkScoreBase"},"type":"array","title":"Benchmark Scores"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description","vendor","prices","benchmark_scores"],"title":"ServerPKsWithPrices","examples":[{"api_reference":"a1.2xlarge","benchmark_scores":[{"benchmark_id":"geekbench:hdr","config_fields":{"cores":"Single-Core or Multi-Core peformance tests.","framework_version":"Version number of geekbench."},"description":"Blends six 16MP SDR photos to create a single HDR photo, using a recovery process and radiance map construction (Debevec and Malik 1997), and a tone mapping algorithm (Reinhard and Devlin 2005).The score is calibrated against a baseline score of 2,500 (Dell Precision 3460 with a Core i7-12700 processor) as per the Geekbench 6 Benchmark Internals.","framework":"geekbench","higher_is_better":true,"measurement":"hdr","name":"Geekbench: HDR","observed_at":"2024-09-05T12:11:58.316953","status":"active"}],"cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-05T11:20:26.859576","outbound_traffic":0.0,"price":7,"prices":[{"allocation":"spot","currency":"USD","observed_at":"2024-09-05T07:03:13","operating_system":"Linux","price":0.0703,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-05T11:19:35.750464","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-west-2","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-05T11:19:39.079264","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"usw2-az3"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-05T11:17:36","operating_system":"Linux","price":0.0708,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-05T11:19:35.750464","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-west-2","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-05T11:19:39.079264","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"usw2-az2"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-05T08:47:21","operating_system":"Linux","price":0.0809,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-05T11:19:35.750464","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"eu-central-1","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-05T11:19:39.079264","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"euc1-az2"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-05T06:16:34","operating_system":"Linux","price":0.0926,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-05T11:19:35.750464","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"ap-northeast-1","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-05T11:19:39.079264","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"apne1-az4"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-05T07:16:37","operating_system":"Linux","price":0.1012,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-05T11:19:35.750464","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"eu-west-1","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-05T11:19:39.079264","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"euw1-az2"}],"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-05T12:11:58.318357","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws"}]},"ServerPrice":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"allOf":[{"$ref":"#/components/schemas/Allocation"}],"description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price"],"title":"ServerPrice","description":"Server type prices per Region and Allocation method.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Reference to the Region.\n zone_id (str): Reference to the Zone.\n server_id (str): Reference to the Server.\n operating_system (str): Operating System.\n allocation (Allocation): Allocation method, e.g. on-demand or spot.\n unit (PriceUnit): Billing unit of the pricing model.\n price (float): Actual price of a billing unit.\n price_upfront (float): Price to be paid when setting up the resource.\n price_tiered (typing.List[sc_crawler.table_fields.PriceTier]): List of pricing tiers with min/max thresholds and actual prices.\n currency (str): Currency of the prices.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation."},"ServerPricePKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"allOf":[{"$ref":"#/components/schemas/Allocation"}],"description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBase"},"zone":{"$ref":"#/components/schemas/ZoneBase"}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price","region","zone"],"title":"ServerPricePKs"},"ServerPriceWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"allOf":[{"$ref":"#/components/schemas/Allocation"}],"description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"vendor":{"$ref":"#/components/schemas/VendorBase"},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"zone":{"$ref":"#/components/schemas/ZoneBase"},"server":{"$ref":"#/components/schemas/ServerWithScore"}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price","vendor","region","zone","server"],"title":"ServerPriceWithPKs","examples":[{"allocation":"spot","currency":"USD","observed_at":"2024-09-05T07:03:13","operating_system":"Linux","price":0.0703,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country":{"continent":"Asia","country_id":"AE","observed_at":"2024-09-05T12:11:58.313071","status":"active"},"country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-05T11:19:35.750464","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-west-2","server":{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-05T11:20:26.859576","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"},"server_id":"a1.2xlarge","status":"active","unit":"hour","vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-05T12:11:58.318357","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-05T11:19:39.079264","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"usw2-az3"}]},"ServerTableMetaData":{"properties":{"table":{"$ref":"#/components/schemas/NameAndDescription"},"fields":{"items":{"$ref":"#/components/schemas/IdNameAndDescriptionAndCategory"},"type":"array","title":"Fields"}},"type":"object","required":["table","fields"],"title":"ServerTableMetaData"},"ServerWithScore":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"ServerWithScore"},"Status":{"type":"string","enum":["active","inactive"],"title":"Status","description":"Last known status of a resource, e.g. active or inactive."},"Storage":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"storage_id":{"type":"string","title":"Storage Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"storage_type":{"allOf":[{"$ref":"#/components/schemas/StorageType"}],"description":"High-level category of the storage, e.g. HDD or SDD."},"max_iops":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Iops","description":"Maximum Input/Output Operations Per Second."},"max_throughput":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Throughput","description":"Maximum Throughput (MiB/s)."},"min_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Size","description":"Minimum required size (GiB)."},"max_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Size","description":"Maximum possible size (GiB)."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","storage_id","name","description","storage_type"],"title":"Storage","description":"Flexible storage options that can be attached to a Server.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n storage_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n description (typing.Optional[str]): Short description.\n storage_type (StorageType): High-level category of the storage, e.g. HDD or SDD.\n max_iops (typing.Optional[int]): Maximum Input/Output Operations Per Second.\n max_throughput (typing.Optional[int]): Maximum Throughput (MiB/s).\n min_size (typing.Optional[int]): Minimum required size (GiB).\n max_size (typing.Optional[int]): Maximum possible size (GiB).\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"description":"SSD-backed","max_iops":16000,"max_size":16384,"max_throughput":250,"min_size":1,"name":"General Purpose","observed_at":"2024-09-05T11:22:29.831723","status":"active","storage_id":"gp2","storage_type":"ssd","vendor_id":"aws"}]},"StorageBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"storage_id":{"type":"string","title":"Storage Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"storage_type":{"allOf":[{"$ref":"#/components/schemas/StorageType"}],"description":"High-level category of the storage, e.g. HDD or SDD."},"max_iops":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Iops","description":"Maximum Input/Output Operations Per Second."},"max_throughput":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Throughput","description":"Maximum Throughput (MiB/s)."},"min_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Size","description":"Minimum required size (GiB)."},"max_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Size","description":"Maximum possible size (GiB)."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","storage_id","name","description","storage_type"],"title":"StorageBase"},"StoragePriceWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"storage_id":{"type":"string","title":"Storage Id","description":"Reference to the Storage."},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"storage":{"$ref":"#/components/schemas/StorageBase"}},"type":"object","required":["vendor_id","region_id","storage_id","unit","price","region","vendor","storage"],"title":"StoragePriceWithPKs"},"StorageType":{"type":"string","enum":["hdd","ssd","nvme ssd","network"],"title":"StorageType","description":"Type of a storage, e.g. HDD or SSD."},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"Vendor":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Vendor's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage of the Vendor."},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Vendor's main headquarter is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Vendor's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Vendor's main location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Vendor's main location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Vendor's main location."},"founding_year":{"type":"integer","title":"Founding Year","description":"4-digit year when the Vendor was founded."},"status_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Page","description":"Public status page of the Vendor."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","name","country_id","founding_year"],"title":"Vendor","description":"Compute resource vendors, such as cloud and server providers.\n\n Examples:\n >>> from sc_crawler.tables import Vendor\n >>> from sc_crawler.lookup import countries\n >>> aws = Vendor(vendor_id='aws', name='Amazon Web Services', homepage='https://aws.amazon.com', country=countries[\"US\"], founding_year=2002)\n >>> aws\n Vendor(vendor_id='aws'...\n >>> from sc_crawler import vendors\n >>> vendors.aws\n Vendor(vendor_id='aws'...\n \n\nAttributes:\n vendor_id (str): Unique identifier.\n name (str): Human-friendly name.\n logo (typing.Optional[str]): Publicly accessible URL to the image of the Vendor's logo.\n homepage (typing.Optional[str]): Public homepage of the Vendor.\n country_id (str): Reference to the Country, where the Vendor's main headquarter is located.\n state (typing.Optional[str]): Optional state/administrative area of the Vendor's location within the Country.\n city (typing.Optional[str]): Optional city name of the Vendor's main location.\n address_line (typing.Optional[str]): Optional address line of the Vendor's main location.\n zip_code (typing.Optional[str]): Optional ZIP code of the Vendor's main location.\n founding_year (int): 4-digit year when the Vendor was founded.\n status_page (typing.Optional[str]): Public status page of the Vendor.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-05T12:11:58.318357","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"}]},"VendorBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Vendor's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage of the Vendor."},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Vendor's main headquarter is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Vendor's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Vendor's main location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Vendor's main location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Vendor's main location."},"founding_year":{"type":"integer","title":"Founding Year","description":"4-digit year when the Vendor was founded."},"status_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Page","description":"Public status page of the Vendor."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","name","country_id","founding_year"],"title":"VendorBase"},"Vendors":{"type":"string","enum":["aws","azure","gcp","hcloud"],"title":"Vendors"},"Zone":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","name","api_reference","display_name"],"title":"Zone","description":"Availability zones of Regions.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Reference to the Region.\n zone_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-05T11:19:39.079264","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"}]},"ZoneBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","name","api_reference","display_name"],"title":"ZoneBase"}}}} diff --git a/src/app/services/keeper-api.service.ts b/src/app/services/keeper-api.service.ts index 763a86ee..1a809267 100644 --- a/src/app/services/keeper-api.service.ts +++ b/src/app/services/keeper-api.service.ts @@ -3,7 +3,7 @@ import { Inject, Injectable, PLATFORM_ID } from '@angular/core'; import { MYHTTPClient } from './my_http/my-http'; import { Server } from '../../../sdk/Server'; import { Servers } from '../../../sdk/Servers'; -import { AssistServerFiltersAiAssistServerFiltersGetParams, AssistServerPriceFiltersAiAssistServerPriceFiltersGetParams, SearchServerPricesServerPricesGetParams, SearchServersServersGetParams, TableStoragePricesStoragePricesGetParams } from '../../../sdk/data-contracts'; +import { AssistServerFiltersAiAssistServerFiltersGetParams, AssistServerPriceFiltersAiAssistServerPriceFiltersGetParams, SearchServerPricesServerPricesGetParams, SearchServersServersGetParams, SearchStoragePricesStoragePricesGetParams } from '../../../sdk/data-contracts'; import { Table } from '../../../sdk/Table'; import { Ai } from '../../../sdk/Ai'; import { ServerPrices } from '../../../sdk/ServerPrices'; @@ -103,8 +103,8 @@ export class KeeperAPIService { return this.TableController.tableStorageTableStorageGet(); } - public getStoragePrices(query: TableStoragePricesStoragePricesGetParams): Promise { - return this.StorageController.tableStoragePricesStoragePricesGet(query); + public getStoragePrices(query: SearchStoragePricesStoragePricesGetParams): Promise { + return this.StorageController.searchStoragePricesStoragePricesGet(query); } } From ac174158af33dd40c5291d87066935357d176b08 Mon Sep 17 00:00:00 2001 From: Palabola Date: Mon, 9 Sep 2024 09:13:55 +0200 Subject: [PATCH 07/66] sentry/issues/164 --- package.json | 2 +- .../pages/server-details/server-details.component.ts | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index b9131af9..c691ed0b 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "postbuild": "./amplify-manifester.sh", "watch": "ng build --watch --configuration development", "test": "ng test", - "serve:ssr:sc-www": "node dist/sc-www/server/server.mjs --inspect", + "serve:ssr:sc-www": "node dist/sc-www/server/server.mjs", "lint": "ng lint", "sentry:sourcemaps": "sentry-cli sourcemaps inject ./dist/sc-www && sentry-cli sourcemaps upload ./dist/sc-www", "sentry:release": "SENTRY_RELEASE=`sentry-cli releases propose-version` && sentry-cli releases new $SENTRY_RELEASE", diff --git a/src/app/pages/server-details/server-details.component.ts b/src/app/pages/server-details/server-details.component.ts index 5632e935..bcc8e485 100644 --- a/src/app/pages/server-details/server-details.component.ts +++ b/src/app/pages/server-details/server-details.component.ts @@ -429,12 +429,15 @@ export class ServerDetailsComponent implements OnInit, OnDestroy { } }); - setTimeout(() => { + let giscusInterval = setInterval(() => { - let baseUrl = this.SEOHandler.getBaseURL(); - initGiscus(this.renderer, this.giscusParent, baseUrl, 'Servers', 'DIC_kwDOLesFQM4CgznN', 'pathname'); + if(this.giscusParent?.nativeElement) { + let baseUrl = this.SEOHandler.getBaseURL(); + initGiscus(this.renderer, this.giscusParent, baseUrl, 'Servers', 'DIC_kwDOLesFQM4CgznN', 'pathname'); + clearInterval(giscusInterval); + } - }, 2000); + }, 250); this.selectSimilarServerOption(this.selectedSimilarOption); From 3c34b25ed4a10d624f62150343288511b83bfd34 Mon Sep 17 00:00:00 2001 From: Palabola Date: Mon, 9 Sep 2024 10:16:20 +0200 Subject: [PATCH 08/66] SDK --- sdk/StoragePrices.ts | 45 +++++++ sdk/StoragePricesRoute.ts | 253 ++++++++++++++++++++++++++++++++++++++ sdk/openapi.json | 2 +- 3 files changed, 299 insertions(+), 1 deletion(-) create mode 100644 sdk/StoragePrices.ts create mode 100644 sdk/StoragePricesRoute.ts diff --git a/sdk/StoragePrices.ts b/sdk/StoragePrices.ts new file mode 100644 index 00000000..6c6410a9 --- /dev/null +++ b/sdk/StoragePrices.ts @@ -0,0 +1,45 @@ +/* eslint-disable */ +/* tslint:disable */ +/* + * --------------------------------------------------------------- + * ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ## + * ## ## + * ## AUTHOR: acacode ## + * ## SOURCE: https://github.com/acacode/swagger-typescript-api ## + * --------------------------------------------------------------- + */ + +import { + HTTPValidationError, + SearchStoragePricesStoragePricesGetData, + SearchStoragePricesStoragePricesGetParams, +} from "./data-contracts"; +import { HttpClient, RequestParams } from "./http-client"; + +export class StoragePrices { + http: HttpClient; + + constructor(http: HttpClient) { + this.http = http; + } + + /** + * No description + * + * @tags Query Resources + * @name SearchStoragePricesStoragePricesGet + * @summary Search Storage Prices + * @request GET:/storage_prices + */ + searchStoragePricesStoragePricesGet = ( + query: SearchStoragePricesStoragePricesGetParams, + params: RequestParams = {}, + ) => + this.http.request({ + path: `/storage_prices`, + method: "GET", + query: query, + format: "json", + ...params, + }); +} diff --git a/sdk/StoragePricesRoute.ts b/sdk/StoragePricesRoute.ts new file mode 100644 index 00000000..11c40c22 --- /dev/null +++ b/sdk/StoragePricesRoute.ts @@ -0,0 +1,253 @@ +/* eslint-disable */ +/* tslint:disable */ +/* + * --------------------------------------------------------------- + * ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ## + * ## ## + * ## AUTHOR: acacode ## + * ## SOURCE: https://github.com/acacode/swagger-typescript-api ## + * --------------------------------------------------------------- + */ + +import { OrderDir, SearchStoragePricesStoragePricesGetData } from "./data-contracts"; + +export namespace StoragePrices { + /** + * No description + * @tags Query Resources + * @name SearchStoragePricesStoragePricesGet + * @summary Search Storage Prices + * @request GET:/storage_prices + */ + export namespace SearchStoragePricesStoragePricesGet { + export type RequestParams = {}; + export type RequestQuery = { + /** + * Vendor id + * Identifier of the cloud provider vendor. + */ + vendor?: "aws" | "azure" | "gcp" | "hcloud"; + /** + * Green energy + * Filter for regions with kow CO2 emission only. + */ + green_energy?: boolean | null; + /** + * Storage Size + * Minimum amount of storage (GBs). + */ + storage_min?: number | null; + /** + * Storage Type + * Type of the storage attached to the server. + */ + storage_type?: "hdd" | "ssd" | "nvme ssd" | "network"; + /** + * Compliance Framework id + * Compliance framework implemented at the vendor. + */ + compliance_framework?: "hipaa" | "iso27001" | "soc2t2"; + /** + * Region id + * Identifier of the region. + */ + regions?: + | "1000" + | "1100" + | "1210" + | "1220" + | "1230" + | "1250" + | "1260" + | "1270" + | "1280" + | "1290" + | "1300" + | "1310" + | "1320" + | "1330" + | "1340" + | "1350" + | "1360" + | "1370" + | "1380" + | "1390" + | "1410" + | "1420" + | "1430" + | "1440" + | "1450" + | "1460" + | "1470" + | "1480" + | "1490" + | "1510" + | "1520" + | "1530" + | "1540" + | "1550" + | "1560" + | "1570" + | "1580" + | "1590" + | "1600" + | "1610" + | "2" + | "3" + | "4" + | "5" + | "6" + | "7" + | "af-south-1" + | "ap-east-1" + | "ap-northeast-1" + | "ap-northeast-2" + | "ap-northeast-3" + | "ap-south-1" + | "ap-south-2" + | "ap-southeast-1" + | "ap-southeast-2" + | "ap-southeast-3" + | "ap-southeast-4" + | "australiacentral" + | "australiacentral2" + | "australiaeast" + | "australiasoutheast" + | "brazilsouth" + | "brazilsoutheast" + | "brazilus" + | "ca-central-1" + | "canadacentral" + | "canadaeast" + | "ca-west-1" + | "centralindia" + | "centralus" + | "centraluseuap" + | "cn-north-1" + | "cn-northwest-1" + | "eastasia" + | "eastus" + | "eastus2" + | "eastus2euap" + | "eastusstg" + | "eu-central-1" + | "eu-central-2" + | "eu-north-1" + | "eu-south-1" + | "eu-south-2" + | "eu-west-1" + | "eu-west-2" + | "eu-west-3" + | "francecentral" + | "francesouth" + | "germanynorth" + | "germanywestcentral" + | "il-central-1" + | "israelcentral" + | "italynorth" + | "japaneast" + | "japanwest" + | "jioindiacentral" + | "jioindiawest" + | "koreacentral" + | "koreasouth" + | "me-central-1" + | "me-south-1" + | "mexicocentral" + | "northcentralus" + | "northeurope" + | "norwayeast" + | "norwaywest" + | "polandcentral" + | "qatarcentral" + | "sa-east-1" + | "southafricanorth" + | "southafricawest" + | "southcentralus" + | "southcentralusstg" + | "southeastasia" + | "southindia" + | "spaincentral" + | "swedencentral" + | "switzerlandnorth" + | "switzerlandwest" + | "uaecentral" + | "uaenorth" + | "uksouth" + | "ukwest" + | "us-east-1" + | "us-east-2" + | "us-west-1" + | "us-west-2" + | "westcentralus" + | "westeurope" + | "westindia" + | "westus" + | "westus2" + | "westus3"; + /** + * Countries + * Filter for regions in the provided list of countries. + */ + countries?: + | "AE" + | "AU" + | "BE" + | "BH" + | "BR" + | "CA" + | "CH" + | "CL" + | "CN" + | "DE" + | "ES" + | "FI" + | "FR" + | "GB" + | "HK" + | "ID" + | "IE" + | "IL" + | "IN" + | "IT" + | "JP" + | "KR" + | "NL" + | "NO" + | "PL" + | "QA" + | "SA" + | "SE" + | "SG" + | "TW" + | "US" + | "ZA"; + /** + * Limit + * Maximum number of results. Set to -1 for unlimited. + * @default 50 + */ + limit?: number; + /** + * Page + * Page number. + */ + page?: number | null; + /** + * Order By + * Order by column. + * @default "price" + */ + order_by?: string; + /** + * Order Dir + * Order direction. + * @default "asc" + */ + order_dir?: OrderDir; + }; + export type RequestBody = never; + export type RequestHeaders = {}; + export type ResponseBody = SearchStoragePricesStoragePricesGetData; + } +} diff --git a/sdk/openapi.json b/sdk/openapi.json index 0a13a2a3..4a62f097 100644 --- a/sdk/openapi.json +++ b/sdk/openapi.json @@ -1 +1 @@ -{"openapi":"3.1.0","info":{"title":"Spare Cores (SC) Keeper","description":"\nAPI to search and serve data collected on cloud compute resources.\n\n## Licensing\n\nThis is a free service provided by the Spare Cores team, without any warranty.\nThe source code of the API is licensed under MPL-2.0, find more details at\n.\n\n## References\n\n- Spare Cores: \n- SC Keeper: \n- SC Crawler: \n- SC Data: \n","termsOfService":"https://sparecores.com/legal/terms-of-service","contact":{"name":"Spare Cores Team","email":"social@sparecores.com"},"license":{"name":"Mozilla Public License 2.0 (MPL 2.0)","url":"http://mozilla.org/MPL/2.0/"},"version":"0.3.0"},"paths":{"/healthcheck":{"get":{"tags":["Administrative endpoints"],"summary":"Healthcheck","description":"Quickly return package and database version information.","operationId":"healthcheck_healthcheck_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthcheckResponse"}}}}}}},"/table/benchmark":{"get":{"tags":["Table dumps"],"summary":"Table Benchmark","description":"Return the Benchmark table as-is, without filtering options or relationships resolved.","operationId":"table_benchmark_table_benchmark_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Benchmark"},"type":"array","title":"Response Table Benchmark Table Benchmark Get"}}}}}}},"/table/country":{"get":{"tags":["Table dumps"],"summary":"Table Country","description":"Return the Country table as-is, without filtering options or relationships resolved.","operationId":"table_country_table_country_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Country"},"type":"array","title":"Response Table Country Table Country Get"}}}}}}},"/table/compliance_framework":{"get":{"tags":["Table dumps"],"summary":"Table Compliance Frameworks","description":"Return the ComplianceFramework table as-is, without filtering options or relationships resolved.","operationId":"table_compliance_frameworks_table_compliance_framework_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ComplianceFramework"},"type":"array","title":"Response Table Compliance Frameworks Table Compliance Framework Get"}}}}}}},"/table/vendor":{"get":{"tags":["Table dumps"],"summary":"Table Vendor","description":"Return the Vendor table as-is, without filtering options or relationships resolved.","operationId":"table_vendor_table_vendor_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Vendor"},"type":"array","title":"Response Table Vendor Table Vendor Get"}}}}}}},"/table/region":{"get":{"tags":["Table dumps"],"summary":"Table Region","description":"Return the Region table as-is, without filtering options or relationships resolved.","operationId":"table_region_table_region_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Region"},"type":"array","title":"Response Table Region Table Region Get"}}}}}}},"/table/zone":{"get":{"tags":["Table dumps"],"summary":"Table Zone","description":"Return the Zone table as-is, without filtering options or relationships resolved.","operationId":"table_zone_table_zone_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Zone"},"type":"array","title":"Response Table Zone Table Zone Get"}}}}}}},"/table/server":{"get":{"tags":["Table dumps"],"summary":"Table Server","description":"Return the Server table as-is, without filtering options or relationships resolved.","operationId":"table_server_table_server_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Server"},"type":"array","title":"Response Table Server Table Server Get"}}}}}}},"/table/storage":{"get":{"tags":["Table dumps"],"summary":"Table Storage","description":"Return the Storage table as-is, without filtering options or relationships resolved.","operationId":"table_storage_table_storage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Storage"},"type":"array","title":"Response Table Storage Table Storage Get"}}}}}}},"/table/server/meta":{"get":{"tags":["Table metadata"],"summary":"Table Metadata Server","description":"Server table and column names and comments.","operationId":"table_metadata_server_table_server_meta_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerTableMetaData"}}}}}}},"/server/{vendor}/{server}":{"get":{"tags":["Server Details"],"summary":"Get Server","description":"Query a single server by its vendor id and either the server or, or its API reference.\n\nReturn dictionary includes all server fields, along\nwith the current prices per zone, and\nthe available benchmark scores.","operationId":"get_server_server__vendor___server__get","deprecated":true,"parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"Vendor ID.","title":"Vendor"},"description":"Vendor ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"Server ID or API reference.","title":"Server"},"description":"Server ID or API reference."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","title":"Currency"},"description":"Currency used for prices."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerPKsWithPrices"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v2/server/{vendor}/{server}":{"get":{"tags":["Server Details"],"summary":"Get Server Without Relations","description":"Query a single server by its vendor id and either the server id or its API reference.","operationId":"get_server_without_relations_v2_server__vendor___server__get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"A Vendor's ID.","title":"Vendor"},"description":"A Vendor's ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"A Server's ID or API reference.","title":"Server"},"description":"A Server's ID or API reference."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerBase"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}/similar_servers/{by}/{n}":{"get":{"tags":["Server Details"],"summary":"Get Similar Servers","description":"Search similar servers to the provided one.\n\nThe \"family\" method returns all servers from the same family of\nthe same vendor.\n\nThe \"specs\" approach will prioritize the number of\nGPUs, then CPUs, lastly the amount of memory.\n\nThe \"score\" method will find the servers with the closest\nperformance using the multi-core SCore.","operationId":"get_similar_servers_server__vendor___server__similar_servers__by___n__get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"Vendor ID.","title":"Vendor"},"description":"Vendor ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"Server ID or API reference.","title":"Server"},"description":"Server ID or API reference."},{"name":"by","in":"path","required":true,"schema":{"enum":["family","specs","score"],"type":"string","description":"Algorithm to look for similar servers.","title":"By"},"description":"Algorithm to look for similar servers."},{"name":"n","in":"path","required":true,"schema":{"type":"integer","maximum":100,"description":"Number of servers to get.","title":"N"},"description":"Number of servers to get."},{"name":"benchmark_id","in":"query","required":false,"schema":{"type":"string","description":"Benchmark id to use as the main score for the server.","default":"stress_ng:cpu_all","title":"Benchmark Id"},"description":"Benchmark id to use as the main score for the server."},{"name":"benchmark_config","in":"query","required":false,"schema":{"type":"string","description":"Benchmark id to use as the main score for the server.","default":"","title":"Benchmark Config"},"description":"Benchmark id to use as the main score for the server."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPKs"},"title":"Response Get Similar Servers Server Vendor Server Similar Servers By N Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}/prices":{"get":{"tags":["Server Details"],"summary":"Get Server Prices","description":"Query the current prices of a single server by its vendor id and server id.","operationId":"get_server_prices_server__vendor___server__prices_get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"A Vendor's ID.","title":"Vendor"},"description":"A Vendor's ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"A Server's ID or API reference.","title":"Server"},"description":"A Server's ID or API reference."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","title":"Currency"},"description":"Currency used for prices."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPrice"},"title":"Response Get Server Prices Server Vendor Server Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}/benchmarks":{"get":{"tags":["Server Details"],"summary":"Get Server Benchmarks","description":"Query the current benchmark scores of a single server.","operationId":"get_server_benchmarks_server__vendor___server__benchmarks_get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"A Vendor's ID.","title":"Vendor"},"description":"A Vendor's ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"A Server's ID or API reference.","title":"Server"},"description":"A Server's ID or API reference."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BenchmarkScore"},"title":"Response Get Server Benchmarks Server Vendor Server Benchmarks Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_server_filters":{"get":{"tags":["AI"],"summary":"Assist Server Filters","description":"Extract Server JSON filters from freetext.","operationId":"assist_server_filters_ai_assist_server_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Server Filters Ai Assist Server Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_server_price_filters":{"get":{"tags":["AI"],"summary":"Assist Server Price Filters","description":"Extract ServerPrice JSON filters from freetext.","operationId":"assist_server_price_filters_ai_assist_server_price_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Server Price Filters Ai Assist Server Price Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_storage_price_filters":{"get":{"tags":["AI"],"summary":"Assist Storage Price Filters","description":"Extract StoragePrice JSON filters from freetext.","operationId":"assist_storage_price_filters_ai_assist_storage_price_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Storage Price Filters Ai Assist Storage Price Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/regions":{"get":{"tags":["Query Resources"],"summary":"Search Regions","operationId":"search_regions_regions_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RegionPKs"},"title":"Response Search Regions Regions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/servers":{"get":{"tags":["Query Resources"],"summary":"Search Servers","operationId":"search_servers_servers_get","parameters":[{"name":"partial_name_or_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partial name or id","description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name.","category_id":"basic"},"description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name."},{"name":"vcpus_min","in":"query","required":false,"schema":{"type":"integer","maximum":256,"minimum":1,"title":"Minimum vCPUs","description":"Minimum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","default":1},"description":"Minimum number of virtual CPUs."},{"name":"architecture","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuArchitecture"}},{"type":"null"}],"title":"Processor architecture","description":"Processor architecture.","category_id":"processor","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"]},"description":"Processor architecture."},{"name":"benchmark_score_stressng_cpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"SCore","description":"Minimum stress-ng CPU workload score.","category_id":"processor"},"description":"Minimum stress-ng CPU workload score."},{"name":"memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum memory","description":"Minimum amount of memory in GBs.","category_id":"memory","unit":"GB","step":0.1},"description":"Minimum amount of memory in GBs."},{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active only","description":"Filter for active servers only.","category_id":"basic","default":true},"description":"Filter for active servers only."},{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"storage_size","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs).","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs)."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"gpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"GPU count","description":"Minimum number of GPUs.","category_id":"gpu","unit":"GPUs"},"description":"Minimum number of GPUs."},{"name":"gpu_memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum GPU memory","description":"Minimum amount of GPU memory (GB) in each GPU.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of GPU memory (GB) in each GPU."},{"name":"gpu_memory_total","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total GPU memory","description":"Minimum amount of total GPU memory (GBs) in all GPUs.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of total GPU memory (GBs) in all GPUs."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited.","default":50,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"vcpus","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPKs"},"title":"Response Search Servers Servers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server_prices":{"get":{"tags":["Query Resources"],"summary":"Search Server Prices","operationId":"search_server_prices_server_prices_get","parameters":[{"name":"partial_name_or_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partial name or id","description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name.","category_id":"basic"},"description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name."},{"name":"vcpus_min","in":"query","required":false,"schema":{"type":"integer","maximum":256,"minimum":1,"title":"Minimum vCPUs","description":"Minimum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","default":1},"description":"Minimum number of virtual CPUs."},{"name":"architecture","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuArchitecture"}},{"type":"null"}],"title":"Processor architecture","description":"Processor architecture.","category_id":"processor","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"]},"description":"Processor architecture."},{"name":"benchmark_score_stressng_cpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"SCore","description":"Minimum stress-ng CPU workload score.","category_id":"processor"},"description":"Minimum stress-ng CPU workload score."},{"name":"memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum memory","description":"Minimum amount of memory in GBs.","category_id":"memory","unit":"GB","step":0.1},"description":"Minimum amount of memory in GBs."},{"name":"price_max","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Maximum price","description":"Maximum price (USD/hr).","category_id":"price","step":0.0001},"description":"Maximum price (USD/hr)."},{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active only","description":"Filter for active servers only.","category_id":"basic","default":true},"description":"Filter for active servers only."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"allocation","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/Allocation"},{"type":"null"}],"title":"Allocation","description":"Server allocation method.","enum":["ondemand","reserved","spot"]},"description":"Server allocation method."},{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"Region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"storage_size","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs).","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs)."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"gpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"GPU count","description":"Minimum number of GPUs.","category_id":"gpu","unit":"GPUs"},"description":"Minimum number of GPUs."},{"name":"gpu_memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum GPU memory","description":"Minimum amount of GPU memory (GB) in each GPU.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of GPU memory (GB) in each GPU."},{"name":"gpu_memory_total","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total GPU memory","description":"Minimum amount of total GPU memory (GBs) in all GPUs.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of total GPU memory (GBs) in all GPUs."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":250,"description":"Maximum number of results.","default":50,"title":"Limit"},"description":"Maximum number of results."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","default":"USD","title":"Currency"},"description":"Currency used for prices."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPriceWithPKs"},"title":"Response Search Server Prices Server Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/storage_prices":{"get":{"tags":["Query Resources"],"summary":"Search Storage Prices","operationId":"search_storage_prices_storage_prices_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"storage_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs).","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs)."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"Region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited.","default":50,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StoragePriceWithPKs"},"title":"Response Search Storage Prices Storage Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Allocation":{"type":"string","enum":["ondemand","reserved","spot"],"title":"Allocation","description":"Server allocation options."},"Benchmark":{"properties":{"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Unique identifier of a specific Benchmark."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"framework":{"type":"string","title":"Framework","description":"The name of the benchmark framework/software/tool used."},"config_fields":{"type":"object","title":"Config Fields","description":"A dictionary of descriptions on the framework-specific config options, e.g. {\"bandwidth\": \"Memory amount to use for compression in MB.\"}.","default":{}},"measurement":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Measurement","description":"The name of measurement recoreded in the benchmark."},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit","description":"Optional unit of measurement for the benchmark score."},"higher_is_better":{"type":"boolean","title":"Higher Is Better","description":"If higher benchmark score means better performance, or vica versa.","default":true},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["benchmark_id","name","description","framework"],"title":"Benchmark","description":"Benchmark scenario definitions.\n\nAttributes:\n benchmark_id (str): Unique identifier of a specific Benchmark.\n name (str): Human-friendly name.\n description (typing.Optional[str]): Short description.\n framework (str): The name of the benchmark framework/software/tool used.\n config_fields (dict): A dictionary of descriptions on the framework-specific config options, e.g. {\"bandwidth\": \"Memory amount to use for compression in MB.\"}.\n measurement (typing.Optional[str]): The name of measurement recoreded in the benchmark.\n unit (typing.Optional[str]): Optional unit of measurement for the benchmark score.\n higher_is_better (bool): If higher benchmark score means better performance, or vica versa.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"benchmark_id":"geekbench:hdr","config_fields":{"cores":"Single-Core or Multi-Core peformance tests.","framework_version":"Version number of geekbench."},"description":"Blends six 16MP SDR photos to create a single HDR photo, using a recovery process and radiance map construction (Debevec and Malik 1997), and a tone mapping algorithm (Reinhard and Devlin 2005).The score is calibrated against a baseline score of 2,500 (Dell Precision 3460 with a Core i7-12700 processor) as per the Geekbench 6 Benchmark Internals.","framework":"geekbench","higher_is_better":true,"measurement":"hdr","name":"Geekbench: HDR","observed_at":"2024-09-05T12:11:58.316953","status":"active"}]},"BenchmarkScore":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Reference to the Benchmark."},"config":{"type":"object","title":"Config","description":"Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}","default":{}},"score":{"type":"number","title":"Score","description":"The resulting score of the benchmark."},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Optional note, comment or context on the benchmark score."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","benchmark_id","score"],"title":"BenchmarkScore","description":"Results of running Benchmark scenarios on Servers.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n server_id (str): Reference to the Server.\n benchmark_id (str): Reference to the Benchmark.\n config (sc_crawler.table_fields.HashableDict | dict): Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}\n score (float): The resulting score of the benchmark.\n note (typing.Optional[str]): Optional note, comment or context on the benchmark score.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation."},"BenchmarkScoreBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Reference to the Benchmark."},"config":{"type":"object","title":"Config","description":"Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}","default":{}},"score":{"type":"number","title":"Score","description":"The resulting score of the benchmark."},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Optional note, comment or context on the benchmark score."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","benchmark_id","score"],"title":"BenchmarkScoreBase"},"ComplianceFramework":{"properties":{"compliance_framework_id":{"type":"string","title":"Compliance Framework Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"abbreviation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abbreviation","description":"Short abbreviation of the Framework name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Description of the framework in a few paragrahs, outlining key features and characteristics for reference."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Framework's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage with more information on the Framework."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["compliance_framework_id","name","abbreviation","description"],"title":"ComplianceFramework","description":"List of Compliance Frameworks, such as HIPAA or SOC 2 Type 1.\n\nAttributes:\n compliance_framework_id (str): Unique identifier.\n name (str): Human-friendly name.\n abbreviation (typing.Optional[str]): Short abbreviation of the Framework name.\n description (typing.Optional[str]): Description of the framework in a few paragrahs, outlining key features and characteristics for reference.\n logo (typing.Optional[str]): Publicly accessible URL to the image of the Framework's logo.\n homepage (typing.Optional[str]): Public homepage with more information on the Framework.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"abbreviation":"HIPAA","compliance_framework_id":"hipaa","description":"HIPAA (Health Insurance Portability and Accountability Act) is a U.S. federal law designed to safeguard the privacy and security of individuals' health information, establishing standards for its protection and regulating its use in the healthcare industry.","homepage":"https://www.cdc.gov/phlp/publications/topic/hipaa.html","name":"The Health Insurance Portability and Accountability Act","observed_at":"2024-09-05T12:11:58.314755","status":"active"}]},"ComplianceFrameworks":{"type":"string","enum":["hipaa","iso27001","soc2t2"],"title":"ComplianceFrameworks"},"Country":{"properties":{"country_id":{"type":"string","title":"Country Id","description":"Country code by ISO 3166 alpha-2."},"continent":{"type":"string","title":"Continent","description":"Continent name."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["country_id","continent"],"title":"Country","description":"Country and continent mapping.\n\nAttributes:\n country_id (str): Country code by ISO 3166 alpha-2.\n continent (str): Continent name.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"continent":"Asia","country_id":"AE","observed_at":"2024-09-05T12:11:58.313071","status":"active"}]},"CountryBase":{"properties":{"country_id":{"type":"string","title":"Country Id","description":"Country code by ISO 3166 alpha-2."},"continent":{"type":"string","title":"Continent","description":"Continent name."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["country_id","continent"],"title":"CountryBase"},"Cpu":{"properties":{"manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Manufacturer"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cores"},"threads":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Threads"},"l1_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L1 Cache Size"},"l2_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L2 Cache Size"},"l3_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L3 Cache Size"},"microcode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Microcode"},"capabilities":{"items":{"type":"string"},"type":"array","title":"Capabilities","default":[]},"bugs":{"items":{"type":"string"},"type":"array","title":"Bugs","default":[]},"bogomips":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Bogomips"}},"type":"object","title":"Cpu","description":"CPU details."},"CpuAllocation":{"type":"string","enum":["Shared","Burstable","Dedicated"],"title":"CpuAllocation","description":"CPU allocation methods at cloud vendors."},"CpuArchitecture":{"type":"string","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"],"title":"CpuArchitecture","description":"CPU architectures."},"DdrGeneration":{"type":"string","enum":["DDR3","DDR4","DDR5"],"title":"DdrGeneration","description":"Generation of the DDR SDRAM."},"Disk":{"properties":{"size":{"type":"integer","title":"Size","default":0},"storage_type":{"$ref":"#/components/schemas/StorageType"}},"type":"object","required":["storage_type"],"title":"Disk","description":"Disk definition based on size and storage type."},"Gpu":{"properties":{"manufacturer":{"type":"string","title":"Manufacturer"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"memory":{"type":"integer","title":"Memory"},"firmware_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firmware Version"},"bios_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bios Version"},"graphics_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Graphics Clock"},"sm_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sm Clock"},"mem_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Mem Clock"},"video_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Video Clock"}},"type":"object","required":["manufacturer","memory"],"title":"Gpu","description":"GPU accelerator details."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HealthcheckResponse":{"properties":{"packages":{"type":"object","title":"Packages"},"database_last_updated":{"type":"number","title":"Database Last Updated"},"database_hash":{"type":"string","title":"Database Hash"},"database_alembic_version":{"type":"string","title":"Database Alembic Version"}},"type":"object","required":["packages","database_last_updated","database_hash","database_alembic_version"],"title":"HealthcheckResponse","examples":[{"database_alembic_version":"bar","database_hash":"foo","database_last_updated":1725540112.2994843,"packages":{"sparecores-crawler":"1.0.0"}}]},"IdNameAndDescriptionAndCategory":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"id":{"type":"string","title":"Id"},"category":{"type":"string","title":"Category"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"}},"type":"object","required":["name","description","id","category","unit"],"title":"IdNameAndDescriptionAndCategory"},"NameAndDescription":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"}},"type":"object","required":["name","description"],"title":"NameAndDescription"},"OrderDir":{"type":"string","enum":["asc","desc"],"title":"OrderDir"},"PriceTier":{"properties":{"lower":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Lower"},"upper":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Upper"},"price":{"type":"number","title":"Price"}},"type":"object","required":["lower","upper","price"],"title":"PriceTier","description":"Price tier definition.\n\nAs standard JSON does not support Inf, NaN etc values,\nthose should be passed as string, e.g. for the upper bound.\n\nSee [float_inf_to_str][sc_crawler.utils.float_inf_to_str] for\nconverting an infinite numeric value into \"Infinity\"."},"PriceUnit":{"type":"string","enum":["year","month","hour","GiB","GB","GB/month"],"title":"PriceUnit","description":"Supported units for the price tables."},"Region":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id"],"title":"Region","description":"Regions of Vendors.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n aliases (typing.List[str]): List of other commonly used names for the same Region.\n country_id (str): Reference to the Country, where the Region is located.\n state (typing.Optional[str]): Optional state/administrative area of the Region's location within the Country.\n city (typing.Optional[str]): Optional city name of the Region's location.\n address_line (typing.Optional[str]): Optional address line of the Region's location.\n zip_code (typing.Optional[str]): Optional ZIP code of the Region's location.\n lon (typing.Optional[float]): Longitude coordinate of the Region's known or approximate location.\n lat (typing.Optional[float]): Latitude coordinate of the Region's known or approximate location.\n founding_year (typing.Optional[int]): 4-digit year when the Region was founded.\n green_energy (typing.Optional[bool]): If the Region is 100% powered by renewable energy.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-05T11:19:35.750464","region_id":"af-south-1","status":"active","vendor_id":"aws"}]},"RegionBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id"],"title":"RegionBase"},"RegionBaseWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"country":{"$ref":"#/components/schemas/CountryBase"}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id","country"],"title":"RegionBaseWithPKs"},"RegionPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"vendor":{"$ref":"#/components/schemas/VendorBase"}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id","vendor"],"title":"RegionPKs","examples":[{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-05T11:19:35.750464","region_id":"af-south-1","status":"active","vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-05T12:11:58.318357","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws"}]},"Regions":{"type":"string","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"],"title":"Regions"},"Server":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"Server","description":"Server types.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n server_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n description (typing.Optional[str]): Short description.\n family (typing.Optional[str]): Server family, e.g. General-purpose machine (GCP), or M5g (AWS).\n vcpus (int): Default number of virtual CPUs (vCPU) of the server.\n hypervisor (typing.Optional[str]): Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated.\n cpu_allocation (CpuAllocation): Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated.\n cpu_cores (typing.Optional[int]): Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled.\n cpu_speed (typing.Optional[float]): Vendor-reported maximum CPU clock speed (GHz).\n cpu_architecture (CpuArchitecture): CPU architecture (arm64, arm64_mac, i386, or x86_64).\n cpu_manufacturer (typing.Optional[str]): The manufacturer of the primary processor, e.g. Intel or AMD.\n cpu_family (typing.Optional[str]): The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9.\n cpu_model (typing.Optional[str]): The model number of the primary processor, e.g. 9750H.\n cpu_l1_cache (typing.Optional[int]): L1 cache size (byte).\n cpu_l2_cache (typing.Optional[int]): L2 cache size (byte).\n cpu_l3_cache (typing.Optional[int]): L3 cache size (byte).\n cpu_flags (typing.List[str]): CPU features/flags.\n cpus (typing.List[sc_crawler.table_fields.Cpu]): JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.\n memory_amount (int): RAM amount (MiB).\n memory_generation (typing.Optional[sc_crawler.table_fields.DdrGeneration]): Generation of the DDR SDRAM, e.g. DDR4 or DDR5.\n memory_speed (typing.Optional[int]): DDR SDRAM clock rate (Mhz).\n memory_ecc (typing.Optional[bool]): If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption.\n gpu_count (int): Number of GPU accelerator(s).\n gpu_memory_min (typing.Optional[int]): Memory (MiB) allocated to the lowest-end GPU accelerator.\n gpu_memory_total (typing.Optional[int]): Overall memory (MiB) allocated to all the GPU accelerator(s).\n gpu_manufacturer (typing.Optional[str]): The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD.\n gpu_family (typing.Optional[str]): The product family of the primary GPU accelerator, e.g. Turing.\n gpu_model (typing.Optional[str]): The model number of the primary GPU accelerator, e.g. Tesla T4.\n gpus (typing.List[sc_crawler.table_fields.Gpu]): JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.\n storage_size (int): Overall size (GB) of the disk(s).\n storage_type (typing.Optional[sc_crawler.table_fields.StorageType]): Primary disk type, e.g. HDD, SSD, NVMe SSD, or network).\n storages (typing.List[sc_crawler.table_fields.Disk]): JSON array of disks attached to the server, including the size (MiB) and type of each disk.\n network_speed (typing.Optional[float]): The baseline network performance (Gbps) of the network card.\n inbound_traffic (float): Amount of complimentary inbound traffic (GB) per month.\n outbound_traffic (float): Amount of complimentary outbound traffic (GB) per month.\n ipv4 (int): Number of complimentary IPv4 address(es).\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-05T11:20:26.859576","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"}]},"ServerBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"ServerBase"},"ServerPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"},"vendor":{"$ref":"#/components/schemas/VendorBase"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description","vendor"],"title":"ServerPKs","examples":[{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-05T11:20:26.859576","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"}]},"ServerPKsWithPrices":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"prices":{"items":{"$ref":"#/components/schemas/ServerPricePKs"},"type":"array","title":"Prices"},"benchmark_scores":{"items":{"$ref":"#/components/schemas/BenchmarkScoreBase"},"type":"array","title":"Benchmark Scores"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description","vendor","prices","benchmark_scores"],"title":"ServerPKsWithPrices","examples":[{"api_reference":"a1.2xlarge","benchmark_scores":[{"benchmark_id":"geekbench:hdr","config_fields":{"cores":"Single-Core or Multi-Core peformance tests.","framework_version":"Version number of geekbench."},"description":"Blends six 16MP SDR photos to create a single HDR photo, using a recovery process and radiance map construction (Debevec and Malik 1997), and a tone mapping algorithm (Reinhard and Devlin 2005).The score is calibrated against a baseline score of 2,500 (Dell Precision 3460 with a Core i7-12700 processor) as per the Geekbench 6 Benchmark Internals.","framework":"geekbench","higher_is_better":true,"measurement":"hdr","name":"Geekbench: HDR","observed_at":"2024-09-05T12:11:58.316953","status":"active"}],"cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-05T11:20:26.859576","outbound_traffic":0.0,"price":7,"prices":[{"allocation":"spot","currency":"USD","observed_at":"2024-09-05T07:03:13","operating_system":"Linux","price":0.0703,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-05T11:19:35.750464","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-west-2","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-05T11:19:39.079264","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"usw2-az3"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-05T11:17:36","operating_system":"Linux","price":0.0708,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-05T11:19:35.750464","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-west-2","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-05T11:19:39.079264","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"usw2-az2"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-05T08:47:21","operating_system":"Linux","price":0.0809,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-05T11:19:35.750464","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"eu-central-1","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-05T11:19:39.079264","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"euc1-az2"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-05T06:16:34","operating_system":"Linux","price":0.0926,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-05T11:19:35.750464","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"ap-northeast-1","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-05T11:19:39.079264","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"apne1-az4"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-05T07:16:37","operating_system":"Linux","price":0.1012,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-05T11:19:35.750464","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"eu-west-1","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-05T11:19:39.079264","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"euw1-az2"}],"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-05T12:11:58.318357","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws"}]},"ServerPrice":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"allOf":[{"$ref":"#/components/schemas/Allocation"}],"description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price"],"title":"ServerPrice","description":"Server type prices per Region and Allocation method.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Reference to the Region.\n zone_id (str): Reference to the Zone.\n server_id (str): Reference to the Server.\n operating_system (str): Operating System.\n allocation (Allocation): Allocation method, e.g. on-demand or spot.\n unit (PriceUnit): Billing unit of the pricing model.\n price (float): Actual price of a billing unit.\n price_upfront (float): Price to be paid when setting up the resource.\n price_tiered (typing.List[sc_crawler.table_fields.PriceTier]): List of pricing tiers with min/max thresholds and actual prices.\n currency (str): Currency of the prices.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation."},"ServerPricePKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"allOf":[{"$ref":"#/components/schemas/Allocation"}],"description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBase"},"zone":{"$ref":"#/components/schemas/ZoneBase"}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price","region","zone"],"title":"ServerPricePKs"},"ServerPriceWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"allOf":[{"$ref":"#/components/schemas/Allocation"}],"description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"vendor":{"$ref":"#/components/schemas/VendorBase"},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"zone":{"$ref":"#/components/schemas/ZoneBase"},"server":{"$ref":"#/components/schemas/ServerWithScore"}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price","vendor","region","zone","server"],"title":"ServerPriceWithPKs","examples":[{"allocation":"spot","currency":"USD","observed_at":"2024-09-05T07:03:13","operating_system":"Linux","price":0.0703,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country":{"continent":"Asia","country_id":"AE","observed_at":"2024-09-05T12:11:58.313071","status":"active"},"country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-05T11:19:35.750464","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-west-2","server":{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-05T11:20:26.859576","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"},"server_id":"a1.2xlarge","status":"active","unit":"hour","vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-05T12:11:58.318357","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-05T11:19:39.079264","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"usw2-az3"}]},"ServerTableMetaData":{"properties":{"table":{"$ref":"#/components/schemas/NameAndDescription"},"fields":{"items":{"$ref":"#/components/schemas/IdNameAndDescriptionAndCategory"},"type":"array","title":"Fields"}},"type":"object","required":["table","fields"],"title":"ServerTableMetaData"},"ServerWithScore":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"ServerWithScore"},"Status":{"type":"string","enum":["active","inactive"],"title":"Status","description":"Last known status of a resource, e.g. active or inactive."},"Storage":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"storage_id":{"type":"string","title":"Storage Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"storage_type":{"allOf":[{"$ref":"#/components/schemas/StorageType"}],"description":"High-level category of the storage, e.g. HDD or SDD."},"max_iops":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Iops","description":"Maximum Input/Output Operations Per Second."},"max_throughput":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Throughput","description":"Maximum Throughput (MiB/s)."},"min_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Size","description":"Minimum required size (GiB)."},"max_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Size","description":"Maximum possible size (GiB)."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","storage_id","name","description","storage_type"],"title":"Storage","description":"Flexible storage options that can be attached to a Server.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n storage_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n description (typing.Optional[str]): Short description.\n storage_type (StorageType): High-level category of the storage, e.g. HDD or SDD.\n max_iops (typing.Optional[int]): Maximum Input/Output Operations Per Second.\n max_throughput (typing.Optional[int]): Maximum Throughput (MiB/s).\n min_size (typing.Optional[int]): Minimum required size (GiB).\n max_size (typing.Optional[int]): Maximum possible size (GiB).\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"description":"SSD-backed","max_iops":16000,"max_size":16384,"max_throughput":250,"min_size":1,"name":"General Purpose","observed_at":"2024-09-05T11:22:29.831723","status":"active","storage_id":"gp2","storage_type":"ssd","vendor_id":"aws"}]},"StorageBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"storage_id":{"type":"string","title":"Storage Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"storage_type":{"allOf":[{"$ref":"#/components/schemas/StorageType"}],"description":"High-level category of the storage, e.g. HDD or SDD."},"max_iops":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Iops","description":"Maximum Input/Output Operations Per Second."},"max_throughput":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Throughput","description":"Maximum Throughput (MiB/s)."},"min_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Size","description":"Minimum required size (GiB)."},"max_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Size","description":"Maximum possible size (GiB)."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","storage_id","name","description","storage_type"],"title":"StorageBase"},"StoragePriceWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"storage_id":{"type":"string","title":"Storage Id","description":"Reference to the Storage."},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"storage":{"$ref":"#/components/schemas/StorageBase"}},"type":"object","required":["vendor_id","region_id","storage_id","unit","price","region","vendor","storage"],"title":"StoragePriceWithPKs"},"StorageType":{"type":"string","enum":["hdd","ssd","nvme ssd","network"],"title":"StorageType","description":"Type of a storage, e.g. HDD or SSD."},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"Vendor":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Vendor's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage of the Vendor."},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Vendor's main headquarter is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Vendor's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Vendor's main location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Vendor's main location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Vendor's main location."},"founding_year":{"type":"integer","title":"Founding Year","description":"4-digit year when the Vendor was founded."},"status_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Page","description":"Public status page of the Vendor."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","name","country_id","founding_year"],"title":"Vendor","description":"Compute resource vendors, such as cloud and server providers.\n\n Examples:\n >>> from sc_crawler.tables import Vendor\n >>> from sc_crawler.lookup import countries\n >>> aws = Vendor(vendor_id='aws', name='Amazon Web Services', homepage='https://aws.amazon.com', country=countries[\"US\"], founding_year=2002)\n >>> aws\n Vendor(vendor_id='aws'...\n >>> from sc_crawler import vendors\n >>> vendors.aws\n Vendor(vendor_id='aws'...\n \n\nAttributes:\n vendor_id (str): Unique identifier.\n name (str): Human-friendly name.\n logo (typing.Optional[str]): Publicly accessible URL to the image of the Vendor's logo.\n homepage (typing.Optional[str]): Public homepage of the Vendor.\n country_id (str): Reference to the Country, where the Vendor's main headquarter is located.\n state (typing.Optional[str]): Optional state/administrative area of the Vendor's location within the Country.\n city (typing.Optional[str]): Optional city name of the Vendor's main location.\n address_line (typing.Optional[str]): Optional address line of the Vendor's main location.\n zip_code (typing.Optional[str]): Optional ZIP code of the Vendor's main location.\n founding_year (int): 4-digit year when the Vendor was founded.\n status_page (typing.Optional[str]): Public status page of the Vendor.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-05T12:11:58.318357","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"}]},"VendorBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Vendor's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage of the Vendor."},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Vendor's main headquarter is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Vendor's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Vendor's main location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Vendor's main location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Vendor's main location."},"founding_year":{"type":"integer","title":"Founding Year","description":"4-digit year when the Vendor was founded."},"status_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Page","description":"Public status page of the Vendor."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","name","country_id","founding_year"],"title":"VendorBase"},"Vendors":{"type":"string","enum":["aws","azure","gcp","hcloud"],"title":"Vendors"},"Zone":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","name","api_reference","display_name"],"title":"Zone","description":"Availability zones of Regions.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Reference to the Region.\n zone_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-05T11:19:39.079264","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"}]},"ZoneBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","name","api_reference","display_name"],"title":"ZoneBase"}}}} +{"openapi":"3.1.0","info":{"title":"Spare Cores (SC) Keeper","description":"\nAPI to search and serve data collected on cloud compute resources.\n\n## Licensing\n\nThis is a free service provided by the Spare Cores team, without any warranty.\nThe source code of the API is licensed under MPL-2.0, find more details at\n.\n\n## References\n\n- Spare Cores: \n- SC Keeper: \n- SC Crawler: \n- SC Data: \n","termsOfService":"https://sparecores.com/legal/terms-of-service","contact":{"name":"Spare Cores Team","email":"social@sparecores.com"},"license":{"name":"Mozilla Public License 2.0 (MPL 2.0)","url":"http://mozilla.org/MPL/2.0/"},"version":"0.3.0"},"paths":{"/healthcheck":{"get":{"tags":["Administrative endpoints"],"summary":"Healthcheck","description":"Quickly return package and database version information.","operationId":"healthcheck_healthcheck_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthcheckResponse"}}}}}}},"/table/benchmark":{"get":{"tags":["Table dumps"],"summary":"Table Benchmark","description":"Return the Benchmark table as-is, without filtering options or relationships resolved.","operationId":"table_benchmark_table_benchmark_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Benchmark"},"type":"array","title":"Response Table Benchmark Table Benchmark Get"}}}}}}},"/table/country":{"get":{"tags":["Table dumps"],"summary":"Table Country","description":"Return the Country table as-is, without filtering options or relationships resolved.","operationId":"table_country_table_country_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Country"},"type":"array","title":"Response Table Country Table Country Get"}}}}}}},"/table/compliance_framework":{"get":{"tags":["Table dumps"],"summary":"Table Compliance Frameworks","description":"Return the ComplianceFramework table as-is, without filtering options or relationships resolved.","operationId":"table_compliance_frameworks_table_compliance_framework_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ComplianceFramework"},"type":"array","title":"Response Table Compliance Frameworks Table Compliance Framework Get"}}}}}}},"/table/vendor":{"get":{"tags":["Table dumps"],"summary":"Table Vendor","description":"Return the Vendor table as-is, without filtering options or relationships resolved.","operationId":"table_vendor_table_vendor_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Vendor"},"type":"array","title":"Response Table Vendor Table Vendor Get"}}}}}}},"/table/region":{"get":{"tags":["Table dumps"],"summary":"Table Region","description":"Return the Region table as-is, without filtering options or relationships resolved.","operationId":"table_region_table_region_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Region"},"type":"array","title":"Response Table Region Table Region Get"}}}}}}},"/table/zone":{"get":{"tags":["Table dumps"],"summary":"Table Zone","description":"Return the Zone table as-is, without filtering options or relationships resolved.","operationId":"table_zone_table_zone_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Zone"},"type":"array","title":"Response Table Zone Table Zone Get"}}}}}}},"/table/server":{"get":{"tags":["Table dumps"],"summary":"Table Server","description":"Return the Server table as-is, without filtering options or relationships resolved.","operationId":"table_server_table_server_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Server"},"type":"array","title":"Response Table Server Table Server Get"}}}}}}},"/table/storage":{"get":{"tags":["Table dumps"],"summary":"Table Storage","description":"Return the Storage table as-is, without filtering options or relationships resolved.","operationId":"table_storage_table_storage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Storage"},"type":"array","title":"Response Table Storage Table Storage Get"}}}}}}},"/table/server/meta":{"get":{"tags":["Table metadata"],"summary":"Table Metadata Server","description":"Server table and column names and comments.","operationId":"table_metadata_server_table_server_meta_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerTableMetaData"}}}}}}},"/server/{vendor}/{server}":{"get":{"tags":["Server Details"],"summary":"Get Server","description":"Query a single server by its vendor id and either the server or, or its API reference.\n\nReturn dictionary includes all server fields, along\nwith the current prices per zone, and\nthe available benchmark scores.","operationId":"get_server_server__vendor___server__get","deprecated":true,"parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"Vendor ID.","title":"Vendor"},"description":"Vendor ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"Server ID or API reference.","title":"Server"},"description":"Server ID or API reference."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","title":"Currency"},"description":"Currency used for prices."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerPKsWithPrices"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v2/server/{vendor}/{server}":{"get":{"tags":["Server Details"],"summary":"Get Server Without Relations","description":"Query a single server by its vendor id and either the server id or its API reference.","operationId":"get_server_without_relations_v2_server__vendor___server__get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"A Vendor's ID.","title":"Vendor"},"description":"A Vendor's ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"A Server's ID or API reference.","title":"Server"},"description":"A Server's ID or API reference."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerBase"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}/similar_servers/{by}/{n}":{"get":{"tags":["Server Details"],"summary":"Get Similar Servers","description":"Search similar servers to the provided one.\n\nThe \"family\" method returns all servers from the same family of\nthe same vendor.\n\nThe \"specs\" approach will prioritize the number of\nGPUs, then CPUs, lastly the amount of memory.\n\nThe \"score\" method will find the servers with the closest\nperformance using the multi-core SCore.","operationId":"get_similar_servers_server__vendor___server__similar_servers__by___n__get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"Vendor ID.","title":"Vendor"},"description":"Vendor ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"Server ID or API reference.","title":"Server"},"description":"Server ID or API reference."},{"name":"by","in":"path","required":true,"schema":{"enum":["family","specs","score"],"type":"string","description":"Algorithm to look for similar servers.","title":"By"},"description":"Algorithm to look for similar servers."},{"name":"n","in":"path","required":true,"schema":{"type":"integer","maximum":100,"description":"Number of servers to get.","title":"N"},"description":"Number of servers to get."},{"name":"benchmark_id","in":"query","required":false,"schema":{"type":"string","description":"Benchmark id to use as the main score for the server.","default":"stress_ng:cpu_all","title":"Benchmark Id"},"description":"Benchmark id to use as the main score for the server."},{"name":"benchmark_config","in":"query","required":false,"schema":{"type":"string","description":"Benchmark id to use as the main score for the server.","default":"","title":"Benchmark Config"},"description":"Benchmark id to use as the main score for the server."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPKs"},"title":"Response Get Similar Servers Server Vendor Server Similar Servers By N Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}/prices":{"get":{"tags":["Server Details"],"summary":"Get Server Prices","description":"Query the current prices of a single server by its vendor id and server id.","operationId":"get_server_prices_server__vendor___server__prices_get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"A Vendor's ID.","title":"Vendor"},"description":"A Vendor's ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"A Server's ID or API reference.","title":"Server"},"description":"A Server's ID or API reference."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","title":"Currency"},"description":"Currency used for prices."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPrice"},"title":"Response Get Server Prices Server Vendor Server Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}/benchmarks":{"get":{"tags":["Server Details"],"summary":"Get Server Benchmarks","description":"Query the current benchmark scores of a single server.","operationId":"get_server_benchmarks_server__vendor___server__benchmarks_get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"A Vendor's ID.","title":"Vendor"},"description":"A Vendor's ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"A Server's ID or API reference.","title":"Server"},"description":"A Server's ID or API reference."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BenchmarkScore"},"title":"Response Get Server Benchmarks Server Vendor Server Benchmarks Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_server_filters":{"get":{"tags":["AI"],"summary":"Assist Server Filters","description":"Extract Server JSON filters from freetext.","operationId":"assist_server_filters_ai_assist_server_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Server Filters Ai Assist Server Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_server_price_filters":{"get":{"tags":["AI"],"summary":"Assist Server Price Filters","description":"Extract ServerPrice JSON filters from freetext.","operationId":"assist_server_price_filters_ai_assist_server_price_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Server Price Filters Ai Assist Server Price Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_storage_price_filters":{"get":{"tags":["AI"],"summary":"Assist Storage Price Filters","description":"Extract StoragePrice JSON filters from freetext.","operationId":"assist_storage_price_filters_ai_assist_storage_price_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Storage Price Filters Ai Assist Storage Price Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/regions":{"get":{"tags":["Query Resources"],"summary":"Search Regions","operationId":"search_regions_regions_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RegionPKs"},"title":"Response Search Regions Regions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/servers":{"get":{"tags":["Query Resources"],"summary":"Search Servers","operationId":"search_servers_servers_get","parameters":[{"name":"partial_name_or_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partial name or id","description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name.","category_id":"basic"},"description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name."},{"name":"vcpus_min","in":"query","required":false,"schema":{"type":"integer","maximum":256,"minimum":1,"title":"Minimum vCPUs","description":"Minimum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","default":1},"description":"Minimum number of virtual CPUs."},{"name":"architecture","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuArchitecture"}},{"type":"null"}],"title":"Processor architecture","description":"Processor architecture.","category_id":"processor","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"]},"description":"Processor architecture."},{"name":"benchmark_score_stressng_cpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"SCore","description":"Minimum stress-ng CPU workload score.","category_id":"processor"},"description":"Minimum stress-ng CPU workload score."},{"name":"memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum memory","description":"Minimum amount of memory in GBs.","category_id":"memory","unit":"GB","step":0.1},"description":"Minimum amount of memory in GBs."},{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active only","description":"Filter for active servers only.","category_id":"basic","default":true},"description":"Filter for active servers only."},{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"storage_size","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs).","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs)."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"gpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"GPU count","description":"Minimum number of GPUs.","category_id":"gpu","unit":"GPUs"},"description":"Minimum number of GPUs."},{"name":"gpu_memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum GPU memory","description":"Minimum amount of GPU memory (GB) in each GPU.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of GPU memory (GB) in each GPU."},{"name":"gpu_memory_total","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total GPU memory","description":"Minimum amount of total GPU memory (GBs) in all GPUs.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of total GPU memory (GBs) in all GPUs."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited.","default":50,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"vcpus","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderDir","description":"Order direction.","default":"asc"},"description":"Order direction."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPKs"},"title":"Response Search Servers Servers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server_prices":{"get":{"tags":["Query Resources"],"summary":"Search Server Prices","operationId":"search_server_prices_server_prices_get","parameters":[{"name":"partial_name_or_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partial name or id","description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name.","category_id":"basic"},"description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name."},{"name":"vcpus_min","in":"query","required":false,"schema":{"type":"integer","maximum":256,"minimum":1,"title":"Minimum vCPUs","description":"Minimum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","default":1},"description":"Minimum number of virtual CPUs."},{"name":"architecture","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuArchitecture"}},{"type":"null"}],"title":"Processor architecture","description":"Processor architecture.","category_id":"processor","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"]},"description":"Processor architecture."},{"name":"benchmark_score_stressng_cpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"SCore","description":"Minimum stress-ng CPU workload score.","category_id":"processor"},"description":"Minimum stress-ng CPU workload score."},{"name":"memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum memory","description":"Minimum amount of memory in GBs.","category_id":"memory","unit":"GB","step":0.1},"description":"Minimum amount of memory in GBs."},{"name":"price_max","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Maximum price","description":"Maximum price (USD/hr).","category_id":"price","step":0.0001},"description":"Maximum price (USD/hr)."},{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active only","description":"Filter for active servers only.","category_id":"basic","default":true},"description":"Filter for active servers only."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"allocation","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/Allocation"},{"type":"null"}],"title":"Allocation","description":"Server allocation method.","enum":["ondemand","reserved","spot"]},"description":"Server allocation method."},{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"Region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"storage_size","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs).","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs)."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"gpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"GPU count","description":"Minimum number of GPUs.","category_id":"gpu","unit":"GPUs"},"description":"Minimum number of GPUs."},{"name":"gpu_memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum GPU memory","description":"Minimum amount of GPU memory (GB) in each GPU.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of GPU memory (GB) in each GPU."},{"name":"gpu_memory_total","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total GPU memory","description":"Minimum amount of total GPU memory (GBs) in all GPUs.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of total GPU memory (GBs) in all GPUs."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":250,"description":"Maximum number of results.","default":50,"title":"Limit"},"description":"Maximum number of results."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderDir","description":"Order direction.","default":"asc"},"description":"Order direction."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","default":"USD","title":"Currency"},"description":"Currency used for prices."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPriceWithPKs"},"title":"Response Search Server Prices Server Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/storage_prices":{"get":{"tags":["Query Resources"],"summary":"Search Storage Prices","operationId":"search_storage_prices_storage_prices_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"storage_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs).","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs)."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"Region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited.","default":50,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderDir","description":"Order direction.","default":"asc"},"description":"Order direction."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","default":"USD","title":"Currency"},"description":"Currency used for prices."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StoragePriceWithPKs"},"title":"Response Search Storage Prices Storage Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Allocation":{"type":"string","enum":["ondemand","reserved","spot"],"title":"Allocation","description":"Server allocation options."},"Benchmark":{"properties":{"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Unique identifier of a specific Benchmark."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"framework":{"type":"string","title":"Framework","description":"The name of the benchmark framework/software/tool used."},"config_fields":{"type":"object","title":"Config Fields","description":"A dictionary of descriptions on the framework-specific config options, e.g. {\"bandwidth\": \"Memory amount to use for compression in MB.\"}.","default":{}},"measurement":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Measurement","description":"The name of measurement recoreded in the benchmark."},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit","description":"Optional unit of measurement for the benchmark score."},"higher_is_better":{"type":"boolean","title":"Higher Is Better","description":"If higher benchmark score means better performance, or vica versa.","default":true},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["benchmark_id","name","description","framework"],"title":"Benchmark","description":"Benchmark scenario definitions.\n\nAttributes:\n benchmark_id (str): Unique identifier of a specific Benchmark.\n name (str): Human-friendly name.\n description (typing.Optional[str]): Short description.\n framework (str): The name of the benchmark framework/software/tool used.\n config_fields (dict): A dictionary of descriptions on the framework-specific config options, e.g. {\"bandwidth\": \"Memory amount to use for compression in MB.\"}.\n measurement (typing.Optional[str]): The name of measurement recoreded in the benchmark.\n unit (typing.Optional[str]): Optional unit of measurement for the benchmark score.\n higher_is_better (bool): If higher benchmark score means better performance, or vica versa.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"benchmark_id":"geekbench:hdr","config_fields":{"cores":"Single-Core or Multi-Core peformance tests.","framework_version":"Version number of geekbench."},"description":"Blends six 16MP SDR photos to create a single HDR photo, using a recovery process and radiance map construction (Debevec and Malik 1997), and a tone mapping algorithm (Reinhard and Devlin 2005).The score is calibrated against a baseline score of 2,500 (Dell Precision 3460 with a Core i7-12700 processor) as per the Geekbench 6 Benchmark Internals.","framework":"geekbench","higher_is_better":true,"measurement":"hdr","name":"Geekbench: HDR","observed_at":"2024-09-09T07:59:34.021896","status":"active"}]},"BenchmarkScore":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Reference to the Benchmark."},"config":{"type":"object","title":"Config","description":"Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}","default":{}},"score":{"type":"number","title":"Score","description":"The resulting score of the benchmark."},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Optional note, comment or context on the benchmark score."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","benchmark_id","score"],"title":"BenchmarkScore","description":"Results of running Benchmark scenarios on Servers.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n server_id (str): Reference to the Server.\n benchmark_id (str): Reference to the Benchmark.\n config (sc_crawler.table_fields.HashableDict | dict): Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}\n score (float): The resulting score of the benchmark.\n note (typing.Optional[str]): Optional note, comment or context on the benchmark score.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation."},"BenchmarkScoreBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Reference to the Benchmark."},"config":{"type":"object","title":"Config","description":"Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}","default":{}},"score":{"type":"number","title":"Score","description":"The resulting score of the benchmark."},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Optional note, comment or context on the benchmark score."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","benchmark_id","score"],"title":"BenchmarkScoreBase"},"ComplianceFramework":{"properties":{"compliance_framework_id":{"type":"string","title":"Compliance Framework Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"abbreviation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abbreviation","description":"Short abbreviation of the Framework name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Description of the framework in a few paragrahs, outlining key features and characteristics for reference."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Framework's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage with more information on the Framework."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["compliance_framework_id","name","abbreviation","description"],"title":"ComplianceFramework","description":"List of Compliance Frameworks, such as HIPAA or SOC 2 Type 1.\n\nAttributes:\n compliance_framework_id (str): Unique identifier.\n name (str): Human-friendly name.\n abbreviation (typing.Optional[str]): Short abbreviation of the Framework name.\n description (typing.Optional[str]): Description of the framework in a few paragrahs, outlining key features and characteristics for reference.\n logo (typing.Optional[str]): Publicly accessible URL to the image of the Framework's logo.\n homepage (typing.Optional[str]): Public homepage with more information on the Framework.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"abbreviation":"HIPAA","compliance_framework_id":"hipaa","description":"HIPAA (Health Insurance Portability and Accountability Act) is a U.S. federal law designed to safeguard the privacy and security of individuals' health information, establishing standards for its protection and regulating its use in the healthcare industry.","homepage":"https://www.cdc.gov/phlp/publications/topic/hipaa.html","name":"The Health Insurance Portability and Accountability Act","observed_at":"2024-09-09T07:59:34.019845","status":"active"}]},"ComplianceFrameworks":{"type":"string","enum":["hipaa","iso27001","soc2t2"],"title":"ComplianceFrameworks"},"Country":{"properties":{"country_id":{"type":"string","title":"Country Id","description":"Country code by ISO 3166 alpha-2."},"continent":{"type":"string","title":"Continent","description":"Continent name."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["country_id","continent"],"title":"Country","description":"Country and continent mapping.\n\nAttributes:\n country_id (str): Country code by ISO 3166 alpha-2.\n continent (str): Continent name.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"continent":"Asia","country_id":"AE","observed_at":"2024-09-09T07:59:34.018125","status":"active"}]},"CountryBase":{"properties":{"country_id":{"type":"string","title":"Country Id","description":"Country code by ISO 3166 alpha-2."},"continent":{"type":"string","title":"Continent","description":"Continent name."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["country_id","continent"],"title":"CountryBase"},"Cpu":{"properties":{"manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Manufacturer"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cores"},"threads":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Threads"},"l1_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L1 Cache Size"},"l2_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L2 Cache Size"},"l3_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L3 Cache Size"},"microcode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Microcode"},"capabilities":{"items":{"type":"string"},"type":"array","title":"Capabilities","default":[]},"bugs":{"items":{"type":"string"},"type":"array","title":"Bugs","default":[]},"bogomips":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Bogomips"}},"type":"object","title":"Cpu","description":"CPU details."},"CpuAllocation":{"type":"string","enum":["Shared","Burstable","Dedicated"],"title":"CpuAllocation","description":"CPU allocation methods at cloud vendors."},"CpuArchitecture":{"type":"string","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"],"title":"CpuArchitecture","description":"CPU architectures."},"DdrGeneration":{"type":"string","enum":["DDR3","DDR4","DDR5"],"title":"DdrGeneration","description":"Generation of the DDR SDRAM."},"Disk":{"properties":{"size":{"type":"integer","title":"Size","default":0},"storage_type":{"$ref":"#/components/schemas/StorageType"}},"type":"object","required":["storage_type"],"title":"Disk","description":"Disk definition based on size and storage type."},"Gpu":{"properties":{"manufacturer":{"type":"string","title":"Manufacturer"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"memory":{"type":"integer","title":"Memory"},"firmware_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firmware Version"},"bios_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bios Version"},"graphics_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Graphics Clock"},"sm_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sm Clock"},"mem_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Mem Clock"},"video_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Video Clock"}},"type":"object","required":["manufacturer","memory"],"title":"Gpu","description":"GPU accelerator details."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HealthcheckResponse":{"properties":{"packages":{"type":"object","title":"Packages"},"database_last_updated":{"type":"number","title":"Database Last Updated"},"database_hash":{"type":"string","title":"Database Hash"},"database_alembic_version":{"type":"string","title":"Database Alembic Version"}},"type":"object","required":["packages","database_last_updated","database_hash","database_alembic_version"],"title":"HealthcheckResponse","examples":[{"database_alembic_version":"bar","database_hash":"foo","database_last_updated":1725869231.72255,"packages":{"sparecores-crawler":"1.0.0"}}]},"IdNameAndDescriptionAndCategory":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"id":{"type":"string","title":"Id"},"category":{"type":"string","title":"Category"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"}},"type":"object","required":["name","description","id","category","unit"],"title":"IdNameAndDescriptionAndCategory"},"NameAndDescription":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"}},"type":"object","required":["name","description"],"title":"NameAndDescription"},"OrderDir":{"type":"string","enum":["asc","desc"],"title":"OrderDir"},"PriceTier":{"properties":{"lower":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Lower"},"upper":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Upper"},"price":{"type":"number","title":"Price"}},"type":"object","required":["lower","upper","price"],"title":"PriceTier","description":"Price tier definition.\n\nAs standard JSON does not support Inf, NaN etc values,\nthose should be passed as string, e.g. for the upper bound.\n\nSee [float_inf_to_str][sc_crawler.utils.float_inf_to_str] for\nconverting an infinite numeric value into \"Infinity\"."},"PriceUnit":{"type":"string","enum":["year","month","hour","GiB","GB","GB/month"],"title":"PriceUnit","description":"Supported units for the price tables."},"Region":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id"],"title":"Region","description":"Regions of Vendors.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n aliases (typing.List[str]): List of other commonly used names for the same Region.\n country_id (str): Reference to the Country, where the Region is located.\n state (typing.Optional[str]): Optional state/administrative area of the Region's location within the Country.\n city (typing.Optional[str]): Optional city name of the Region's location.\n address_line (typing.Optional[str]): Optional address line of the Region's location.\n zip_code (typing.Optional[str]): Optional ZIP code of the Region's location.\n lon (typing.Optional[float]): Longitude coordinate of the Region's known or approximate location.\n lat (typing.Optional[float]): Latitude coordinate of the Region's known or approximate location.\n founding_year (typing.Optional[int]): 4-digit year when the Region was founded.\n green_energy (typing.Optional[bool]): If the Region is 100% powered by renewable energy.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-09T07:14:04.866726","region_id":"af-south-1","status":"active","vendor_id":"aws"}]},"RegionBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id"],"title":"RegionBase"},"RegionBaseWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"country":{"$ref":"#/components/schemas/CountryBase"}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id","country"],"title":"RegionBaseWithPKs"},"RegionPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"vendor":{"$ref":"#/components/schemas/VendorBase"}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id","vendor"],"title":"RegionPKs","examples":[{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-09T07:14:04.866726","region_id":"af-south-1","status":"active","vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-09T07:59:34.023260","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws"}]},"Regions":{"type":"string","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"],"title":"Regions"},"Server":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"$ref":"#/components/schemas/CpuAllocation","description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"$ref":"#/components/schemas/CpuArchitecture","description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"Server","description":"Server types.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n server_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n description (typing.Optional[str]): Short description.\n family (typing.Optional[str]): Server family, e.g. General-purpose machine (GCP), or M5g (AWS).\n vcpus (int): Default number of virtual CPUs (vCPU) of the server.\n hypervisor (typing.Optional[str]): Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated.\n cpu_allocation (CpuAllocation): Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated.\n cpu_cores (typing.Optional[int]): Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled.\n cpu_speed (typing.Optional[float]): Vendor-reported maximum CPU clock speed (GHz).\n cpu_architecture (CpuArchitecture): CPU architecture (arm64, arm64_mac, i386, or x86_64).\n cpu_manufacturer (typing.Optional[str]): The manufacturer of the primary processor, e.g. Intel or AMD.\n cpu_family (typing.Optional[str]): The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9.\n cpu_model (typing.Optional[str]): The model number of the primary processor, e.g. 9750H.\n cpu_l1_cache (typing.Optional[int]): L1 cache size (byte).\n cpu_l2_cache (typing.Optional[int]): L2 cache size (byte).\n cpu_l3_cache (typing.Optional[int]): L3 cache size (byte).\n cpu_flags (typing.List[str]): CPU features/flags.\n cpus (typing.List[sc_crawler.table_fields.Cpu]): JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.\n memory_amount (int): RAM amount (MiB).\n memory_generation (typing.Optional[sc_crawler.table_fields.DdrGeneration]): Generation of the DDR SDRAM, e.g. DDR4 or DDR5.\n memory_speed (typing.Optional[int]): DDR SDRAM clock rate (Mhz).\n memory_ecc (typing.Optional[bool]): If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption.\n gpu_count (int): Number of GPU accelerator(s).\n gpu_memory_min (typing.Optional[int]): Memory (MiB) allocated to the lowest-end GPU accelerator.\n gpu_memory_total (typing.Optional[int]): Overall memory (MiB) allocated to all the GPU accelerator(s).\n gpu_manufacturer (typing.Optional[str]): The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD.\n gpu_family (typing.Optional[str]): The product family of the primary GPU accelerator, e.g. Turing.\n gpu_model (typing.Optional[str]): The model number of the primary GPU accelerator, e.g. Tesla T4.\n gpus (typing.List[sc_crawler.table_fields.Gpu]): JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.\n storage_size (int): Overall size (GB) of the disk(s).\n storage_type (typing.Optional[sc_crawler.table_fields.StorageType]): Primary disk type, e.g. HDD, SSD, NVMe SSD, or network).\n storages (typing.List[sc_crawler.table_fields.Disk]): JSON array of disks attached to the server, including the size (MiB) and type of each disk.\n network_speed (typing.Optional[float]): The baseline network performance (Gbps) of the network card.\n inbound_traffic (float): Amount of complimentary inbound traffic (GB) per month.\n outbound_traffic (float): Amount of complimentary outbound traffic (GB) per month.\n ipv4 (int): Number of complimentary IPv4 address(es).\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-09T07:15:30.311638","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"}]},"ServerBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"$ref":"#/components/schemas/CpuAllocation","description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"$ref":"#/components/schemas/CpuArchitecture","description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"ServerBase"},"ServerPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"$ref":"#/components/schemas/CpuAllocation","description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"$ref":"#/components/schemas/CpuArchitecture","description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"},"vendor":{"$ref":"#/components/schemas/VendorBase"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description","vendor"],"title":"ServerPKs","examples":[{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-09T07:15:30.311638","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"}]},"ServerPKsWithPrices":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"$ref":"#/components/schemas/CpuAllocation","description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"$ref":"#/components/schemas/CpuArchitecture","description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"prices":{"items":{"$ref":"#/components/schemas/ServerPricePKs"},"type":"array","title":"Prices"},"benchmark_scores":{"items":{"$ref":"#/components/schemas/BenchmarkScoreBase"},"type":"array","title":"Benchmark Scores"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description","vendor","prices","benchmark_scores"],"title":"ServerPKsWithPrices","examples":[{"api_reference":"a1.2xlarge","benchmark_scores":[{"benchmark_id":"geekbench:hdr","config_fields":{"cores":"Single-Core or Multi-Core peformance tests.","framework_version":"Version number of geekbench."},"description":"Blends six 16MP SDR photos to create a single HDR photo, using a recovery process and radiance map construction (Debevec and Malik 1997), and a tone mapping algorithm (Reinhard and Devlin 2005).The score is calibrated against a baseline score of 2,500 (Dell Precision 3460 with a Core i7-12700 processor) as per the Geekbench 6 Benchmark Internals.","framework":"geekbench","higher_is_better":true,"measurement":"hdr","name":"Geekbench: HDR","observed_at":"2024-09-09T07:59:34.021896","status":"active"}],"cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-09T07:15:30.311638","outbound_traffic":0.0,"price":7,"prices":[{"allocation":"spot","currency":"USD","observed_at":"2024-09-09T06:02:40","operating_system":"Linux","price":0.0705,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-09T07:14:04.866726","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-west-2","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-09T07:14:07.992352","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"usw2-az2"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-09T06:47:40","operating_system":"Linux","price":0.074,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-09T07:14:04.866726","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-west-2","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-09T07:14:07.992352","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"usw2-az3"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-09T07:16:43","operating_system":"Linux","price":0.0921,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-09T07:14:04.866726","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"eu-central-1","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-09T07:14:07.992352","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"euc1-az2"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-09T02:46:29","operating_system":"Linux","price":0.0941,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-09T07:14:04.866726","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"ap-northeast-1","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-09T07:14:07.992352","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"apne1-az4"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-09T07:53:21","operating_system":"Linux","price":0.1006,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-09T07:14:04.866726","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"eu-west-1","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-09T07:14:07.992352","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"euw1-az2"}],"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-09T07:59:34.023260","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws"}]},"ServerPrice":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"$ref":"#/components/schemas/Allocation","description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"$ref":"#/components/schemas/PriceUnit","description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price"],"title":"ServerPrice","description":"Server type prices per Region and Allocation method.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Reference to the Region.\n zone_id (str): Reference to the Zone.\n server_id (str): Reference to the Server.\n operating_system (str): Operating System.\n allocation (Allocation): Allocation method, e.g. on-demand or spot.\n unit (PriceUnit): Billing unit of the pricing model.\n price (float): Actual price of a billing unit.\n price_upfront (float): Price to be paid when setting up the resource.\n price_tiered (typing.List[sc_crawler.table_fields.PriceTier]): List of pricing tiers with min/max thresholds and actual prices.\n currency (str): Currency of the prices.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation."},"ServerPricePKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"$ref":"#/components/schemas/Allocation","description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"$ref":"#/components/schemas/PriceUnit","description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBase"},"zone":{"$ref":"#/components/schemas/ZoneBase"}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price","region","zone"],"title":"ServerPricePKs"},"ServerPriceWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"$ref":"#/components/schemas/Allocation","description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"$ref":"#/components/schemas/PriceUnit","description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"vendor":{"$ref":"#/components/schemas/VendorBase"},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"zone":{"$ref":"#/components/schemas/ZoneBase"},"server":{"$ref":"#/components/schemas/ServerWithScore"}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price","vendor","region","zone","server"],"title":"ServerPriceWithPKs","examples":[{"allocation":"spot","currency":"USD","observed_at":"2024-09-09T06:02:40","operating_system":"Linux","price":0.0705,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country":{"continent":"Asia","country_id":"AE","observed_at":"2024-09-09T07:59:34.018125","status":"active"},"country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-09T07:14:04.866726","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-west-2","server":{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-09T07:15:30.311638","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"},"server_id":"a1.2xlarge","status":"active","unit":"hour","vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-09T07:59:34.023260","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-09T07:14:07.992352","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"usw2-az2"}]},"ServerTableMetaData":{"properties":{"table":{"$ref":"#/components/schemas/NameAndDescription"},"fields":{"items":{"$ref":"#/components/schemas/IdNameAndDescriptionAndCategory"},"type":"array","title":"Fields"}},"type":"object","required":["table","fields"],"title":"ServerTableMetaData"},"ServerWithScore":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"$ref":"#/components/schemas/CpuAllocation","description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"$ref":"#/components/schemas/CpuArchitecture","description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"ServerWithScore"},"Status":{"type":"string","enum":["active","inactive"],"title":"Status","description":"Last known status of a resource, e.g. active or inactive."},"Storage":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"storage_id":{"type":"string","title":"Storage Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"storage_type":{"$ref":"#/components/schemas/StorageType","description":"High-level category of the storage, e.g. HDD or SDD."},"max_iops":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Iops","description":"Maximum Input/Output Operations Per Second."},"max_throughput":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Throughput","description":"Maximum Throughput (MiB/s)."},"min_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Size","description":"Minimum required size (GiB)."},"max_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Size","description":"Maximum possible size (GiB)."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","storage_id","name","description","storage_type"],"title":"Storage","description":"Flexible storage options that can be attached to a Server.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n storage_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n description (typing.Optional[str]): Short description.\n storage_type (StorageType): High-level category of the storage, e.g. HDD or SDD.\n max_iops (typing.Optional[int]): Maximum Input/Output Operations Per Second.\n max_throughput (typing.Optional[int]): Maximum Throughput (MiB/s).\n min_size (typing.Optional[int]): Minimum required size (GiB).\n max_size (typing.Optional[int]): Maximum possible size (GiB).\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"description":"SSD-backed","max_iops":16000,"max_size":16384,"max_throughput":250,"min_size":1,"name":"General Purpose","observed_at":"2024-09-09T07:17:52.630913","status":"active","storage_id":"gp2","storage_type":"ssd","vendor_id":"aws"}]},"StorageBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"storage_id":{"type":"string","title":"Storage Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"storage_type":{"$ref":"#/components/schemas/StorageType","description":"High-level category of the storage, e.g. HDD or SDD."},"max_iops":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Iops","description":"Maximum Input/Output Operations Per Second."},"max_throughput":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Throughput","description":"Maximum Throughput (MiB/s)."},"min_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Size","description":"Minimum required size (GiB)."},"max_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Size","description":"Maximum possible size (GiB)."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","storage_id","name","description","storage_type"],"title":"StorageBase"},"StoragePriceWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"storage_id":{"type":"string","title":"Storage Id","description":"Reference to the Storage."},"unit":{"$ref":"#/components/schemas/PriceUnit","description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"storage":{"$ref":"#/components/schemas/StorageBase"}},"type":"object","required":["vendor_id","region_id","storage_id","unit","price","region","vendor","storage"],"title":"StoragePriceWithPKs"},"StorageType":{"type":"string","enum":["hdd","ssd","nvme ssd","network"],"title":"StorageType","description":"Type of a storage, e.g. HDD or SSD."},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"Vendor":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Vendor's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage of the Vendor."},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Vendor's main headquarter is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Vendor's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Vendor's main location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Vendor's main location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Vendor's main location."},"founding_year":{"type":"integer","title":"Founding Year","description":"4-digit year when the Vendor was founded."},"status_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Page","description":"Public status page of the Vendor."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","name","country_id","founding_year"],"title":"Vendor","description":"Compute resource vendors, such as cloud and server providers.\n\n Examples:\n >>> from sc_crawler.tables import Vendor\n >>> from sc_crawler.lookup import countries\n >>> aws = Vendor(vendor_id='aws', name='Amazon Web Services', homepage='https://aws.amazon.com', country=countries[\"US\"], founding_year=2002)\n >>> aws\n Vendor(vendor_id='aws'...\n >>> from sc_crawler import vendors\n >>> vendors.aws\n Vendor(vendor_id='aws'...\n \n\nAttributes:\n vendor_id (str): Unique identifier.\n name (str): Human-friendly name.\n logo (typing.Optional[str]): Publicly accessible URL to the image of the Vendor's logo.\n homepage (typing.Optional[str]): Public homepage of the Vendor.\n country_id (str): Reference to the Country, where the Vendor's main headquarter is located.\n state (typing.Optional[str]): Optional state/administrative area of the Vendor's location within the Country.\n city (typing.Optional[str]): Optional city name of the Vendor's main location.\n address_line (typing.Optional[str]): Optional address line of the Vendor's main location.\n zip_code (typing.Optional[str]): Optional ZIP code of the Vendor's main location.\n founding_year (int): 4-digit year when the Vendor was founded.\n status_page (typing.Optional[str]): Public status page of the Vendor.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-09T07:59:34.023260","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"}]},"VendorBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Vendor's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage of the Vendor."},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Vendor's main headquarter is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Vendor's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Vendor's main location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Vendor's main location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Vendor's main location."},"founding_year":{"type":"integer","title":"Founding Year","description":"4-digit year when the Vendor was founded."},"status_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Page","description":"Public status page of the Vendor."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","name","country_id","founding_year"],"title":"VendorBase"},"Vendors":{"type":"string","enum":["aws","azure","gcp","hcloud"],"title":"Vendors"},"Zone":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","name","api_reference","display_name"],"title":"Zone","description":"Availability zones of Regions.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Reference to the Region.\n zone_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-09T07:14:07.992352","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"}]},"ZoneBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","name","api_reference","display_name"],"title":"ZoneBase"}}}} From a094510c4d8c75d30fff3c7c9d94c4a2d5346afd Mon Sep 17 00:00:00 2001 From: Palabola Date: Mon, 9 Sep 2024 10:28:48 +0200 Subject: [PATCH 09/66] added currency options to storages --- .../server-compare.component.ts | 18 +----- .../server-prices/server-prices.component.ts | 18 +----- .../pages/storages/storages.component.html | 49 ++++++++++----- src/app/pages/storages/storages.component.ts | 62 +++++++++++-------- src/app/tools/shared_data.ts | 23 +++++++ 5 files changed, 96 insertions(+), 74 deletions(-) create mode 100644 src/app/tools/shared_data.ts diff --git a/src/app/pages/server-compare/server-compare.component.ts b/src/app/pages/server-compare/server-compare.component.ts index b874062b..32a2bfda 100644 --- a/src/app/pages/server-compare/server-compare.component.ts +++ b/src/app/pages/server-compare/server-compare.component.ts @@ -16,6 +16,7 @@ import { DomSanitizer } from '@angular/platform-browser'; import { ServerCompareService } from '../../services/server-compare.service'; import { DropdownManagerService } from '../../services/dropdown-manager.service'; import { AnalyticsService } from '../../services/analytics.service'; +import { CurrencyOption, availableCurrencies } from '../../tools/shared_data'; Chart.register(annotationPlugin); @@ -95,22 +96,7 @@ export class ServerCompareComponent implements OnInit, AfterViewInit { lineChartDataDecompress: ChartData<'line'> | undefined = undefined; dropdownCurrency: any; - availableCurrencies = [ - {name: 'US dollar', slug: 'USD', symbol: '$'}, - {name: 'Euro', slug: 'EUR', symbol: '€'}, - {name: 'British Pound', slug: 'GBP', symbol: '£'}, - {name: 'Swedish Krona', slug: 'SEK', symbol: 'kr'}, - {name: 'Danish Krone', slug: 'DKK', symbol: 'kr'}, - {name: 'Norwegian Krone', slug: 'NOK', symbol: 'kr'}, - {name: 'Swiss Franc', slug: 'CHF', symbol: 'CHF'}, - {name: 'Australian Dollar', slug: 'AUD', symbol: '$'}, - {name: 'Canadian Dollar', slug: 'CAD', symbol: '$'}, - {name: 'Japanese Yen', slug: 'JPY', symbol: '¥'}, - {name: 'Chinese Yuan', slug: 'CNY', symbol: '¥'}, - {name: 'Indian Rupee', slug: 'INR', symbol: '₹'}, - {name: 'Brazilian Real', slug: 'BRL', symbol: 'R$'}, - {name: 'South African Rand', slug: 'ZAR', symbol: 'R'}, - ]; + availableCurrencies: CurrencyOption[] = availableCurrencies; dropdownBWmem: any; availableBWmem = [ diff --git a/src/app/pages/server-prices/server-prices.component.ts b/src/app/pages/server-prices/server-prices.component.ts index 7caf1273..ce9008c3 100644 --- a/src/app/pages/server-prices/server-prices.component.ts +++ b/src/app/pages/server-prices/server-prices.component.ts @@ -13,6 +13,7 @@ import { SearchBarComponent } from '../../components/search-bar/search-bar.compo import { PaginationComponent } from '../../components/pagination/pagination.component'; import { DropdownManagerService } from '../../services/dropdown-manager.service'; import { AnalyticsService } from '../../services/analytics.service'; +import { CurrencyOption, availableCurrencies } from '../../tools/shared_data'; export type TableColumn = { name: string; @@ -107,22 +108,7 @@ export class ServerPricesComponent implements OnInit { { name: 'ZONE', show: false, type: 'text', key: 'zone.name' }, ]; - availableCurrencies = [ - {name: 'US dollar', slug: 'USD', symbol: '$'}, - {name: 'Euro', slug: 'EUR', symbol: '€'}, - {name: 'British Pound', slug: 'GBP', symbol: '£'}, - {name: 'Swedish Krona', slug: 'SEK', symbol: 'kr'}, - {name: 'Danish Krone', slug: 'DKK', symbol: 'kr'}, - {name: 'Norwegian Krone', slug: 'NOK', symbol: 'kr'}, - {name: 'Swiss Franc', slug: 'CHF', symbol: 'CHF'}, - {name: 'Australian Dollar', slug: 'AUD', symbol: '$'}, - {name: 'Canadian Dollar', slug: 'CAD', symbol: '$'}, - {name: 'Japanese Yen', slug: 'JPY', symbol: '¥'}, - {name: 'Chinese Yuan', slug: 'CNY', symbol: '¥'}, - {name: 'Indian Rupee', slug: 'INR', symbol: '₹'}, - {name: 'Brazilian Real', slug: 'BRL', symbol: 'R$'}, - {name: 'South African Rand', slug: 'ZAR', symbol: 'R'}, - ]; + availableCurrencies: CurrencyOption[] = availableCurrencies; allocationTypes = [ {name: 'Both', slug: null}, diff --git a/src/app/pages/storages/storages.component.html b/src/app/pages/storages/storages.component.html index eb84116e..68d1e397 100644 --- a/src/app/pages/storages/storages.component.html +++ b/src/app/pages/storages/storages.component.html @@ -34,21 +34,30 @@

    TODO

    'w-full': isCollapsed }">
    -
    - -
    + +
    @@ -184,3 +193,13 @@

    TODO

    + + diff --git a/src/app/pages/storages/storages.component.ts b/src/app/pages/storages/storages.component.ts index d57de5f8..ad7fbfa2 100644 --- a/src/app/pages/storages/storages.component.ts +++ b/src/app/pages/storages/storages.component.ts @@ -14,6 +14,8 @@ import { ServerCompareService } from '../../services/server-compare.service'; import { StorageHandlerService } from '../../services/storage-handler.service'; import { TableColumn } from '../server-listing/server-listing.component'; import { Dropdown, DropdownOptions } from 'flowbite'; +import { CurrencyOption, availableCurrencies } from '../../tools/shared_data'; +import { DropdownManagerService } from '../../services/dropdown-manager.service'; const options: DropdownOptions = { placement: 'bottom', @@ -80,13 +82,19 @@ export class StoragesComponent { { name: 'PRICE TIERED', show: false, type: 'price2', key: 'price_tiered' }, ]; + availableCurrencies: CurrencyOption[] = availableCurrencies; + + selectedCurrency: CurrencyOption = availableCurrencies[0]; + + dropdownCurrency: any; + constructor(@Inject(PLATFORM_ID) private platformId: object, private keeperAPI: KeeperAPIService, private route: ActivatedRoute, private router: Router, private SEOHandler: SeoHandlerService, - private storageHandler: StorageHandlerService, - private serverCompare: ServerCompareService) { } + private dropdownManager: DropdownManagerService, + ) { } ngOnInit() { @@ -124,31 +132,17 @@ export class StoragesComponent { if(isPlatformBrowser(this.platformId)) { - const targetElColumn: HTMLElement | null = document.getElementById('column_options'); - const triggerElColumn: HTMLElement | null = document.getElementById('column_button'); - - this.dropdownColumn = new Dropdown( - targetElColumn, - triggerElColumn, - options, - { - id: 'column_options', - override: true - } - ); - - const targetElPage: HTMLElement | null = document.getElementById('pagesize_options'); - const triggerElPage: HTMLElement | null = document.getElementById('pagesize_button'); - - this.dropdownPage = new Dropdown( - targetElPage, - triggerElPage, - options, - { - id: 'pagesize_options', - override: true - } - ); + this.dropdownManager.initDropdown('currency_button', 'currency_options').then((dropdown: any) => { + this.dropdownCurrency = dropdown + }); + + this.dropdownManager.initDropdown('column_button', 'column_options').then((dropdown: any) => { + this.dropdownColumn = dropdown + }); + + this.dropdownManager.initDropdown('pagesize_button', 'pagesize_options').then((dropdown: any) => { + this.dropdownPage = dropdown + }); } }); @@ -188,6 +182,12 @@ export class StoragesComponent { delete queryParams.limit; } + if(this.selectedCurrency.slug !== 'USD') { + queryParams.currency = this.selectedCurrency.slug; + } else { + delete queryParams.currency; + } + this.router.navigate([], { relativeTo: this.route, queryParams: queryParams @@ -239,6 +239,14 @@ export class StoragesComponent { this.searchOptionsChanged(this.query); } + selectCurrency(currency: any) { + this.selectedCurrency = currency; + + this.searchOptionsChanged(this.query); + + this.dropdownCurrency?.hide(); + } + getOrderingIcon(column: TableColumn) { if(!column.orderField) return null; diff --git a/src/app/tools/shared_data.ts b/src/app/tools/shared_data.ts new file mode 100644 index 00000000..c97ca39b --- /dev/null +++ b/src/app/tools/shared_data.ts @@ -0,0 +1,23 @@ + +export interface CurrencyOption { + name: string; + slug: string; + symbol: string; +} + +export const availableCurrencies: CurrencyOption[] = [ + {name: 'US dollar', slug: 'USD', symbol: '$'}, + {name: 'Euro', slug: 'EUR', symbol: '€'}, + {name: 'British Pound', slug: 'GBP', symbol: '£'}, + {name: 'Swedish Krona', slug: 'SEK', symbol: 'kr'}, + {name: 'Danish Krone', slug: 'DKK', symbol: 'kr'}, + {name: 'Norwegian Krone', slug: 'NOK', symbol: 'kr'}, + {name: 'Swiss Franc', slug: 'CHF', symbol: 'CHF'}, + {name: 'Australian Dollar', slug: 'AUD', symbol: '$'}, + {name: 'Canadian Dollar', slug: 'CAD', symbol: '$'}, + {name: 'Japanese Yen', slug: 'JPY', symbol: '¥'}, + {name: 'Chinese Yuan', slug: 'CNY', symbol: '¥'}, + {name: 'Indian Rupee', slug: 'INR', symbol: '₹'}, + {name: 'Brazilian Real', slug: 'BRL', symbol: 'R$'}, + {name: 'South African Rand', slug: 'ZAR', symbol: 'R'}, +]; From 11c7e33c71e137a42763fcadb9351c445714666a Mon Sep 17 00:00:00 2001 From: Palabola Date: Mon, 9 Sep 2024 10:45:02 +0200 Subject: [PATCH 10/66] typo --- sdk/Server.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/Server.ts b/sdk/Server.ts index 9e7b00f8..921a6c7f 100644 --- a/sdk/Server.ts +++ b/sdk/Server.ts @@ -61,7 +61,7 @@ export class Server { params: RequestParams = {}, ) => this.http.request({ - path: `/server/${vendor}/${server}/similar_servers/${by}/{n}`, + path: `/server/${vendor}/${server}/similar_servers/${by}/${n}`, method: "GET", query: query, format: "json", From 5228f5685854ca8b910f290133e87b30d33ef209 Mon Sep 17 00:00:00 2001 From: Palabola Date: Mon, 9 Sep 2024 10:49:41 +0200 Subject: [PATCH 11/66] lint --- src/app/pages/storages/storages.component.html | 1 + src/app/pages/storages/storages.component.ts | 15 ++------------- 2 files changed, 3 insertions(+), 13 deletions(-) diff --git a/src/app/pages/storages/storages.component.html b/src/app/pages/storages/storages.component.html index 68d1e397..5f6d12bb 100644 --- a/src/app/pages/storages/storages.component.html +++ b/src/app/pages/storages/storages.component.html @@ -196,6 +196,7 @@

    TODO

    currency.slug === query.currency) || this.availableCurrencies[0]; + } + + this._searchTrafficPrices(); if(isPlatformBrowser(this.platformId)) { @@ -259,5 +266,23 @@ export class TrafficPricesComponent { this.tableColumns = this.possibleColumns.filter((column) => column.show); } + getTieredPriceText(price_tier: any) { + let from = price_tier.lower && !isNaN(price_tier.lower) ? (price_tier.lower / 1000).toFixed() : '0'; + let to = price_tier.upper && !isNaN(price_tier.upper) && price_tier.upper !== "Infinity" ? (price_tier.upper / 1000).toFixed() : '∞'; + + // padd from and to to at least 3 charaters long + from = from.padStart(3, ' '); + to = to.padStart(3, ' '); + + return `${from} - ${to} TB:`; + } + + getTieredPriceValue(price_tier: any) { + let from = price_tier.lower && !isNaN(price_tier.lower) ? (price_tier.lower / 1000).toFixed() : 0; + let to = price_tier.upper && !isNaN(price_tier.upper) && price_tier.upper !== "Infinity" ? (price_tier.upper / 1000).toFixed() : '∞'; + + return `${price_tier.price} ${this.selectedCurrency.slug}`; + } + } diff --git a/src/app/services/keeper-api.service.ts b/src/app/services/keeper-api.service.ts index c5e4c7f8..259c2175 100644 --- a/src/app/services/keeper-api.service.ts +++ b/src/app/services/keeper-api.service.ts @@ -3,7 +3,7 @@ import { Inject, Injectable, PLATFORM_ID } from '@angular/core'; import { MYHTTPClient } from './my_http/my-http'; import { Server } from '../../../sdk/Server'; import { Servers } from '../../../sdk/Servers'; -import { AssistServerFiltersAiAssistServerFiltersGetParams, AssistServerPriceFiltersAiAssistServerPriceFiltersGetParams, SearchServerPricesServerPricesGetParams, SearchServersServersGetParams, SearchStoragePricesStoragePricesGetParams, SearchStoragePricesTrafficPricesGetParams } from '../../../sdk/data-contracts'; +import { AssistServerFiltersAiAssistServerFiltersGetParams, AssistServerPriceFiltersAiAssistServerPriceFiltersGetParams, SearchServerPricesServerPricesGetParams, SearchServersServersGetParams, SearchStoragePricesStoragePricesGetParams, SearchTrafficPricesTrafficPricesGetParams } from '../../../sdk/data-contracts'; import { Table } from '../../../sdk/Table'; import { Ai } from '../../../sdk/Ai'; import { ServerPrices } from '../../../sdk/ServerPrices'; @@ -50,7 +50,7 @@ export class KeeperAPIService { public getServerSimilarServers(vendor: string, id: string, category: "family" | "specs" | "score", limit: number): Promise { - return this.ServerController.getSimilarServersServerVendorServerSimilarServersByNGet({vendor, server:id, by:category, n:limit}); + return this.ServerController.getSimilarServersServerVendorServerSimilarServersByNumGet({vendor, server: id, by: category, num: limit}); } public searchServers(query: SearchServersServersGetParams): Promise { @@ -109,8 +109,8 @@ export class KeeperAPIService { return this.StorageController.searchStoragePricesStoragePricesGet(query); } - public getTrafficPrices(query: SearchStoragePricesTrafficPricesGetParams): Promise { - return this.TrafficController.searchStoragePricesTrafficPricesGet(query); + public getTrafficPrices(query: SearchTrafficPricesTrafficPricesGetParams): Promise { + return this.TrafficController.searchTrafficPricesTrafficPricesGet(query); } } From 3f1114ec4b512b8a6c64de5411b4ea903ef25698 Mon Sep 17 00:00:00 2001 From: Palabola Date: Tue, 10 Sep 2024 22:36:10 +0200 Subject: [PATCH 15/66] dynamic title, needs research before use --- .../traffic-prices.component.html | 2 +- .../traffic-prices.component.ts | 43 ++++++++++++++++--- 2 files changed, 38 insertions(+), 7 deletions(-) diff --git a/src/app/pages/traffic-prices/traffic-prices.component.html b/src/app/pages/traffic-prices/traffic-prices.component.html index 14a8f10b..616d28d7 100644 --- a/src/app/pages/traffic-prices/traffic-prices.component.html +++ b/src/app/pages/traffic-prices/traffic-prices.component.html @@ -4,7 +4,7 @@
    -

    TODO

    +

    {{title}}

    TODO diff --git a/src/app/pages/traffic-prices/traffic-prices.component.ts b/src/app/pages/traffic-prices/traffic-prices.component.ts index 53b54bfc..73e3948b 100644 --- a/src/app/pages/traffic-prices/traffic-prices.component.ts +++ b/src/app/pages/traffic-prices/traffic-prices.component.ts @@ -59,6 +59,8 @@ export class TrafficPricesComponent { ]; + title = 'Instance Traffic prices'; + possibleColumns: TableColumn[] = [ { name: 'VENDOR', show: true, type: 'vendor' }, { name: 'REGION', show: true, type: 'region' }, @@ -84,11 +86,6 @@ export class TrafficPricesComponent { ngOnInit() { - this.SEOHandler.updateTitleAndMetaTags( - 'TODO - Spare Cores', - 'TODO DESCRIPTION', - 'cloud, server, instance, price, comparison, spot, sparecores'); - this.SEOHandler.updateThumbnail('https://sparecores.com/assets/images/media/server_list_image.png'); const parameters = this.openApiJson.paths['/traffic_prices'].get.parameters || []; @@ -118,6 +115,11 @@ export class TrafficPricesComponent { this.selectedCurrency = this.availableCurrencies.find((currency) => currency.slug === query.currency) || this.availableCurrencies[0]; } + this.SEOHandler.updateTitleAndMetaTags( + this.title, + 'TODO DESCRIPTION', + 'cloud, server, instance, price, comparison, spot, sparecores'); + this._searchTrafficPrices(); @@ -204,7 +206,6 @@ export class TrafficPricesComponent { this.isLoading = true; this.keeperAPI.getTrafficPrices(this.query).then((results: any) => { - console.log(results.body); this.traffic_prices = results.body; this.isLoading = false; this.totalPages = this.traffic_prices?.length === this.limit ? this.page + 1 : this.page; @@ -284,5 +285,35 @@ export class TrafficPricesComponent { return `${price_tier.price} ${this.selectedCurrency.slug}`; } + craftTitle(query: any) { + // TDB if this is useful + let prefix = 'Instance'; + let suffix = ''; + let base = 'Traffic prices'; + + let vendor = typeof query.vendor === 'string' ? query.vendor : (query.vendor?.length === 1 ? query.vendor[0] : undefined); + const direction = typeof query.direction === 'string' ? query.direction : (query.direction?.length === 1 ? query.direction[0] : undefined); + + if(vendor) { + vendor = vendor?.length <= 3 ? vendor.toUpperCase() : (vendor.charAt(0).toUpperCase() + vendor.slice(1)); + } + + if(vendor) { + if(direction) { + prefix = `${vendor} ${direction.charAt(0).toUpperCase() + direction.slice(1)}`; + } else { + prefix = `${vendor}`; + } + } else if(direction) { + prefix = `${direction.charAt(0).toUpperCase() + direction.slice(1)}`; + } + + if(query.monthly_traffic) { + suffix += ` for ${query.monthly_traffic}GB monthly traffic`; + } + + this.title = `${prefix} ${base} ${suffix}`; + } + } From 6455c53f5658d68ab96bd6028414201a80641d99 Mon Sep 17 00:00:00 2001 From: Palabola Date: Wed, 11 Sep 2024 14:04:37 +0200 Subject: [PATCH 16/66] missing filea --- sdk/TrafficPrices.ts | 45 ++++ sdk/TrafficPricesRoute.ts | 254 ++++++++++++++++++ .../traffic-prices.component.ts | 7 +- 3 files changed, 301 insertions(+), 5 deletions(-) create mode 100644 sdk/TrafficPrices.ts create mode 100644 sdk/TrafficPricesRoute.ts diff --git a/sdk/TrafficPrices.ts b/sdk/TrafficPrices.ts new file mode 100644 index 00000000..66110db4 --- /dev/null +++ b/sdk/TrafficPrices.ts @@ -0,0 +1,45 @@ +/* eslint-disable */ +/* tslint:disable */ +/* + * --------------------------------------------------------------- + * ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ## + * ## ## + * ## AUTHOR: acacode ## + * ## SOURCE: https://github.com/acacode/swagger-typescript-api ## + * --------------------------------------------------------------- + */ + +import { + HTTPValidationError, + SearchTrafficPricesTrafficPricesGetData, + SearchTrafficPricesTrafficPricesGetParams, +} from "./data-contracts"; +import { HttpClient, RequestParams } from "./http-client"; + +export class TrafficPrices { + http: HttpClient; + + constructor(http: HttpClient) { + this.http = http; + } + + /** + * No description + * + * @tags Query Resources + * @name SearchTrafficPricesTrafficPricesGet + * @summary Search Traffic Prices + * @request GET:/traffic_prices + */ + searchTrafficPricesTrafficPricesGet = ( + query: SearchTrafficPricesTrafficPricesGetParams, + params: RequestParams = {}, + ) => + this.http.request({ + path: `/traffic_prices`, + method: "GET", + query: query, + format: "json", + ...params, + }); +} diff --git a/sdk/TrafficPricesRoute.ts b/sdk/TrafficPricesRoute.ts new file mode 100644 index 00000000..7ce8db55 --- /dev/null +++ b/sdk/TrafficPricesRoute.ts @@ -0,0 +1,254 @@ +/* eslint-disable */ +/* tslint:disable */ +/* + * --------------------------------------------------------------- + * ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ## + * ## ## + * ## AUTHOR: acacode ## + * ## SOURCE: https://github.com/acacode/swagger-typescript-api ## + * --------------------------------------------------------------- + */ + +import { OrderDir, SearchTrafficPricesTrafficPricesGetData } from "./data-contracts"; + +export namespace TrafficPrices { + /** + * No description + * @tags Query Resources + * @name SearchTrafficPricesTrafficPricesGet + * @summary Search Traffic Prices + * @request GET:/traffic_prices + */ + export namespace SearchTrafficPricesTrafficPricesGet { + export type RequestParams = {}; + export type RequestQuery = { + /** + * Vendor id + * Identifier of the cloud provider vendor. + */ + vendor?: "aws" | "azure" | "gcp" | "hcloud"; + /** + * Green energy + * Filter for regions with kow CO2 emission only. + */ + green_energy?: boolean | null; + /** + * Region id + * Identifier of the region. + */ + regions?: + | "1000" + | "1100" + | "1210" + | "1220" + | "1230" + | "1250" + | "1260" + | "1270" + | "1280" + | "1290" + | "1300" + | "1310" + | "1320" + | "1330" + | "1340" + | "1350" + | "1360" + | "1370" + | "1380" + | "1390" + | "1410" + | "1420" + | "1430" + | "1440" + | "1450" + | "1460" + | "1470" + | "1480" + | "1490" + | "1510" + | "1520" + | "1530" + | "1540" + | "1550" + | "1560" + | "1570" + | "1580" + | "1590" + | "1600" + | "1610" + | "2" + | "3" + | "4" + | "5" + | "6" + | "7" + | "af-south-1" + | "ap-east-1" + | "ap-northeast-1" + | "ap-northeast-2" + | "ap-northeast-3" + | "ap-south-1" + | "ap-south-2" + | "ap-southeast-1" + | "ap-southeast-2" + | "ap-southeast-3" + | "ap-southeast-4" + | "australiacentral" + | "australiacentral2" + | "australiaeast" + | "australiasoutheast" + | "brazilsouth" + | "brazilsoutheast" + | "brazilus" + | "ca-central-1" + | "canadacentral" + | "canadaeast" + | "ca-west-1" + | "centralindia" + | "centralus" + | "centraluseuap" + | "cn-north-1" + | "cn-northwest-1" + | "eastasia" + | "eastus" + | "eastus2" + | "eastus2euap" + | "eastusstg" + | "eu-central-1" + | "eu-central-2" + | "eu-north-1" + | "eu-south-1" + | "eu-south-2" + | "eu-west-1" + | "eu-west-2" + | "eu-west-3" + | "francecentral" + | "francesouth" + | "germanynorth" + | "germanywestcentral" + | "il-central-1" + | "israelcentral" + | "italynorth" + | "japaneast" + | "japanwest" + | "jioindiacentral" + | "jioindiawest" + | "koreacentral" + | "koreasouth" + | "me-central-1" + | "me-south-1" + | "mexicocentral" + | "northcentralus" + | "northeurope" + | "norwayeast" + | "norwaywest" + | "polandcentral" + | "qatarcentral" + | "sa-east-1" + | "southafricanorth" + | "southafricawest" + | "southcentralus" + | "southcentralusstg" + | "southeastasia" + | "southindia" + | "spaincentral" + | "swedencentral" + | "switzerlandnorth" + | "switzerlandwest" + | "uaecentral" + | "uaenorth" + | "uksouth" + | "ukwest" + | "us-east-1" + | "us-east-2" + | "us-west-1" + | "us-west-2" + | "westcentralus" + | "westeurope" + | "westindia" + | "westus" + | "westus2" + | "westus3"; + /** + * Countries + * Filter for regions in the provided list of countries. + */ + countries?: + | "AE" + | "AU" + | "BE" + | "BH" + | "BR" + | "CA" + | "CH" + | "CL" + | "CN" + | "DE" + | "ES" + | "FI" + | "FR" + | "GB" + | "HK" + | "ID" + | "IE" + | "IL" + | "IN" + | "IT" + | "JP" + | "KR" + | "NL" + | "NO" + | "PL" + | "QA" + | "SA" + | "SE" + | "SG" + | "TW" + | "US" + | "ZA"; + /** + * Direction + * Direction of the Internet traffic. + */ + direction?: "inbound" | "outbound"; + /** + * Monthly Overall Traffic + * Overall amount of monthly traffic (GBs). + */ + monthly_traffic?: number | null; + /** + * Limit + * Maximum number of results. Set to -1 for unlimited. + * @default 50 + */ + limit?: number; + /** + * Page + * Page number. + */ + page?: number | null; + /** + * Order By + * Order by column. + * @default "price" + */ + order_by?: string; + /** + * Order Dir + * Order direction. + * @default "asc" + */ + order_dir?: OrderDir; + /** + * Currency + * Currency used for prices. + * @default "USD" + */ + currency?: string | null; + }; + export type RequestBody = never; + export type RequestHeaders = {}; + export type ResponseBody = SearchTrafficPricesTrafficPricesGetData; + } +} diff --git a/src/app/pages/traffic-prices/traffic-prices.component.ts b/src/app/pages/traffic-prices/traffic-prices.component.ts index 73e3948b..2844f474 100644 --- a/src/app/pages/traffic-prices/traffic-prices.component.ts +++ b/src/app/pages/traffic-prices/traffic-prices.component.ts @@ -1,5 +1,5 @@ import { CommonModule, isPlatformBrowser } from '@angular/common'; -import { Component, HostBinding, Inject, PLATFORM_ID } from '@angular/core'; +import { Component, HostBinding, Inject, OnInit, PLATFORM_ID } from '@angular/core'; import { FormsModule } from '@angular/forms'; import { RouterModule, ActivatedRoute, Params, Router } from '@angular/router'; import { LucideAngularModule } from 'lucide-angular'; @@ -21,7 +21,7 @@ import { TableColumn } from '../server-listing/server-listing.component'; templateUrl: './traffic-prices.component.html', styleUrl: './traffic-prices.component.scss' }) -export class TrafficPricesComponent { +export class TrafficPricesComponent implements OnInit { @HostBinding('attr.ngSkipHydration') ngSkipHydration = 'true'; @@ -279,9 +279,6 @@ export class TrafficPricesComponent { } getTieredPriceValue(price_tier: any) { - let from = price_tier.lower && !isNaN(price_tier.lower) ? (price_tier.lower / 1000).toFixed() : 0; - let to = price_tier.upper && !isNaN(price_tier.upper) && price_tier.upper !== "Infinity" ? (price_tier.upper / 1000).toFixed() : '∞'; - return `${price_tier.price} ${this.selectedCurrency.slug}`; } From e2def96cc6677559debae7c2e62725f94d0917da Mon Sep 17 00:00:00 2001 From: Palabola Date: Wed, 11 Sep 2024 14:09:02 +0200 Subject: [PATCH 17/66] storages ordering + fields --- src/app/pages/storages/storages.component.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/app/pages/storages/storages.component.ts b/src/app/pages/storages/storages.component.ts index 51e0df35..1544e355 100644 --- a/src/app/pages/storages/storages.component.ts +++ b/src/app/pages/storages/storages.component.ts @@ -66,9 +66,11 @@ export class StoragesComponent implements OnInit { { name: 'MIN', show: true, type: 'storage', key: 'storage.min_size' }, { name: 'MAX', show: true, type: 'storage', key: 'storage.max_size' }, { name: 'TYPE', show: true, type: 'text', key: 'storage.storage_type',}, - { name: 'PRICE', show: true, type: 'price' }, + { name: 'PRICE', show: true, type: 'price', orderField: 'price' }, { name: 'PRICE UPFRONT', show: false, type: 'price2', key: 'price_upfront' }, { name: 'PRICE TIERED', show: false, type: 'price2', key: 'price_tiered' }, + { name: 'MAX IOPS', show: false, type: 'text', key: 'storage.max_iops', orderField: 'max_iops' }, + { name: 'MAX THROUGHPUT', show: false, type: 'text', key: 'storage.max_throughput', orderField: 'max_throughput' }, ]; availableCurrencies: CurrencyOption[] = availableCurrencies; @@ -208,6 +210,7 @@ export class StoragesComponent implements OnInit { this.keeperAPI.getStoragePrices(this.query).then((results: any) => { this.storages = results.body; + console.log(this.storages); this.isLoading = false; this.totalPages = this.storages?.length === this.limit ? this.page + 1 : this.page; }); From 780db3e22f8ced41c04680ee4b86a66ef5f6bb13 Mon Sep 17 00:00:00 2001 From: Palabola Date: Wed, 11 Sep 2024 14:24:25 +0200 Subject: [PATCH 18/66] cleanup --- src/app/pages/storages/storages.component.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/app/pages/storages/storages.component.ts b/src/app/pages/storages/storages.component.ts index 1544e355..0376296c 100644 --- a/src/app/pages/storages/storages.component.ts +++ b/src/app/pages/storages/storages.component.ts @@ -210,7 +210,6 @@ export class StoragesComponent implements OnInit { this.keeperAPI.getStoragePrices(this.query).then((results: any) => { this.storages = results.body; - console.log(this.storages); this.isLoading = false; this.totalPages = this.storages?.length === this.limit ? this.page + 1 : this.page; }); From 4d4ac54dc6f69c36bffac7ecf211187508d07eac Mon Sep 17 00:00:00 2001 From: Palabola Date: Wed, 11 Sep 2024 15:47:43 +0200 Subject: [PATCH 19/66] review --- src/app/layout/header/header.component.html | 4 ++-- .../pages/storages/storages.component.html | 4 ++-- src/app/pages/storages/storages.component.ts | 12 +++++------- .../traffic-prices.component.html | 2 +- .../traffic-prices.component.ts | 19 ++++++++++--------- 5 files changed, 20 insertions(+), 21 deletions(-) diff --git a/src/app/layout/header/header.component.html b/src/app/layout/header/header.component.html index dbbacb32..ab001596 100644 --- a/src/app/layout/header/header.component.html +++ b/src/app/layout/header/header.component.html @@ -23,7 +23,7 @@
  • - Storages + Storage Prices
  • - TODO + Explore, search, and evaluate ingress (inbound) and egress (outbound) traffic pricing options and tiers of various cloud providers in the table below. Note that the pricing tiers usually apply at the account level. Enter the estimated monthly traffic (instead of the default 1 GB) to calculate pricing based on the known tiers.
    diff --git a/src/app/pages/traffic-prices/traffic-prices.component.ts b/src/app/pages/traffic-prices/traffic-prices.component.ts index 2844f474..d16dc2fd 100644 --- a/src/app/pages/traffic-prices/traffic-prices.component.ts +++ b/src/app/pages/traffic-prices/traffic-prices.component.ts @@ -25,7 +25,7 @@ export class TrafficPricesComponent implements OnInit { @HostBinding('attr.ngSkipHydration') ngSkipHydration = 'true'; - limit = 50; + limit = 10; page = 1; totalPages = 1; pageLimits = [10, 25, 50, 100, 250]; @@ -59,7 +59,7 @@ export class TrafficPricesComponent implements OnInit { ]; - title = 'Instance Traffic prices'; + title = 'Cloud Data Transfer Pricing'; possibleColumns: TableColumn[] = [ { name: 'VENDOR', show: true, type: 'vendor' }, @@ -67,7 +67,7 @@ export class TrafficPricesComponent implements OnInit { { name: 'DIRECTION', show: true, type: 'text', key: 'direction',}, { name: 'PRICE', show: true, type: 'price', orderField: 'price' }, { name: 'PRICE TOTAL', show: true, type: 'priceMonthly' }, - { name: 'PRICE TIERS', show: false, type: 'price_tiers' }, + { name: 'PRICE TIERS', show: true, type: 'price_tiers' }, ]; availableCurrencies: CurrencyOption[] = availableCurrencies; @@ -117,7 +117,7 @@ export class TrafficPricesComponent implements OnInit { this.SEOHandler.updateTitleAndMetaTags( this.title, - 'TODO DESCRIPTION', + 'Explore, search, and evaluate ingress (inbound) and egress (outbound) traffic pricing options and tiers of various cloud providers in the table below. Note that the pricing tiers usually apply at the account level. Enter the estimated monthly traffic (instead of the default 1 GB) to calculate pricing based on the known tiers.', 'cloud, server, instance, price, comparison, spot, sparecores'); @@ -268,12 +268,13 @@ export class TrafficPricesComponent implements OnInit { } getTieredPriceText(price_tier: any) { - let from = price_tier.lower && !isNaN(price_tier.lower) ? (price_tier.lower / 1000).toFixed() : '0'; - let to = price_tier.upper && !isNaN(price_tier.upper) && price_tier.upper !== "Infinity" ? (price_tier.upper / 1000).toFixed() : '∞'; + let from = price_tier.lower && !isNaN(price_tier.lower) ? + (price_tier.lower / 1000).toFixed(price_tier.lower < 1000 ? 2 : 0) : + '0'; + let to = price_tier.upper && !isNaN(price_tier.upper) && price_tier.upper !== "Infinity" ? + (price_tier.upper / 1000).toFixed(price_tier.upper < 1000 ? 2 : 0) : + '∞'; - // padd from and to to at least 3 charaters long - from = from.padStart(3, ' '); - to = to.padStart(3, ' '); return `${from} - ${to} TB:`; } From a4e3579851d7b581d12306b1d58d75cef9839d7b Mon Sep 17 00:00:00 2001 From: Palabola Date: Wed, 11 Sep 2024 20:01:46 +0200 Subject: [PATCH 20/66] review --- src/app/components/search-bar/search-bar.component.html | 1 + src/app/components/search-bar/search-bar.component.ts | 1 + src/app/layout/header/header.component.html | 4 ++-- src/app/pages/storages/storages.component.html | 1 + src/app/pages/traffic-prices/traffic-prices.component.html | 1 + 5 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/app/components/search-bar/search-bar.component.html b/src/app/components/search-bar/search-bar.component.html index d5f414f9..580e5944 100644 --- a/src/app/components/search-bar/search-bar.component.html +++ b/src/app/components/search-bar/search-bar.component.html @@ -1,6 +1,7 @@
    diff --git a/src/app/pages/traffic-prices/traffic-prices.component.html b/src/app/pages/traffic-prices/traffic-prices.component.html index 64fdb017..fd2dc528 100644 --- a/src/app/pages/traffic-prices/traffic-prices.component.html +++ b/src/app/pages/traffic-prices/traffic-prices.component.html @@ -25,6 +25,7 @@

    {{title}}

    [query]="query" [filterCategories]="filterCategories" [searchParameters]="searchParameters" + [showSearchPrompt]="false" (searchChanged)="searchBarChanged($event)" >
    From 837289ba04ce4c3dcbd2b68dae3ea6f8cd5eae4b Mon Sep 17 00:00:00 2001 From: "Gergely Daroczi (@daroczig)" Date: Thu, 12 Sep 2024 14:59:11 +0200 Subject: [PATCH 21/66] add link to server compare page from where the screenshots were taken --- src/assets/articles/benchmark-static-webserver.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/assets/articles/benchmark-static-webserver.md b/src/assets/articles/benchmark-static-webserver.md index d018a45f..9de1740e 100644 --- a/src/assets/articles/benchmark-static-webserver.md +++ b/src/assets/articles/benchmark-static-webserver.md @@ -175,3 +175,9 @@ requests per second, we have made both the raw and extrapolated values in our server details and server comparison pages. We have also recorded the average latency as reported by `wrk`, which might be useful depending on your use case. + +As always, you all the data we've collected is available in our +SQLite dumps and through `sparecores-data` Python package. +You can also browse the results directly on our homepage, e.g. by following +[this direct link](/compare?instances=W3sidmVuZG9yIjoiYXdzIiwic2VydmVyIjoiYzZnLmxhcmdlIn0seyJ2ZW5kb3IiOiJhd3MiLCJzZXJ2ZXIiOiJjN2cubGFyZ2UifSx7InZlbmRvciI6ImF3cyIsInNlcnZlciI6ImM1LmxhcmdlIn0seyJ2ZW5kb3IiOiJhd3MiLCJzZXJ2ZXIiOiJjN2kubGFyZ2UifV0%3D) +to compare `c6g.large`, `c7g.large`, `c5.large`, and `c7i.large` at AWS. From a2bd000c0ab899a034bcac2f8929af63fe69c2e2 Mon Sep 17 00:00:00 2001 From: "Gergely Daroczi (@daroczig)" Date: Thu, 12 Sep 2024 15:06:05 +0200 Subject: [PATCH 22/66] tldr to go ahead to server compare page --- src/assets/articles/benchmark-static-webserver.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/assets/articles/benchmark-static-webserver.md b/src/assets/articles/benchmark-static-webserver.md index 9de1740e..ac862153 100644 --- a/src/assets/articles/benchmark-static-webserver.md +++ b/src/assets/articles/benchmark-static-webserver.md @@ -49,6 +49,15 @@ We will follow-up on the redis use-case, as we have several database-related benchmarks to be covered in our roadmap, but wanted to quickly react on the HTTP proxy workload. +**TL;DR**: We've benchmarked the above-mentioned (and 1000+ more) +instances for static web server performance using `binserve` and +`wrk`. Results show `c7g.large` offering up to a 100% performance +boost over `c6g.large`, with variations depending on file size and +number of connections. If you're not interested in the detailed +methodology and textual analysis, feel free to skip ahead and explore +the raw data directly at the related +[server comparison page](/compare?instances=W3sidmVuZG9yIjoiYXdzIiwic2VydmVyIjoiYzZnLmxhcmdlIn0seyJ2ZW5kb3IiOiJhd3MiLCJzZXJ2ZXIiOiJjN2cubGFyZ2UifSx7InZlbmRvciI6ImF3cyIsInNlcnZlciI6ImM1LmxhcmdlIn0seyJ2ZW5kb3IiOiJhd3MiLCJzZXJ2ZXIiOiJjN2kubGFyZ2UifV0%3D). + ## Static Web Serving Probably the most popular webserver and reverse proxy nowadays is From a99cbaac87e5a63cc95c43812896bca0913cb3cd Mon Sep 17 00:00:00 2001 From: Palabola Date: Fri, 13 Sep 2024 09:33:29 +0200 Subject: [PATCH 23/66] SDK update --- sdk/Ai.ts | 21 ++++++++++++++ sdk/AiRoute.ts | 19 +++++++++++++ sdk/StoragePricesRoute.ts | 2 +- sdk/TrafficPricesRoute.ts | 4 ++- sdk/data-contracts.ts | 58 +++++++++++++++++++++++++++++++++++---- sdk/openapi.json | 2 +- 6 files changed, 98 insertions(+), 8 deletions(-) diff --git a/sdk/Ai.ts b/sdk/Ai.ts index 62ffaf89..e6405b84 100644 --- a/sdk/Ai.ts +++ b/sdk/Ai.ts @@ -16,6 +16,8 @@ import { AssistServerPriceFiltersAiAssistServerPriceFiltersGetParams, AssistStoragePriceFiltersAiAssistStoragePriceFiltersGetData, AssistStoragePriceFiltersAiAssistStoragePriceFiltersGetParams, + AssistTrafficPriceFiltersAiAssistTrafficPriceFiltersGetData, + AssistTrafficPriceFiltersAiAssistTrafficPriceFiltersGetParams, HTTPValidationError, } from "./data-contracts"; import { HttpClient, RequestParams } from "./http-client"; @@ -84,4 +86,23 @@ export class Ai { format: "json", ...params, }); + /** + * @description Extract TrafficPrice JSON filters from freetext. + * + * @tags AI + * @name AssistTrafficPriceFiltersAiAssistTrafficPriceFiltersGet + * @summary Assist Traffic Price Filters + * @request GET:/ai/assist_traffic_price_filters + */ + assistTrafficPriceFiltersAiAssistTrafficPriceFiltersGet = ( + query: AssistTrafficPriceFiltersAiAssistTrafficPriceFiltersGetParams, + params: RequestParams = {}, + ) => + this.http.request({ + path: `/ai/assist_traffic_price_filters`, + method: "GET", + query: query, + format: "json", + ...params, + }); } diff --git a/sdk/AiRoute.ts b/sdk/AiRoute.ts index 3fdb3743..f982d5c9 100644 --- a/sdk/AiRoute.ts +++ b/sdk/AiRoute.ts @@ -13,6 +13,7 @@ import { AssistServerFiltersAiAssistServerFiltersGetData, AssistServerPriceFiltersAiAssistServerPriceFiltersGetData, AssistStoragePriceFiltersAiAssistStoragePriceFiltersGetData, + AssistTrafficPriceFiltersAiAssistTrafficPriceFiltersGetData, } from "./data-contracts"; export namespace Ai { @@ -69,4 +70,22 @@ export namespace Ai { export type RequestHeaders = {}; export type ResponseBody = AssistStoragePriceFiltersAiAssistStoragePriceFiltersGetData; } + + /** + * @description Extract TrafficPrice JSON filters from freetext. + * @tags AI + * @name AssistTrafficPriceFiltersAiAssistTrafficPriceFiltersGet + * @summary Assist Traffic Price Filters + * @request GET:/ai/assist_traffic_price_filters + */ + export namespace AssistTrafficPriceFiltersAiAssistTrafficPriceFiltersGet { + export type RequestParams = {}; + export type RequestQuery = { + /** Text */ + text: string; + }; + export type RequestBody = never; + export type RequestHeaders = {}; + export type ResponseBody = AssistTrafficPriceFiltersAiAssistTrafficPriceFiltersGetData; + } } diff --git a/sdk/StoragePricesRoute.ts b/sdk/StoragePricesRoute.ts index 7a7ea6e1..85493aff 100644 --- a/sdk/StoragePricesRoute.ts +++ b/sdk/StoragePricesRoute.ts @@ -225,7 +225,7 @@ export namespace StoragePrices { /** * Limit * Maximum number of results. Set to -1 for unlimited. - * @default 50 + * @default 10 */ limit?: number; /** diff --git a/sdk/TrafficPricesRoute.ts b/sdk/TrafficPricesRoute.ts index 7ce8db55..4940c27a 100644 --- a/sdk/TrafficPricesRoute.ts +++ b/sdk/TrafficPricesRoute.ts @@ -210,17 +210,19 @@ export namespace TrafficPrices { /** * Direction * Direction of the Internet traffic. + * @default ["outbound"] */ direction?: "inbound" | "outbound"; /** * Monthly Overall Traffic * Overall amount of monthly traffic (GBs). + * @default 1 */ monthly_traffic?: number | null; /** * Limit * Maximum number of results. Set to -1 for unlimited. - * @default 50 + * @default 10 */ limit?: number; /** diff --git a/sdk/data-contracts.ts b/sdk/data-contracts.ts index c1d6afa2..803d62d1 100644 --- a/sdk/data-contracts.ts +++ b/sdk/data-contracts.ts @@ -261,6 +261,42 @@ export enum ComplianceFrameworks { Soc2T2 = "soc2t2", } +/** Countries */ +export enum Countries { + AE = "AE", + AU = "AU", + BE = "BE", + BH = "BH", + BR = "BR", + CA = "CA", + CH = "CH", + CL = "CL", + CN = "CN", + DE = "DE", + ES = "ES", + FI = "FI", + FR = "FR", + GB = "GB", + HK = "HK", + ID = "ID", + IE = "IE", + IL = "IL", + IN = "IN", + IT = "IT", + JP = "JP", + KR = "KR", + NL = "NL", + NO = "NO", + PL = "PL", + QA = "QA", + SA = "SA", + SE = "SE", + SG = "SG", + TW = "TW", + US = "US", + ZA = "ZA", +} + /** * Country * Country and continent mapping. @@ -2596,8 +2632,8 @@ export enum TrafficDirection { Outbound = "outbound", } -/** TrafficPriceWithPKs */ -export interface TrafficPriceWithPKs { +/** TrafficPriceWithPKsWithMonthlyTraffic */ +export interface TrafficPriceWithPKsWithMonthlyTraffic { /** * Vendor Id * Reference to the Vendor. @@ -2648,6 +2684,8 @@ export interface TrafficPriceWithPKs { observed_at?: string; region: RegionBaseWithPKs; vendor: VendorBase; + /** Price Monthly Traffic */ + price_monthly_traffic?: number | null; } /** ValidationError */ @@ -3077,6 +3115,14 @@ export interface AssistStoragePriceFiltersAiAssistStoragePriceFiltersGetParams { /** Response Assist Storage Price Filters Ai Assist Storage Price Filters Get */ export type AssistStoragePriceFiltersAiAssistStoragePriceFiltersGetData = object; +export interface AssistTrafficPriceFiltersAiAssistTrafficPriceFiltersGetParams { + /** Text */ + text: string; +} + +/** Response Assist Traffic Price Filters Ai Assist Traffic Price Filters Get */ +export type AssistTrafficPriceFiltersAiAssistTrafficPriceFiltersGetData = object; + export interface SearchRegionsRegionsGetParams { /** * Vendor id @@ -3697,7 +3743,7 @@ export interface SearchStoragePricesStoragePricesGetParams { /** * Limit * Maximum number of results. Set to -1 for unlimited. - * @default 50 + * @default 10 */ limit?: number; /** @@ -3917,17 +3963,19 @@ export interface SearchTrafficPricesTrafficPricesGetParams { /** * Direction * Direction of the Internet traffic. + * @default ["outbound"] */ direction?: "inbound" | "outbound"; /** * Monthly Overall Traffic * Overall amount of monthly traffic (GBs). + * @default 1 */ monthly_traffic?: number | null; /** * Limit * Maximum number of results. Set to -1 for unlimited. - * @default 50 + * @default 10 */ limit?: number; /** @@ -3956,4 +4004,4 @@ export interface SearchTrafficPricesTrafficPricesGetParams { } /** Response Search Traffic Prices Traffic Prices Get */ -export type SearchTrafficPricesTrafficPricesGetData = TrafficPriceWithPKs[]; +export type SearchTrafficPricesTrafficPricesGetData = TrafficPriceWithPKsWithMonthlyTraffic[]; diff --git a/sdk/openapi.json b/sdk/openapi.json index 0ebdcf0a..aa51d193 100644 --- a/sdk/openapi.json +++ b/sdk/openapi.json @@ -1 +1 @@ -{"openapi":"3.1.0","info":{"title":"Spare Cores (SC) Keeper","description":"\nAPI to search and serve data collected on cloud compute resources.\n\n## Licensing\n\nThis is a free service provided by the Spare Cores team, without any warranty.\nThe source code of the API is licensed under MPL-2.0, find more details at\n.\n\n## References\n\n- Spare Cores: \n- SC Keeper: \n- SC Crawler: \n- SC Data: \n","termsOfService":"https://sparecores.com/legal/terms-of-service","contact":{"name":"Spare Cores Team","email":"social@sparecores.com"},"license":{"name":"Mozilla Public License 2.0 (MPL 2.0)","url":"http://mozilla.org/MPL/2.0/"},"version":"0.3.0"},"paths":{"/healthcheck":{"get":{"tags":["Administrative endpoints"],"summary":"Healthcheck","description":"Quickly return package and database version information.","operationId":"healthcheck_healthcheck_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthcheckResponse"}}}}}}},"/table/benchmark":{"get":{"tags":["Table dumps"],"summary":"Table Benchmark","description":"Return the Benchmark table as-is, without filtering options or relationships resolved.","operationId":"table_benchmark_table_benchmark_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Benchmark"},"type":"array","title":"Response Table Benchmark Table Benchmark Get"}}}}}}},"/table/country":{"get":{"tags":["Table dumps"],"summary":"Table Country","description":"Return the Country table as-is, without filtering options or relationships resolved.","operationId":"table_country_table_country_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Country"},"type":"array","title":"Response Table Country Table Country Get"}}}}}}},"/table/compliance_framework":{"get":{"tags":["Table dumps"],"summary":"Table Compliance Frameworks","description":"Return the ComplianceFramework table as-is, without filtering options or relationships resolved.","operationId":"table_compliance_frameworks_table_compliance_framework_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ComplianceFramework"},"type":"array","title":"Response Table Compliance Frameworks Table Compliance Framework Get"}}}}}}},"/table/vendor":{"get":{"tags":["Table dumps"],"summary":"Table Vendor","description":"Return the Vendor table as-is, without filtering options or relationships resolved.","operationId":"table_vendor_table_vendor_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Vendor"},"type":"array","title":"Response Table Vendor Table Vendor Get"}}}}}}},"/table/region":{"get":{"tags":["Table dumps"],"summary":"Table Region","description":"Return the Region table as-is, without filtering options or relationships resolved.","operationId":"table_region_table_region_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Region"},"type":"array","title":"Response Table Region Table Region Get"}}}}}}},"/table/zone":{"get":{"tags":["Table dumps"],"summary":"Table Zone","description":"Return the Zone table as-is, without filtering options or relationships resolved.","operationId":"table_zone_table_zone_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Zone"},"type":"array","title":"Response Table Zone Table Zone Get"}}}}}}},"/table/server":{"get":{"tags":["Table dumps"],"summary":"Table Server","description":"Return the Server table as-is, without filtering options or relationships resolved.","operationId":"table_server_table_server_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Server"},"type":"array","title":"Response Table Server Table Server Get"}}}}}}},"/table/storage":{"get":{"tags":["Table dumps"],"summary":"Table Storage","description":"Return the Storage table as-is, without filtering options or relationships resolved.","operationId":"table_storage_table_storage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Storage"},"type":"array","title":"Response Table Storage Table Storage Get"}}}}}}},"/table/server/meta":{"get":{"tags":["Table metadata"],"summary":"Table Metadata Server","description":"Server table and column names and comments.","operationId":"table_metadata_server_table_server_meta_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerTableMetaData"}}}}}}},"/server/{vendor}/{server}":{"get":{"tags":["Server Details"],"summary":"Get Server","description":"Query a single server by its vendor id and either the server or, or its API reference.\n\nReturn dictionary includes all server fields, along\nwith the current prices per zone, and\nthe available benchmark scores.","operationId":"get_server_server__vendor___server__get","deprecated":true,"parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"Vendor ID.","title":"Vendor"},"description":"Vendor ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"Server ID or API reference.","title":"Server"},"description":"Server ID or API reference."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","title":"Currency"},"description":"Currency used for prices."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerPKsWithPrices"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v2/server/{vendor}/{server}":{"get":{"tags":["Server Details"],"summary":"Get Server Without Relations","description":"Query a single server by its vendor id and either the server id or its API reference.","operationId":"get_server_without_relations_v2_server__vendor___server__get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"A Vendor's ID.","title":"Vendor"},"description":"A Vendor's ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"A Server's ID or API reference.","title":"Server"},"description":"A Server's ID or API reference."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerBase"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}/similar_servers/{by}/{num}":{"get":{"tags":["Server Details"],"summary":"Get Similar Servers","description":"Search similar servers to the provided one.\n\nThe \"family\" method returns all servers from the same family of\nthe same vendor.\n\nThe \"specs\" approach will prioritize the number of\nGPUs, then CPUs, lastly the amount of memory.\n\nThe \"score\" method will find the servers with the closest\nperformance using the multi-core SCore.","operationId":"get_similar_servers_server__vendor___server__similar_servers__by___num__get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"Vendor ID.","title":"Vendor"},"description":"Vendor ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"Server ID or API reference.","title":"Server"},"description":"Server ID or API reference."},{"name":"by","in":"path","required":true,"schema":{"enum":["family","specs","score"],"type":"string","description":"Algorithm to look for similar servers.","title":"By"},"description":"Algorithm to look for similar servers."},{"name":"num","in":"path","required":true,"schema":{"type":"integer","maximum":100,"description":"Number of servers to get.","title":"Num"},"description":"Number of servers to get."},{"name":"benchmark_id","in":"query","required":false,"schema":{"type":"string","description":"Benchmark id to use as the main score for the server.","default":"stress_ng:cpu_all","title":"Benchmark Id"},"description":"Benchmark id to use as the main score for the server."},{"name":"benchmark_config","in":"query","required":false,"schema":{"type":"string","description":"Benchmark id to use as the main score for the server.","default":"","title":"Benchmark Config"},"description":"Benchmark id to use as the main score for the server."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPKs"},"title":"Response Get Similar Servers Server Vendor Server Similar Servers By Num Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}/prices":{"get":{"tags":["Server Details"],"summary":"Get Server Prices","description":"Query the current prices of a single server by its vendor id and server id.","operationId":"get_server_prices_server__vendor___server__prices_get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"A Vendor's ID.","title":"Vendor"},"description":"A Vendor's ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"A Server's ID or API reference.","title":"Server"},"description":"A Server's ID or API reference."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","title":"Currency"},"description":"Currency used for prices."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPrice"},"title":"Response Get Server Prices Server Vendor Server Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}/benchmarks":{"get":{"tags":["Server Details"],"summary":"Get Server Benchmarks","description":"Query the current benchmark scores of a single server.","operationId":"get_server_benchmarks_server__vendor___server__benchmarks_get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"A Vendor's ID.","title":"Vendor"},"description":"A Vendor's ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"A Server's ID or API reference.","title":"Server"},"description":"A Server's ID or API reference."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BenchmarkScore"},"title":"Response Get Server Benchmarks Server Vendor Server Benchmarks Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_server_filters":{"get":{"tags":["AI"],"summary":"Assist Server Filters","description":"Extract Server JSON filters from freetext.","operationId":"assist_server_filters_ai_assist_server_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Server Filters Ai Assist Server Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_server_price_filters":{"get":{"tags":["AI"],"summary":"Assist Server Price Filters","description":"Extract ServerPrice JSON filters from freetext.","operationId":"assist_server_price_filters_ai_assist_server_price_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Server Price Filters Ai Assist Server Price Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_storage_price_filters":{"get":{"tags":["AI"],"summary":"Assist Storage Price Filters","description":"Extract StoragePrice JSON filters from freetext.","operationId":"assist_storage_price_filters_ai_assist_storage_price_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Storage Price Filters Ai Assist Storage Price Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/regions":{"get":{"tags":["Query Resources"],"summary":"Search Regions","operationId":"search_regions_regions_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RegionPKs"},"title":"Response Search Regions Regions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/servers":{"get":{"tags":["Query Resources"],"summary":"Search Servers","operationId":"search_servers_servers_get","parameters":[{"name":"partial_name_or_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partial name or id","description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name.","category_id":"basic"},"description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name."},{"name":"vcpus_min","in":"query","required":false,"schema":{"type":"integer","maximum":256,"minimum":1,"title":"Minimum vCPUs","description":"Minimum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","default":1},"description":"Minimum number of virtual CPUs."},{"name":"architecture","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuArchitecture"}},{"type":"null"}],"title":"Processor architecture","description":"Processor architecture.","category_id":"processor","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"]},"description":"Processor architecture."},{"name":"benchmark_score_stressng_cpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"SCore","description":"Minimum stress-ng CPU workload score.","category_id":"processor"},"description":"Minimum stress-ng CPU workload score."},{"name":"memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum memory","description":"Minimum amount of memory in GBs.","category_id":"memory","unit":"GB","step":0.1},"description":"Minimum amount of memory in GBs."},{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active only","description":"Filter for active servers only.","category_id":"basic","default":true},"description":"Filter for active servers only."},{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"storage_size","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs).","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs)."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"gpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"GPU count","description":"Minimum number of GPUs.","category_id":"gpu","unit":"GPUs"},"description":"Minimum number of GPUs."},{"name":"gpu_memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum GPU memory","description":"Minimum amount of GPU memory (GB) in each GPU.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of GPU memory (GB) in each GPU."},{"name":"gpu_memory_total","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total GPU memory","description":"Minimum amount of total GPU memory (GBs) in all GPUs.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of total GPU memory (GBs) in all GPUs."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited.","default":50,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"vcpus","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPKs"},"title":"Response Search Servers Servers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server_prices":{"get":{"tags":["Query Resources"],"summary":"Search Server Prices","operationId":"search_server_prices_server_prices_get","parameters":[{"name":"partial_name_or_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partial name or id","description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name.","category_id":"basic"},"description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name."},{"name":"vcpus_min","in":"query","required":false,"schema":{"type":"integer","maximum":256,"minimum":1,"title":"Minimum vCPUs","description":"Minimum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","default":1},"description":"Minimum number of virtual CPUs."},{"name":"architecture","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuArchitecture"}},{"type":"null"}],"title":"Processor architecture","description":"Processor architecture.","category_id":"processor","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"]},"description":"Processor architecture."},{"name":"benchmark_score_stressng_cpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"SCore","description":"Minimum stress-ng CPU workload score.","category_id":"processor"},"description":"Minimum stress-ng CPU workload score."},{"name":"memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum memory","description":"Minimum amount of memory in GBs.","category_id":"memory","unit":"GB","step":0.1},"description":"Minimum amount of memory in GBs."},{"name":"price_max","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Maximum price","description":"Maximum price (USD/hr).","category_id":"price","step":0.0001},"description":"Maximum price (USD/hr)."},{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active only","description":"Filter for active servers only.","category_id":"basic","default":true},"description":"Filter for active servers only."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"allocation","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/Allocation"},{"type":"null"}],"title":"Allocation","description":"Server allocation method.","enum":["ondemand","reserved","spot"]},"description":"Server allocation method."},{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"Region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"storage_size","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs).","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs)."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"gpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"GPU count","description":"Minimum number of GPUs.","category_id":"gpu","unit":"GPUs"},"description":"Minimum number of GPUs."},{"name":"gpu_memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum GPU memory","description":"Minimum amount of GPU memory (GB) in each GPU.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of GPU memory (GB) in each GPU."},{"name":"gpu_memory_total","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total GPU memory","description":"Minimum amount of total GPU memory (GBs) in all GPUs.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of total GPU memory (GBs) in all GPUs."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":250,"description":"Maximum number of results.","default":50,"title":"Limit"},"description":"Maximum number of results."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","default":"USD","title":"Currency"},"description":"Currency used for prices."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPriceWithPKs"},"title":"Response Search Server Prices Server Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/storage_prices":{"get":{"tags":["Query Resources"],"summary":"Search Storage Prices","operationId":"search_storage_prices_storage_prices_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"storage_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs).","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs)."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"Region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited.","default":50,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","default":"USD","title":"Currency"},"description":"Currency used for prices."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StoragePriceWithPKs"},"title":"Response Search Storage Prices Storage Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/traffic_prices":{"get":{"tags":["Query Resources"],"summary":"Search Traffic Prices","operationId":"search_traffic_prices_traffic_prices_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"Region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"direction","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Direction","description":"Direction of the Internet traffic.","category_id":"traffic","enum":["inbound","outbound"]},"description":"Direction of the Internet traffic."},{"name":"monthly_traffic","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Monthly Overall Traffic","description":"Overall amount of monthly traffic (GBs).","category_id":"traffic","unit":"GB","step":1},"description":"Overall amount of monthly traffic (GBs)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited.","default":50,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","default":"USD","title":"Currency"},"description":"Currency used for prices."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TrafficPriceWithPKs"},"title":"Response Search Traffic Prices Traffic Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Allocation":{"type":"string","enum":["ondemand","reserved","spot"],"title":"Allocation","description":"Server allocation options."},"Benchmark":{"properties":{"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Unique identifier of a specific Benchmark."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"framework":{"type":"string","title":"Framework","description":"The name of the benchmark framework/software/tool used."},"config_fields":{"type":"object","title":"Config Fields","description":"A dictionary of descriptions on the framework-specific config options, e.g. {\"bandwidth\": \"Memory amount to use for compression in MB.\"}.","default":{}},"measurement":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Measurement","description":"The name of measurement recoreded in the benchmark."},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit","description":"Optional unit of measurement for the benchmark score."},"higher_is_better":{"type":"boolean","title":"Higher Is Better","description":"If higher benchmark score means better performance, or vica versa.","default":true},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["benchmark_id","name","description","framework"],"title":"Benchmark","description":"Benchmark scenario definitions.\n\nAttributes:\n benchmark_id (str): Unique identifier of a specific Benchmark.\n name (str): Human-friendly name.\n description (typing.Optional[str]): Short description.\n framework (str): The name of the benchmark framework/software/tool used.\n config_fields (dict): A dictionary of descriptions on the framework-specific config options, e.g. {\"bandwidth\": \"Memory amount to use for compression in MB.\"}.\n measurement (typing.Optional[str]): The name of measurement recoreded in the benchmark.\n unit (typing.Optional[str]): Optional unit of measurement for the benchmark score.\n higher_is_better (bool): If higher benchmark score means better performance, or vica versa.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"benchmark_id":"geekbench:hdr","config_fields":{"cores":"Single-Core or Multi-Core peformance tests.","framework_version":"Version number of geekbench."},"description":"Blends six 16MP SDR photos to create a single HDR photo, using a recovery process and radiance map construction (Debevec and Malik 1997), and a tone mapping algorithm (Reinhard and Devlin 2005).The score is calibrated against a baseline score of 2,500 (Dell Precision 3460 with a Core i7-12700 processor) as per the Geekbench 6 Benchmark Internals.","framework":"geekbench","higher_is_better":true,"measurement":"hdr","name":"Geekbench: HDR","observed_at":"2024-09-10T08:04:02.205686","status":"active"}]},"BenchmarkScore":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Reference to the Benchmark."},"config":{"type":"object","title":"Config","description":"Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}","default":{}},"score":{"type":"number","title":"Score","description":"The resulting score of the benchmark."},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Optional note, comment or context on the benchmark score."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","benchmark_id","score"],"title":"BenchmarkScore","description":"Results of running Benchmark scenarios on Servers.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n server_id (str): Reference to the Server.\n benchmark_id (str): Reference to the Benchmark.\n config (sc_crawler.table_fields.HashableDict | dict): Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}\n score (float): The resulting score of the benchmark.\n note (typing.Optional[str]): Optional note, comment or context on the benchmark score.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation."},"BenchmarkScoreBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Reference to the Benchmark."},"config":{"type":"object","title":"Config","description":"Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}","default":{}},"score":{"type":"number","title":"Score","description":"The resulting score of the benchmark."},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Optional note, comment or context on the benchmark score."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","benchmark_id","score"],"title":"BenchmarkScoreBase"},"ComplianceFramework":{"properties":{"compliance_framework_id":{"type":"string","title":"Compliance Framework Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"abbreviation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abbreviation","description":"Short abbreviation of the Framework name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Description of the framework in a few paragrahs, outlining key features and characteristics for reference."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Framework's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage with more information on the Framework."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["compliance_framework_id","name","abbreviation","description"],"title":"ComplianceFramework","description":"List of Compliance Frameworks, such as HIPAA or SOC 2 Type 1.\n\nAttributes:\n compliance_framework_id (str): Unique identifier.\n name (str): Human-friendly name.\n abbreviation (typing.Optional[str]): Short abbreviation of the Framework name.\n description (typing.Optional[str]): Description of the framework in a few paragrahs, outlining key features and characteristics for reference.\n logo (typing.Optional[str]): Publicly accessible URL to the image of the Framework's logo.\n homepage (typing.Optional[str]): Public homepage with more information on the Framework.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"abbreviation":"HIPAA","compliance_framework_id":"hipaa","description":"HIPAA (Health Insurance Portability and Accountability Act) is a U.S. federal law designed to safeguard the privacy and security of individuals' health information, establishing standards for its protection and regulating its use in the healthcare industry.","homepage":"https://www.cdc.gov/phlp/publications/topic/hipaa.html","name":"The Health Insurance Portability and Accountability Act","observed_at":"2024-09-10T08:04:02.203559","status":"active"}]},"ComplianceFrameworks":{"type":"string","enum":["hipaa","iso27001","soc2t2"],"title":"ComplianceFrameworks"},"Country":{"properties":{"country_id":{"type":"string","title":"Country Id","description":"Country code by ISO 3166 alpha-2."},"continent":{"type":"string","title":"Continent","description":"Continent name."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["country_id","continent"],"title":"Country","description":"Country and continent mapping.\n\nAttributes:\n country_id (str): Country code by ISO 3166 alpha-2.\n continent (str): Continent name.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"continent":"Asia","country_id":"AE","observed_at":"2024-09-10T08:04:02.201862","status":"active"}]},"CountryBase":{"properties":{"country_id":{"type":"string","title":"Country Id","description":"Country code by ISO 3166 alpha-2."},"continent":{"type":"string","title":"Continent","description":"Continent name."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["country_id","continent"],"title":"CountryBase"},"Cpu":{"properties":{"manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Manufacturer"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cores"},"threads":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Threads"},"l1_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L1 Cache Size"},"l2_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L2 Cache Size"},"l3_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L3 Cache Size"},"microcode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Microcode"},"capabilities":{"items":{"type":"string"},"type":"array","title":"Capabilities","default":[]},"bugs":{"items":{"type":"string"},"type":"array","title":"Bugs","default":[]},"bogomips":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Bogomips"}},"type":"object","title":"Cpu","description":"CPU details."},"CpuAllocation":{"type":"string","enum":["Shared","Burstable","Dedicated"],"title":"CpuAllocation","description":"CPU allocation methods at cloud vendors."},"CpuArchitecture":{"type":"string","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"],"title":"CpuArchitecture","description":"CPU architectures."},"DdrGeneration":{"type":"string","enum":["DDR3","DDR4","DDR5"],"title":"DdrGeneration","description":"Generation of the DDR SDRAM."},"Disk":{"properties":{"size":{"type":"integer","title":"Size","default":0},"storage_type":{"$ref":"#/components/schemas/StorageType"}},"type":"object","required":["storage_type"],"title":"Disk","description":"Disk definition based on size and storage type."},"Gpu":{"properties":{"manufacturer":{"type":"string","title":"Manufacturer"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"memory":{"type":"integer","title":"Memory"},"firmware_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firmware Version"},"bios_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bios Version"},"graphics_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Graphics Clock"},"sm_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sm Clock"},"mem_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Mem Clock"},"video_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Video Clock"}},"type":"object","required":["manufacturer","memory"],"title":"Gpu","description":"GPU accelerator details."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HealthcheckResponse":{"properties":{"packages":{"type":"object","title":"Packages"},"database_last_updated":{"type":"number","title":"Database Last Updated"},"database_hash":{"type":"string","title":"Database Hash"},"database_alembic_version":{"type":"string","title":"Database Alembic Version"}},"type":"object","required":["packages","database_last_updated","database_hash","database_alembic_version"],"title":"HealthcheckResponse","examples":[{"database_alembic_version":"bar","database_hash":"foo","database_last_updated":1725956803.1294034,"packages":{"sparecores-crawler":"1.0.0"}}]},"IdNameAndDescriptionAndCategory":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"id":{"type":"string","title":"Id"},"category":{"type":"string","title":"Category"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"}},"type":"object","required":["name","description","id","category","unit"],"title":"IdNameAndDescriptionAndCategory"},"NameAndDescription":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"}},"type":"object","required":["name","description"],"title":"NameAndDescription"},"OrderDir":{"type":"string","enum":["asc","desc"],"title":"OrderDir"},"PriceTier":{"properties":{"lower":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Lower"},"upper":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Upper"},"price":{"type":"number","title":"Price"}},"type":"object","required":["lower","upper","price"],"title":"PriceTier","description":"Price tier definition.\n\nAs standard JSON does not support Inf, NaN etc values,\nthose should be passed as string, e.g. for the upper bound.\n\nSee [float_inf_to_str][sc_crawler.utils.float_inf_to_str] for\nconverting an infinite numeric value into \"Infinity\"."},"PriceUnit":{"type":"string","enum":["year","month","hour","GiB","GB","GB/month"],"title":"PriceUnit","description":"Supported units for the price tables."},"Region":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id"],"title":"Region","description":"Regions of Vendors.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n aliases (typing.List[str]): List of other commonly used names for the same Region.\n country_id (str): Reference to the Country, where the Region is located.\n state (typing.Optional[str]): Optional state/administrative area of the Region's location within the Country.\n city (typing.Optional[str]): Optional city name of the Region's location.\n address_line (typing.Optional[str]): Optional address line of the Region's location.\n zip_code (typing.Optional[str]): Optional ZIP code of the Region's location.\n lon (typing.Optional[float]): Longitude coordinate of the Region's known or approximate location.\n lat (typing.Optional[float]): Latitude coordinate of the Region's known or approximate location.\n founding_year (typing.Optional[int]): 4-digit year when the Region was founded.\n green_energy (typing.Optional[bool]): If the Region is 100% powered by renewable energy.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-10T07:14:14.382422","region_id":"af-south-1","status":"active","vendor_id":"aws"}]},"RegionBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id"],"title":"RegionBase"},"RegionBaseWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"country":{"$ref":"#/components/schemas/CountryBase"}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id","country"],"title":"RegionBaseWithPKs"},"RegionPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"vendor":{"$ref":"#/components/schemas/VendorBase"}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id","vendor"],"title":"RegionPKs","examples":[{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-10T07:14:14.382422","region_id":"af-south-1","status":"active","vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-10T08:04:02.207124","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws"}]},"Regions":{"type":"string","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"],"title":"Regions"},"Server":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"Server","description":"Server types.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n server_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n description (typing.Optional[str]): Short description.\n family (typing.Optional[str]): Server family, e.g. General-purpose machine (GCP), or M5g (AWS).\n vcpus (int): Default number of virtual CPUs (vCPU) of the server.\n hypervisor (typing.Optional[str]): Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated.\n cpu_allocation (CpuAllocation): Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated.\n cpu_cores (typing.Optional[int]): Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled.\n cpu_speed (typing.Optional[float]): Vendor-reported maximum CPU clock speed (GHz).\n cpu_architecture (CpuArchitecture): CPU architecture (arm64, arm64_mac, i386, or x86_64).\n cpu_manufacturer (typing.Optional[str]): The manufacturer of the primary processor, e.g. Intel or AMD.\n cpu_family (typing.Optional[str]): The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9.\n cpu_model (typing.Optional[str]): The model number of the primary processor, e.g. 9750H.\n cpu_l1_cache (typing.Optional[int]): L1 cache size (byte).\n cpu_l2_cache (typing.Optional[int]): L2 cache size (byte).\n cpu_l3_cache (typing.Optional[int]): L3 cache size (byte).\n cpu_flags (typing.List[str]): CPU features/flags.\n cpus (typing.List[sc_crawler.table_fields.Cpu]): JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.\n memory_amount (int): RAM amount (MiB).\n memory_generation (typing.Optional[sc_crawler.table_fields.DdrGeneration]): Generation of the DDR SDRAM, e.g. DDR4 or DDR5.\n memory_speed (typing.Optional[int]): DDR SDRAM clock rate (Mhz).\n memory_ecc (typing.Optional[bool]): If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption.\n gpu_count (int): Number of GPU accelerator(s).\n gpu_memory_min (typing.Optional[int]): Memory (MiB) allocated to the lowest-end GPU accelerator.\n gpu_memory_total (typing.Optional[int]): Overall memory (MiB) allocated to all the GPU accelerator(s).\n gpu_manufacturer (typing.Optional[str]): The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD.\n gpu_family (typing.Optional[str]): The product family of the primary GPU accelerator, e.g. Turing.\n gpu_model (typing.Optional[str]): The model number of the primary GPU accelerator, e.g. Tesla T4.\n gpus (typing.List[sc_crawler.table_fields.Gpu]): JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.\n storage_size (int): Overall size (GB) of the disk(s).\n storage_type (typing.Optional[sc_crawler.table_fields.StorageType]): Primary disk type, e.g. HDD, SSD, NVMe SSD, or network).\n storages (typing.List[sc_crawler.table_fields.Disk]): JSON array of disks attached to the server, including the size (MiB) and type of each disk.\n network_speed (typing.Optional[float]): The baseline network performance (Gbps) of the network card.\n inbound_traffic (float): Amount of complimentary inbound traffic (GB) per month.\n outbound_traffic (float): Amount of complimentary outbound traffic (GB) per month.\n ipv4 (int): Number of complimentary IPv4 address(es).\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-10T07:15:04.551358","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"}]},"ServerBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"ServerBase"},"ServerPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"},"vendor":{"$ref":"#/components/schemas/VendorBase"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description","vendor"],"title":"ServerPKs","examples":[{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-10T07:15:04.551358","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"}]},"ServerPKsWithPrices":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"prices":{"items":{"$ref":"#/components/schemas/ServerPricePKs"},"type":"array","title":"Prices"},"benchmark_scores":{"items":{"$ref":"#/components/schemas/BenchmarkScoreBase"},"type":"array","title":"Benchmark Scores"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description","vendor","prices","benchmark_scores"],"title":"ServerPKsWithPrices","examples":[{"api_reference":"a1.2xlarge","benchmark_scores":[{"benchmark_id":"geekbench:hdr","config_fields":{"cores":"Single-Core or Multi-Core peformance tests.","framework_version":"Version number of geekbench."},"description":"Blends six 16MP SDR photos to create a single HDR photo, using a recovery process and radiance map construction (Debevec and Malik 1997), and a tone mapping algorithm (Reinhard and Devlin 2005).The score is calibrated against a baseline score of 2,500 (Dell Precision 3460 with a Core i7-12700 processor) as per the Geekbench 6 Benchmark Internals.","framework":"geekbench","higher_is_better":true,"measurement":"hdr","name":"Geekbench: HDR","observed_at":"2024-09-10T08:04:02.205686","status":"active"}],"cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-10T07:15:04.551358","outbound_traffic":0.0,"price":7,"prices":[{"allocation":"spot","currency":"USD","observed_at":"2024-09-10T05:47:34","operating_system":"Linux","price":0.07,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-10T07:14:14.382422","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-west-2","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-10T07:14:17.747605","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"usw2-az2"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-10T06:32:49","operating_system":"Linux","price":0.0749,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-10T07:14:14.382422","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-west-2","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-10T07:14:17.747605","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"usw2-az3"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-10T06:01:36","operating_system":"Linux","price":0.0932,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-10T07:14:14.382422","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"ap-northeast-1","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-10T07:14:17.747605","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"apne1-az4"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-10T04:16:20","operating_system":"Linux","price":0.0951,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-10T07:14:14.382422","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"eu-central-1","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-10T07:14:17.747605","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"euc1-az2"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-10T04:17:31","operating_system":"Linux","price":0.1016,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-10T07:14:14.382422","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-east-2","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-10T07:14:17.747605","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"use2-az2"}],"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-10T08:04:02.207124","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws"}]},"ServerPrice":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"allOf":[{"$ref":"#/components/schemas/Allocation"}],"description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price"],"title":"ServerPrice","description":"Server type prices per Region and Allocation method.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Reference to the Region.\n zone_id (str): Reference to the Zone.\n server_id (str): Reference to the Server.\n operating_system (str): Operating System.\n allocation (Allocation): Allocation method, e.g. on-demand or spot.\n unit (PriceUnit): Billing unit of the pricing model.\n price (float): Actual price of a billing unit.\n price_upfront (float): Price to be paid when setting up the resource.\n price_tiered (typing.List[sc_crawler.table_fields.PriceTier]): List of pricing tiers with min/max thresholds and actual prices.\n currency (str): Currency of the prices.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation."},"ServerPricePKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"allOf":[{"$ref":"#/components/schemas/Allocation"}],"description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBase"},"zone":{"$ref":"#/components/schemas/ZoneBase"}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price","region","zone"],"title":"ServerPricePKs"},"ServerPriceWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"allOf":[{"$ref":"#/components/schemas/Allocation"}],"description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"vendor":{"$ref":"#/components/schemas/VendorBase"},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"zone":{"$ref":"#/components/schemas/ZoneBase"},"server":{"$ref":"#/components/schemas/ServerWithScore"}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price","vendor","region","zone","server"],"title":"ServerPriceWithPKs","examples":[{"allocation":"spot","currency":"USD","observed_at":"2024-09-10T05:47:34","operating_system":"Linux","price":0.07,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country":{"continent":"Asia","country_id":"AE","observed_at":"2024-09-10T08:04:02.201862","status":"active"},"country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-10T07:14:14.382422","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-west-2","server":{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-10T07:15:04.551358","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"},"server_id":"a1.2xlarge","status":"active","unit":"hour","vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-10T08:04:02.207124","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-10T07:14:17.747605","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"usw2-az2"}]},"ServerTableMetaData":{"properties":{"table":{"$ref":"#/components/schemas/NameAndDescription"},"fields":{"items":{"$ref":"#/components/schemas/IdNameAndDescriptionAndCategory"},"type":"array","title":"Fields"}},"type":"object","required":["table","fields"],"title":"ServerTableMetaData"},"ServerWithScore":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"ServerWithScore"},"Status":{"type":"string","enum":["active","inactive"],"title":"Status","description":"Last known status of a resource, e.g. active or inactive."},"Storage":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"storage_id":{"type":"string","title":"Storage Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"storage_type":{"allOf":[{"$ref":"#/components/schemas/StorageType"}],"description":"High-level category of the storage, e.g. HDD or SDD."},"max_iops":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Iops","description":"Maximum Input/Output Operations Per Second."},"max_throughput":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Throughput","description":"Maximum Throughput (MiB/s)."},"min_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Size","description":"Minimum required size (GiB)."},"max_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Size","description":"Maximum possible size (GiB)."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","storage_id","name","description","storage_type"],"title":"Storage","description":"Flexible storage options that can be attached to a Server.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n storage_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n description (typing.Optional[str]): Short description.\n storage_type (StorageType): High-level category of the storage, e.g. HDD or SDD.\n max_iops (typing.Optional[int]): Maximum Input/Output Operations Per Second.\n max_throughput (typing.Optional[int]): Maximum Throughput (MiB/s).\n min_size (typing.Optional[int]): Minimum required size (GiB).\n max_size (typing.Optional[int]): Maximum possible size (GiB).\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"description":"SSD-backed","max_iops":16000,"max_size":16384,"max_throughput":250,"min_size":1,"name":"General Purpose","observed_at":"2024-09-10T07:17:03.734642","status":"active","storage_id":"gp2","storage_type":"ssd","vendor_id":"aws"}]},"StorageBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"storage_id":{"type":"string","title":"Storage Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"storage_type":{"allOf":[{"$ref":"#/components/schemas/StorageType"}],"description":"High-level category of the storage, e.g. HDD or SDD."},"max_iops":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Iops","description":"Maximum Input/Output Operations Per Second."},"max_throughput":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Throughput","description":"Maximum Throughput (MiB/s)."},"min_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Size","description":"Minimum required size (GiB)."},"max_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Size","description":"Maximum possible size (GiB)."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","storage_id","name","description","storage_type"],"title":"StorageBase"},"StoragePriceWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"storage_id":{"type":"string","title":"Storage Id","description":"Reference to the Storage."},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"storage":{"$ref":"#/components/schemas/StorageBase"}},"type":"object","required":["vendor_id","region_id","storage_id","unit","price","region","vendor","storage"],"title":"StoragePriceWithPKs"},"StorageType":{"type":"string","enum":["hdd","ssd","nvme ssd","network"],"title":"StorageType","description":"Type of a storage, e.g. HDD or SSD."},"TrafficDirection":{"type":"string","enum":["inbound","outbound"],"title":"TrafficDirection","description":"Direction of the network traffic."},"TrafficPriceWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"direction":{"allOf":[{"$ref":"#/components/schemas/TrafficDirection"}],"description":"Direction of the traffic: inbound or outbound."},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"vendor":{"$ref":"#/components/schemas/VendorBase"}},"type":"object","required":["vendor_id","region_id","direction","unit","price","region","vendor"],"title":"TrafficPriceWithPKs"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"Vendor":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Vendor's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage of the Vendor."},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Vendor's main headquarter is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Vendor's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Vendor's main location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Vendor's main location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Vendor's main location."},"founding_year":{"type":"integer","title":"Founding Year","description":"4-digit year when the Vendor was founded."},"status_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Page","description":"Public status page of the Vendor."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","name","country_id","founding_year"],"title":"Vendor","description":"Compute resource vendors, such as cloud and server providers.\n\n Examples:\n >>> from sc_crawler.tables import Vendor\n >>> from sc_crawler.lookup import countries\n >>> aws = Vendor(vendor_id='aws', name='Amazon Web Services', homepage='https://aws.amazon.com', country=countries[\"US\"], founding_year=2002)\n >>> aws\n Vendor(vendor_id='aws'...\n >>> from sc_crawler import vendors\n >>> vendors.aws\n Vendor(vendor_id='aws'...\n \n\nAttributes:\n vendor_id (str): Unique identifier.\n name (str): Human-friendly name.\n logo (typing.Optional[str]): Publicly accessible URL to the image of the Vendor's logo.\n homepage (typing.Optional[str]): Public homepage of the Vendor.\n country_id (str): Reference to the Country, where the Vendor's main headquarter is located.\n state (typing.Optional[str]): Optional state/administrative area of the Vendor's location within the Country.\n city (typing.Optional[str]): Optional city name of the Vendor's main location.\n address_line (typing.Optional[str]): Optional address line of the Vendor's main location.\n zip_code (typing.Optional[str]): Optional ZIP code of the Vendor's main location.\n founding_year (int): 4-digit year when the Vendor was founded.\n status_page (typing.Optional[str]): Public status page of the Vendor.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-10T08:04:02.207124","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"}]},"VendorBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Vendor's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage of the Vendor."},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Vendor's main headquarter is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Vendor's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Vendor's main location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Vendor's main location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Vendor's main location."},"founding_year":{"type":"integer","title":"Founding Year","description":"4-digit year when the Vendor was founded."},"status_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Page","description":"Public status page of the Vendor."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","name","country_id","founding_year"],"title":"VendorBase"},"Vendors":{"type":"string","enum":["aws","azure","gcp","hcloud"],"title":"Vendors"},"Zone":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","name","api_reference","display_name"],"title":"Zone","description":"Availability zones of Regions.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Reference to the Region.\n zone_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-10T07:14:17.747605","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"}]},"ZoneBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","name","api_reference","display_name"],"title":"ZoneBase"}}}} +{"openapi":"3.1.0","info":{"title":"Spare Cores (SC) Keeper","description":"\nAPI to search and serve data collected on cloud compute resources.\n\n## Licensing\n\nThis is a free service provided by the Spare Cores team, without any warranty.\nThe source code of the API is licensed under MPL-2.0, find more details at\n.\n\n## References\n\n- Spare Cores: \n- SC Keeper: \n- SC Crawler: \n- SC Data: \n","termsOfService":"https://sparecores.com/legal/terms-of-service","contact":{"name":"Spare Cores Team","email":"social@sparecores.com"},"license":{"name":"Mozilla Public License 2.0 (MPL 2.0)","url":"http://mozilla.org/MPL/2.0/"},"version":"0.3.0"},"paths":{"/healthcheck":{"get":{"tags":["Administrative endpoints"],"summary":"Healthcheck","description":"Quickly return package and database version information.","operationId":"healthcheck_healthcheck_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthcheckResponse"}}}}}}},"/table/benchmark":{"get":{"tags":["Table dumps"],"summary":"Table Benchmark","description":"Return the Benchmark table as-is, without filtering options or relationships resolved.","operationId":"table_benchmark_table_benchmark_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Benchmark"},"type":"array","title":"Response Table Benchmark Table Benchmark Get"}}}}}}},"/table/country":{"get":{"tags":["Table dumps"],"summary":"Table Country","description":"Return the Country table as-is, without filtering options or relationships resolved.","operationId":"table_country_table_country_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Country"},"type":"array","title":"Response Table Country Table Country Get"}}}}}}},"/table/compliance_framework":{"get":{"tags":["Table dumps"],"summary":"Table Compliance Frameworks","description":"Return the ComplianceFramework table as-is, without filtering options or relationships resolved.","operationId":"table_compliance_frameworks_table_compliance_framework_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ComplianceFramework"},"type":"array","title":"Response Table Compliance Frameworks Table Compliance Framework Get"}}}}}}},"/table/vendor":{"get":{"tags":["Table dumps"],"summary":"Table Vendor","description":"Return the Vendor table as-is, without filtering options or relationships resolved.","operationId":"table_vendor_table_vendor_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Vendor"},"type":"array","title":"Response Table Vendor Table Vendor Get"}}}}}}},"/table/region":{"get":{"tags":["Table dumps"],"summary":"Table Region","description":"Return the Region table as-is, without filtering options or relationships resolved.","operationId":"table_region_table_region_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Region"},"type":"array","title":"Response Table Region Table Region Get"}}}}}}},"/table/zone":{"get":{"tags":["Table dumps"],"summary":"Table Zone","description":"Return the Zone table as-is, without filtering options or relationships resolved.","operationId":"table_zone_table_zone_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Zone"},"type":"array","title":"Response Table Zone Table Zone Get"}}}}}}},"/table/server":{"get":{"tags":["Table dumps"],"summary":"Table Server","description":"Return the Server table as-is, without filtering options or relationships resolved.","operationId":"table_server_table_server_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Server"},"type":"array","title":"Response Table Server Table Server Get"}}}}}}},"/table/storage":{"get":{"tags":["Table dumps"],"summary":"Table Storage","description":"Return the Storage table as-is, without filtering options or relationships resolved.","operationId":"table_storage_table_storage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Storage"},"type":"array","title":"Response Table Storage Table Storage Get"}}}}}}},"/table/server/meta":{"get":{"tags":["Table metadata"],"summary":"Table Metadata Server","description":"Server table and column names and comments.","operationId":"table_metadata_server_table_server_meta_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerTableMetaData"}}}}}}},"/server/{vendor}/{server}":{"get":{"tags":["Server Details"],"summary":"Get Server","description":"Query a single server by its vendor id and either the server or, or its API reference.\n\nReturn dictionary includes all server fields, along\nwith the current prices per zone, and\nthe available benchmark scores.","operationId":"get_server_server__vendor___server__get","deprecated":true,"parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"Vendor ID.","title":"Vendor"},"description":"Vendor ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"Server ID or API reference.","title":"Server"},"description":"Server ID or API reference."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","title":"Currency"},"description":"Currency used for prices."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerPKsWithPrices"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v2/server/{vendor}/{server}":{"get":{"tags":["Server Details"],"summary":"Get Server Without Relations","description":"Query a single server by its vendor id and either the server id or its API reference.","operationId":"get_server_without_relations_v2_server__vendor___server__get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"A Vendor's ID.","title":"Vendor"},"description":"A Vendor's ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"A Server's ID or API reference.","title":"Server"},"description":"A Server's ID or API reference."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerBase"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}/similar_servers/{by}/{num}":{"get":{"tags":["Server Details"],"summary":"Get Similar Servers","description":"Search similar servers to the provided one.\n\nThe \"family\" method returns all servers from the same family of\nthe same vendor.\n\nThe \"specs\" approach will prioritize the number of\nGPUs, then CPUs, lastly the amount of memory.\n\nThe \"score\" method will find the servers with the closest\nperformance using the multi-core SCore.","operationId":"get_similar_servers_server__vendor___server__similar_servers__by___num__get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"Vendor ID.","title":"Vendor"},"description":"Vendor ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"Server ID or API reference.","title":"Server"},"description":"Server ID or API reference."},{"name":"by","in":"path","required":true,"schema":{"enum":["family","specs","score"],"type":"string","description":"Algorithm to look for similar servers.","title":"By"},"description":"Algorithm to look for similar servers."},{"name":"num","in":"path","required":true,"schema":{"type":"integer","maximum":100,"description":"Number of servers to get.","title":"Num"},"description":"Number of servers to get."},{"name":"benchmark_id","in":"query","required":false,"schema":{"type":"string","description":"Benchmark id to use as the main score for the server.","default":"stress_ng:cpu_all","title":"Benchmark Id"},"description":"Benchmark id to use as the main score for the server."},{"name":"benchmark_config","in":"query","required":false,"schema":{"type":"string","description":"Benchmark id to use as the main score for the server.","default":"","title":"Benchmark Config"},"description":"Benchmark id to use as the main score for the server."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPKs"},"title":"Response Get Similar Servers Server Vendor Server Similar Servers By Num Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}/prices":{"get":{"tags":["Server Details"],"summary":"Get Server Prices","description":"Query the current prices of a single server by its vendor id and server id.","operationId":"get_server_prices_server__vendor___server__prices_get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"A Vendor's ID.","title":"Vendor"},"description":"A Vendor's ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"A Server's ID or API reference.","title":"Server"},"description":"A Server's ID or API reference."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","title":"Currency"},"description":"Currency used for prices."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPrice"},"title":"Response Get Server Prices Server Vendor Server Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}/benchmarks":{"get":{"tags":["Server Details"],"summary":"Get Server Benchmarks","description":"Query the current benchmark scores of a single server.","operationId":"get_server_benchmarks_server__vendor___server__benchmarks_get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"A Vendor's ID.","title":"Vendor"},"description":"A Vendor's ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"A Server's ID or API reference.","title":"Server"},"description":"A Server's ID or API reference."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BenchmarkScore"},"title":"Response Get Server Benchmarks Server Vendor Server Benchmarks Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_server_filters":{"get":{"tags":["AI"],"summary":"Assist Server Filters","description":"Extract Server JSON filters from freetext.","operationId":"assist_server_filters_ai_assist_server_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Server Filters Ai Assist Server Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_server_price_filters":{"get":{"tags":["AI"],"summary":"Assist Server Price Filters","description":"Extract ServerPrice JSON filters from freetext.","operationId":"assist_server_price_filters_ai_assist_server_price_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Server Price Filters Ai Assist Server Price Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_storage_price_filters":{"get":{"tags":["AI"],"summary":"Assist Storage Price Filters","description":"Extract StoragePrice JSON filters from freetext.","operationId":"assist_storage_price_filters_ai_assist_storage_price_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Storage Price Filters Ai Assist Storage Price Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_traffic_price_filters":{"get":{"tags":["AI"],"summary":"Assist Traffic Price Filters","description":"Extract TrafficPrice JSON filters from freetext.","operationId":"assist_traffic_price_filters_ai_assist_traffic_price_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Traffic Price Filters Ai Assist Traffic Price Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/regions":{"get":{"tags":["Query Resources"],"summary":"Search Regions","operationId":"search_regions_regions_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RegionPKs"},"title":"Response Search Regions Regions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/servers":{"get":{"tags":["Query Resources"],"summary":"Search Servers","operationId":"search_servers_servers_get","parameters":[{"name":"partial_name_or_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partial name or id","description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name.","category_id":"basic"},"description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name."},{"name":"vcpus_min","in":"query","required":false,"schema":{"type":"integer","maximum":256,"minimum":1,"title":"Minimum vCPUs","description":"Minimum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","default":1},"description":"Minimum number of virtual CPUs."},{"name":"architecture","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuArchitecture"}},{"type":"null"}],"title":"Processor architecture","description":"Processor architecture.","category_id":"processor","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"]},"description":"Processor architecture."},{"name":"benchmark_score_stressng_cpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"SCore","description":"Minimum stress-ng CPU workload score.","category_id":"processor"},"description":"Minimum stress-ng CPU workload score."},{"name":"memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum memory","description":"Minimum amount of memory in GBs.","category_id":"memory","unit":"GB","step":0.1},"description":"Minimum amount of memory in GBs."},{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active only","description":"Filter for active servers only.","category_id":"basic","default":true},"description":"Filter for active servers only."},{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"storage_size","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs).","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs)."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"gpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"GPU count","description":"Minimum number of GPUs.","category_id":"gpu","unit":"GPUs"},"description":"Minimum number of GPUs."},{"name":"gpu_memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum GPU memory","description":"Minimum amount of GPU memory (GB) in each GPU.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of GPU memory (GB) in each GPU."},{"name":"gpu_memory_total","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total GPU memory","description":"Minimum amount of total GPU memory (GBs) in all GPUs.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of total GPU memory (GBs) in all GPUs."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited.","default":50,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"vcpus","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPKs"},"title":"Response Search Servers Servers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server_prices":{"get":{"tags":["Query Resources"],"summary":"Search Server Prices","operationId":"search_server_prices_server_prices_get","parameters":[{"name":"partial_name_or_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partial name or id","description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name.","category_id":"basic"},"description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name."},{"name":"vcpus_min","in":"query","required":false,"schema":{"type":"integer","maximum":256,"minimum":1,"title":"Minimum vCPUs","description":"Minimum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","default":1},"description":"Minimum number of virtual CPUs."},{"name":"architecture","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuArchitecture"}},{"type":"null"}],"title":"Processor architecture","description":"Processor architecture.","category_id":"processor","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"]},"description":"Processor architecture."},{"name":"benchmark_score_stressng_cpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"SCore","description":"Minimum stress-ng CPU workload score.","category_id":"processor"},"description":"Minimum stress-ng CPU workload score."},{"name":"memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum memory","description":"Minimum amount of memory in GBs.","category_id":"memory","unit":"GB","step":0.1},"description":"Minimum amount of memory in GBs."},{"name":"price_max","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Maximum price","description":"Maximum price (USD/hr).","category_id":"price","step":0.0001},"description":"Maximum price (USD/hr)."},{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active only","description":"Filter for active servers only.","category_id":"basic","default":true},"description":"Filter for active servers only."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"allocation","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/Allocation"},{"type":"null"}],"title":"Allocation","description":"Server allocation method.","enum":["ondemand","reserved","spot"]},"description":"Server allocation method."},{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"Region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"storage_size","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs).","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs)."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Countries"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"gpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"GPU count","description":"Minimum number of GPUs.","category_id":"gpu","unit":"GPUs"},"description":"Minimum number of GPUs."},{"name":"gpu_memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum GPU memory","description":"Minimum amount of GPU memory (GB) in each GPU.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of GPU memory (GB) in each GPU."},{"name":"gpu_memory_total","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total GPU memory","description":"Minimum amount of total GPU memory (GBs) in all GPUs.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of total GPU memory (GBs) in all GPUs."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":250,"description":"Maximum number of results.","default":50,"title":"Limit"},"description":"Maximum number of results."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","default":"USD","title":"Currency"},"description":"Currency used for prices."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPriceWithPKs"},"title":"Response Search Server Prices Server Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/storage_prices":{"get":{"tags":["Query Resources"],"summary":"Search Storage Prices","operationId":"search_storage_prices_storage_prices_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"storage_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs).","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs)."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"Region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Countries"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited.","default":10,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","default":"USD","title":"Currency"},"description":"Currency used for prices."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StoragePriceWithPKs"},"title":"Response Search Storage Prices Storage Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/traffic_prices":{"get":{"tags":["Query Resources"],"summary":"Search Traffic Prices","operationId":"search_traffic_prices_traffic_prices_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"Region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Countries"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"direction","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/TrafficDirection"}},{"type":"null"}],"title":"Direction","description":"Direction of the Internet traffic.","category_id":"traffic","enum":["inbound","outbound"],"default":["outbound"]},"description":"Direction of the Internet traffic."},{"name":"monthly_traffic","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Monthly Overall Traffic","description":"Overall amount of monthly traffic (GBs).","category_id":"traffic","unit":"GB","step":1,"default":1},"description":"Overall amount of monthly traffic (GBs)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited.","default":10,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","default":"USD","title":"Currency"},"description":"Currency used for prices."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TrafficPriceWithPKsWithMonthlyTraffic"},"title":"Response Search Traffic Prices Traffic Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Allocation":{"type":"string","enum":["ondemand","reserved","spot"],"title":"Allocation","description":"Server allocation options."},"Benchmark":{"properties":{"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Unique identifier of a specific Benchmark."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"framework":{"type":"string","title":"Framework","description":"The name of the benchmark framework/software/tool used."},"config_fields":{"type":"object","title":"Config Fields","description":"A dictionary of descriptions on the framework-specific config options, e.g. {\"bandwidth\": \"Memory amount to use for compression in MB.\"}.","default":{}},"measurement":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Measurement","description":"The name of measurement recoreded in the benchmark."},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit","description":"Optional unit of measurement for the benchmark score."},"higher_is_better":{"type":"boolean","title":"Higher Is Better","description":"If higher benchmark score means better performance, or vica versa.","default":true},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["benchmark_id","name","description","framework"],"title":"Benchmark","description":"Benchmark scenario definitions.\n\nAttributes:\n benchmark_id (str): Unique identifier of a specific Benchmark.\n name (str): Human-friendly name.\n description (typing.Optional[str]): Short description.\n framework (str): The name of the benchmark framework/software/tool used.\n config_fields (dict): A dictionary of descriptions on the framework-specific config options, e.g. {\"bandwidth\": \"Memory amount to use for compression in MB.\"}.\n measurement (typing.Optional[str]): The name of measurement recoreded in the benchmark.\n unit (typing.Optional[str]): Optional unit of measurement for the benchmark score.\n higher_is_better (bool): If higher benchmark score means better performance, or vica versa.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"benchmark_id":"geekbench:hdr","config_fields":{"cores":"Single-Core or Multi-Core peformance tests.","framework_version":"Version number of geekbench."},"description":"Blends six 16MP SDR photos to create a single HDR photo, using a recovery process and radiance map construction (Debevec and Malik 1997), and a tone mapping algorithm (Reinhard and Devlin 2005).The score is calibrated against a baseline score of 2,500 (Dell Precision 3460 with a Core i7-12700 processor) as per the Geekbench 6 Benchmark Internals.","framework":"geekbench","higher_is_better":true,"measurement":"hdr","name":"Geekbench: HDR","observed_at":"2024-09-13T07:06:14.403976","status":"active"}]},"BenchmarkScore":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Reference to the Benchmark."},"config":{"type":"object","title":"Config","description":"Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}","default":{}},"score":{"type":"number","title":"Score","description":"The resulting score of the benchmark."},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Optional note, comment or context on the benchmark score."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","benchmark_id","score"],"title":"BenchmarkScore","description":"Results of running Benchmark scenarios on Servers.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n server_id (str): Reference to the Server.\n benchmark_id (str): Reference to the Benchmark.\n config (sc_crawler.table_fields.HashableDict | dict): Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}\n score (float): The resulting score of the benchmark.\n note (typing.Optional[str]): Optional note, comment or context on the benchmark score.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation."},"BenchmarkScoreBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Reference to the Benchmark."},"config":{"type":"object","title":"Config","description":"Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}","default":{}},"score":{"type":"number","title":"Score","description":"The resulting score of the benchmark."},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Optional note, comment or context on the benchmark score."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","benchmark_id","score"],"title":"BenchmarkScoreBase"},"ComplianceFramework":{"properties":{"compliance_framework_id":{"type":"string","title":"Compliance Framework Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"abbreviation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abbreviation","description":"Short abbreviation of the Framework name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Description of the framework in a few paragrahs, outlining key features and characteristics for reference."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Framework's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage with more information on the Framework."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["compliance_framework_id","name","abbreviation","description"],"title":"ComplianceFramework","description":"List of Compliance Frameworks, such as HIPAA or SOC 2 Type 1.\n\nAttributes:\n compliance_framework_id (str): Unique identifier.\n name (str): Human-friendly name.\n abbreviation (typing.Optional[str]): Short abbreviation of the Framework name.\n description (typing.Optional[str]): Description of the framework in a few paragrahs, outlining key features and characteristics for reference.\n logo (typing.Optional[str]): Publicly accessible URL to the image of the Framework's logo.\n homepage (typing.Optional[str]): Public homepage with more information on the Framework.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"abbreviation":"HIPAA","compliance_framework_id":"hipaa","description":"HIPAA (Health Insurance Portability and Accountability Act) is a U.S. federal law designed to safeguard the privacy and security of individuals' health information, establishing standards for its protection and regulating its use in the healthcare industry.","homepage":"https://www.cdc.gov/phlp/publications/topic/hipaa.html","name":"The Health Insurance Portability and Accountability Act","observed_at":"2024-09-13T07:06:14.401873","status":"active"}]},"ComplianceFrameworks":{"type":"string","enum":["hipaa","iso27001","soc2t2"],"title":"ComplianceFrameworks"},"Countries":{"type":"string","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"],"title":"Countries"},"Country":{"properties":{"country_id":{"type":"string","title":"Country Id","description":"Country code by ISO 3166 alpha-2."},"continent":{"type":"string","title":"Continent","description":"Continent name."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["country_id","continent"],"title":"Country","description":"Country and continent mapping.\n\nAttributes:\n country_id (str): Country code by ISO 3166 alpha-2.\n continent (str): Continent name.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"continent":"Asia","country_id":"AE","observed_at":"2024-09-13T07:06:14.400114","status":"active"}]},"CountryBase":{"properties":{"country_id":{"type":"string","title":"Country Id","description":"Country code by ISO 3166 alpha-2."},"continent":{"type":"string","title":"Continent","description":"Continent name."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["country_id","continent"],"title":"CountryBase"},"Cpu":{"properties":{"manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Manufacturer"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cores"},"threads":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Threads"},"l1_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L1 Cache Size"},"l2_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L2 Cache Size"},"l3_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L3 Cache Size"},"microcode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Microcode"},"capabilities":{"items":{"type":"string"},"type":"array","title":"Capabilities","default":[]},"bugs":{"items":{"type":"string"},"type":"array","title":"Bugs","default":[]},"bogomips":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Bogomips"}},"type":"object","title":"Cpu","description":"CPU details."},"CpuAllocation":{"type":"string","enum":["Shared","Burstable","Dedicated"],"title":"CpuAllocation","description":"CPU allocation methods at cloud vendors."},"CpuArchitecture":{"type":"string","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"],"title":"CpuArchitecture","description":"CPU architectures."},"DdrGeneration":{"type":"string","enum":["DDR3","DDR4","DDR5"],"title":"DdrGeneration","description":"Generation of the DDR SDRAM."},"Disk":{"properties":{"size":{"type":"integer","title":"Size","default":0},"storage_type":{"$ref":"#/components/schemas/StorageType"}},"type":"object","required":["storage_type"],"title":"Disk","description":"Disk definition based on size and storage type."},"Gpu":{"properties":{"manufacturer":{"type":"string","title":"Manufacturer"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"memory":{"type":"integer","title":"Memory"},"firmware_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firmware Version"},"bios_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bios Version"},"graphics_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Graphics Clock"},"sm_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sm Clock"},"mem_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Mem Clock"},"video_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Video Clock"}},"type":"object","required":["manufacturer","memory"],"title":"Gpu","description":"GPU accelerator details."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HealthcheckResponse":{"properties":{"packages":{"type":"object","title":"Packages"},"database_last_updated":{"type":"number","title":"Database Last Updated"},"database_hash":{"type":"string","title":"Database Hash"},"database_alembic_version":{"type":"string","title":"Database Alembic Version"}},"type":"object","required":["packages","database_last_updated","database_hash","database_alembic_version"],"title":"HealthcheckResponse","examples":[{"database_alembic_version":"bar","database_hash":"foo","database_last_updated":1726212120.1936705,"packages":{"sparecores-crawler":"1.0.0"}}]},"IdNameAndDescriptionAndCategory":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"id":{"type":"string","title":"Id"},"category":{"type":"string","title":"Category"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"}},"type":"object","required":["name","description","id","category","unit"],"title":"IdNameAndDescriptionAndCategory"},"NameAndDescription":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"}},"type":"object","required":["name","description"],"title":"NameAndDescription"},"OrderDir":{"type":"string","enum":["asc","desc"],"title":"OrderDir"},"PriceTier":{"properties":{"lower":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Lower"},"upper":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Upper"},"price":{"type":"number","title":"Price"}},"type":"object","required":["lower","upper","price"],"title":"PriceTier","description":"Price tier definition.\n\nAs standard JSON does not support Inf, NaN etc values,\nthose should be passed as string, e.g. for the upper bound.\n\nSee [float_inf_to_str][sc_crawler.utils.float_inf_to_str] for\nconverting an infinite numeric value into \"Infinity\"."},"PriceUnit":{"type":"string","enum":["year","month","hour","GiB","GB","GB/month"],"title":"PriceUnit","description":"Supported units for the price tables."},"Region":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id"],"title":"Region","description":"Regions of Vendors.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n aliases (typing.List[str]): List of other commonly used names for the same Region.\n country_id (str): Reference to the Country, where the Region is located.\n state (typing.Optional[str]): Optional state/administrative area of the Region's location within the Country.\n city (typing.Optional[str]): Optional city name of the Region's location.\n address_line (typing.Optional[str]): Optional address line of the Region's location.\n zip_code (typing.Optional[str]): Optional ZIP code of the Region's location.\n lon (typing.Optional[float]): Longitude coordinate of the Region's known or approximate location.\n lat (typing.Optional[float]): Latitude coordinate of the Region's known or approximate location.\n founding_year (typing.Optional[int]): 4-digit year when the Region was founded.\n green_energy (typing.Optional[bool]): If the Region is 100% powered by renewable energy.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-13T06:18:41.301603","region_id":"af-south-1","status":"active","vendor_id":"aws"}]},"RegionBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id"],"title":"RegionBase"},"RegionBaseWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"country":{"$ref":"#/components/schemas/CountryBase"}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id","country"],"title":"RegionBaseWithPKs"},"RegionPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"vendor":{"$ref":"#/components/schemas/VendorBase"}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id","vendor"],"title":"RegionPKs","examples":[{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-13T06:18:41.301603","region_id":"af-south-1","status":"active","vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-13T07:06:14.405426","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws"}]},"Regions":{"type":"string","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"],"title":"Regions"},"Server":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"Server","description":"Server types.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n server_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n description (typing.Optional[str]): Short description.\n family (typing.Optional[str]): Server family, e.g. General-purpose machine (GCP), or M5g (AWS).\n vcpus (int): Default number of virtual CPUs (vCPU) of the server.\n hypervisor (typing.Optional[str]): Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated.\n cpu_allocation (CpuAllocation): Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated.\n cpu_cores (typing.Optional[int]): Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled.\n cpu_speed (typing.Optional[float]): Vendor-reported maximum CPU clock speed (GHz).\n cpu_architecture (CpuArchitecture): CPU architecture (arm64, arm64_mac, i386, or x86_64).\n cpu_manufacturer (typing.Optional[str]): The manufacturer of the primary processor, e.g. Intel or AMD.\n cpu_family (typing.Optional[str]): The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9.\n cpu_model (typing.Optional[str]): The model number of the primary processor, e.g. 9750H.\n cpu_l1_cache (typing.Optional[int]): L1 cache size (byte).\n cpu_l2_cache (typing.Optional[int]): L2 cache size (byte).\n cpu_l3_cache (typing.Optional[int]): L3 cache size (byte).\n cpu_flags (typing.List[str]): CPU features/flags.\n cpus (typing.List[sc_crawler.table_fields.Cpu]): JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.\n memory_amount (int): RAM amount (MiB).\n memory_generation (typing.Optional[sc_crawler.table_fields.DdrGeneration]): Generation of the DDR SDRAM, e.g. DDR4 or DDR5.\n memory_speed (typing.Optional[int]): DDR SDRAM clock rate (Mhz).\n memory_ecc (typing.Optional[bool]): If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption.\n gpu_count (int): Number of GPU accelerator(s).\n gpu_memory_min (typing.Optional[int]): Memory (MiB) allocated to the lowest-end GPU accelerator.\n gpu_memory_total (typing.Optional[int]): Overall memory (MiB) allocated to all the GPU accelerator(s).\n gpu_manufacturer (typing.Optional[str]): The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD.\n gpu_family (typing.Optional[str]): The product family of the primary GPU accelerator, e.g. Turing.\n gpu_model (typing.Optional[str]): The model number of the primary GPU accelerator, e.g. Tesla T4.\n gpus (typing.List[sc_crawler.table_fields.Gpu]): JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.\n storage_size (int): Overall size (GB) of the disk(s).\n storage_type (typing.Optional[sc_crawler.table_fields.StorageType]): Primary disk type, e.g. HDD, SSD, NVMe SSD, or network).\n storages (typing.List[sc_crawler.table_fields.Disk]): JSON array of disks attached to the server, including the size (MiB) and type of each disk.\n network_speed (typing.Optional[float]): The baseline network performance (Gbps) of the network card.\n inbound_traffic (float): Amount of complimentary inbound traffic (GB) per month.\n outbound_traffic (float): Amount of complimentary outbound traffic (GB) per month.\n ipv4 (int): Number of complimentary IPv4 address(es).\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-13T06:19:31.276942","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"}]},"ServerBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"ServerBase"},"ServerPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"},"vendor":{"$ref":"#/components/schemas/VendorBase"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description","vendor"],"title":"ServerPKs","examples":[{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-13T06:19:31.276942","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"}]},"ServerPKsWithPrices":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"prices":{"items":{"$ref":"#/components/schemas/ServerPricePKs"},"type":"array","title":"Prices"},"benchmark_scores":{"items":{"$ref":"#/components/schemas/BenchmarkScoreBase"},"type":"array","title":"Benchmark Scores"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description","vendor","prices","benchmark_scores"],"title":"ServerPKsWithPrices","examples":[{"api_reference":"a1.2xlarge","benchmark_scores":[{"benchmark_id":"geekbench:hdr","config_fields":{"cores":"Single-Core or Multi-Core peformance tests.","framework_version":"Version number of geekbench."},"description":"Blends six 16MP SDR photos to create a single HDR photo, using a recovery process and radiance map construction (Debevec and Malik 1997), and a tone mapping algorithm (Reinhard and Devlin 2005).The score is calibrated against a baseline score of 2,500 (Dell Precision 3460 with a Core i7-12700 processor) as per the Geekbench 6 Benchmark Internals.","framework":"geekbench","higher_is_better":true,"measurement":"hdr","name":"Geekbench: HDR","observed_at":"2024-09-13T07:06:14.403976","status":"active"}],"cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-13T06:19:31.276942","outbound_traffic":0.0,"price":7,"prices":[{"allocation":"spot","currency":"USD","observed_at":"2024-09-13T02:47:46","operating_system":"Linux","price":0.0743,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-13T06:18:41.301603","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-west-2","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-13T06:18:44.243694","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"usw2-az2"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-13T05:02:46","operating_system":"Linux","price":0.0843,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-13T06:18:41.301603","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-west-2","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-13T06:18:44.243694","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"usw2-az3"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-13T04:46:23","operating_system":"Linux","price":0.0941,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-13T06:18:41.301603","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"ap-northeast-1","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-13T06:18:44.243694","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"apne1-az4"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-13T04:02:12","operating_system":"Linux","price":0.0993,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-13T06:18:41.301603","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"eu-central-1","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-13T06:18:44.243694","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"euc1-az3"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-13T05:01:59","operating_system":"Linux","price":0.1001,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-13T06:18:41.301603","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-east-2","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-13T06:18:44.243694","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"use2-az2"}],"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-13T07:06:14.405426","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws"}]},"ServerPrice":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"allOf":[{"$ref":"#/components/schemas/Allocation"}],"description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price"],"title":"ServerPrice","description":"Server type prices per Region and Allocation method.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Reference to the Region.\n zone_id (str): Reference to the Zone.\n server_id (str): Reference to the Server.\n operating_system (str): Operating System.\n allocation (Allocation): Allocation method, e.g. on-demand or spot.\n unit (PriceUnit): Billing unit of the pricing model.\n price (float): Actual price of a billing unit.\n price_upfront (float): Price to be paid when setting up the resource.\n price_tiered (typing.List[sc_crawler.table_fields.PriceTier]): List of pricing tiers with min/max thresholds and actual prices.\n currency (str): Currency of the prices.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation."},"ServerPricePKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"allOf":[{"$ref":"#/components/schemas/Allocation"}],"description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBase"},"zone":{"$ref":"#/components/schemas/ZoneBase"}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price","region","zone"],"title":"ServerPricePKs"},"ServerPriceWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"allOf":[{"$ref":"#/components/schemas/Allocation"}],"description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"vendor":{"$ref":"#/components/schemas/VendorBase"},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"zone":{"$ref":"#/components/schemas/ZoneBase"},"server":{"$ref":"#/components/schemas/ServerWithScore"}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price","vendor","region","zone","server"],"title":"ServerPriceWithPKs","examples":[{"allocation":"spot","currency":"USD","observed_at":"2024-09-13T02:47:46","operating_system":"Linux","price":0.0743,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country":{"continent":"Asia","country_id":"AE","observed_at":"2024-09-13T07:06:14.400114","status":"active"},"country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-13T06:18:41.301603","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-west-2","server":{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-13T06:19:31.276942","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"},"server_id":"a1.2xlarge","status":"active","unit":"hour","vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-13T07:06:14.405426","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-13T06:18:44.243694","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"usw2-az2"}]},"ServerTableMetaData":{"properties":{"table":{"$ref":"#/components/schemas/NameAndDescription"},"fields":{"items":{"$ref":"#/components/schemas/IdNameAndDescriptionAndCategory"},"type":"array","title":"Fields"}},"type":"object","required":["table","fields"],"title":"ServerTableMetaData"},"ServerWithScore":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"ServerWithScore"},"Status":{"type":"string","enum":["active","inactive"],"title":"Status","description":"Last known status of a resource, e.g. active or inactive."},"Storage":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"storage_id":{"type":"string","title":"Storage Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"storage_type":{"allOf":[{"$ref":"#/components/schemas/StorageType"}],"description":"High-level category of the storage, e.g. HDD or SDD."},"max_iops":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Iops","description":"Maximum Input/Output Operations Per Second."},"max_throughput":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Throughput","description":"Maximum Throughput (MiB/s)."},"min_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Size","description":"Minimum required size (GiB)."},"max_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Size","description":"Maximum possible size (GiB)."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","storage_id","name","description","storage_type"],"title":"Storage","description":"Flexible storage options that can be attached to a Server.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n storage_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n description (typing.Optional[str]): Short description.\n storage_type (StorageType): High-level category of the storage, e.g. HDD or SDD.\n max_iops (typing.Optional[int]): Maximum Input/Output Operations Per Second.\n max_throughput (typing.Optional[int]): Maximum Throughput (MiB/s).\n min_size (typing.Optional[int]): Minimum required size (GiB).\n max_size (typing.Optional[int]): Maximum possible size (GiB).\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"description":"SSD-backed","max_iops":16000,"max_size":16384,"max_throughput":250,"min_size":1,"name":"General Purpose","observed_at":"2024-09-13T06:21:43.237018","status":"active","storage_id":"gp2","storage_type":"ssd","vendor_id":"aws"}]},"StorageBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"storage_id":{"type":"string","title":"Storage Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"storage_type":{"allOf":[{"$ref":"#/components/schemas/StorageType"}],"description":"High-level category of the storage, e.g. HDD or SDD."},"max_iops":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Iops","description":"Maximum Input/Output Operations Per Second."},"max_throughput":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Throughput","description":"Maximum Throughput (MiB/s)."},"min_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Size","description":"Minimum required size (GiB)."},"max_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Size","description":"Maximum possible size (GiB)."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","storage_id","name","description","storage_type"],"title":"StorageBase"},"StoragePriceWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"storage_id":{"type":"string","title":"Storage Id","description":"Reference to the Storage."},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"storage":{"$ref":"#/components/schemas/StorageBase"}},"type":"object","required":["vendor_id","region_id","storage_id","unit","price","region","vendor","storage"],"title":"StoragePriceWithPKs"},"StorageType":{"type":"string","enum":["hdd","ssd","nvme ssd","network"],"title":"StorageType","description":"Type of a storage, e.g. HDD or SSD."},"TrafficDirection":{"type":"string","enum":["inbound","outbound"],"title":"TrafficDirection","description":"Direction of the network traffic."},"TrafficPriceWithPKsWithMonthlyTraffic":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"direction":{"allOf":[{"$ref":"#/components/schemas/TrafficDirection"}],"description":"Direction of the traffic: inbound or outbound."},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"price_monthly_traffic":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price Monthly Traffic"}},"type":"object","required":["vendor_id","region_id","direction","unit","price","region","vendor"],"title":"TrafficPriceWithPKsWithMonthlyTraffic"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"Vendor":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Vendor's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage of the Vendor."},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Vendor's main headquarter is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Vendor's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Vendor's main location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Vendor's main location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Vendor's main location."},"founding_year":{"type":"integer","title":"Founding Year","description":"4-digit year when the Vendor was founded."},"status_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Page","description":"Public status page of the Vendor."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","name","country_id","founding_year"],"title":"Vendor","description":"Compute resource vendors, such as cloud and server providers.\n\n Examples:\n >>> from sc_crawler.tables import Vendor\n >>> from sc_crawler.lookup import countries\n >>> aws = Vendor(vendor_id='aws', name='Amazon Web Services', homepage='https://aws.amazon.com', country=countries[\"US\"], founding_year=2002)\n >>> aws\n Vendor(vendor_id='aws'...\n >>> from sc_crawler import vendors\n >>> vendors.aws\n Vendor(vendor_id='aws'...\n \n\nAttributes:\n vendor_id (str): Unique identifier.\n name (str): Human-friendly name.\n logo (typing.Optional[str]): Publicly accessible URL to the image of the Vendor's logo.\n homepage (typing.Optional[str]): Public homepage of the Vendor.\n country_id (str): Reference to the Country, where the Vendor's main headquarter is located.\n state (typing.Optional[str]): Optional state/administrative area of the Vendor's location within the Country.\n city (typing.Optional[str]): Optional city name of the Vendor's main location.\n address_line (typing.Optional[str]): Optional address line of the Vendor's main location.\n zip_code (typing.Optional[str]): Optional ZIP code of the Vendor's main location.\n founding_year (int): 4-digit year when the Vendor was founded.\n status_page (typing.Optional[str]): Public status page of the Vendor.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-13T07:06:14.405426","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"}]},"VendorBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Vendor's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage of the Vendor."},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Vendor's main headquarter is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Vendor's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Vendor's main location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Vendor's main location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Vendor's main location."},"founding_year":{"type":"integer","title":"Founding Year","description":"4-digit year when the Vendor was founded."},"status_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Page","description":"Public status page of the Vendor."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","name","country_id","founding_year"],"title":"VendorBase"},"Vendors":{"type":"string","enum":["aws","azure","gcp","hcloud"],"title":"Vendors"},"Zone":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","name","api_reference","display_name"],"title":"Zone","description":"Availability zones of Regions.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Reference to the Region.\n zone_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-13T06:18:44.243694","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"}]},"ZoneBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","name","api_reference","display_name"],"title":"ZoneBase"}}}} From 9990ffc37ef1338f22f2f8d2c8223a8c8286a0c2 Mon Sep 17 00:00:00 2001 From: Palabola Date: Fri, 13 Sep 2024 09:34:45 +0200 Subject: [PATCH 24/66] update AI assistant logic, use schema default limits --- .../search-bar/search-bar.component.html | 1 - .../search-bar/search-bar.component.ts | 7 ++----- .../server-prices/server-prices.component.html | 2 +- src/app/pages/storages/storages.component.html | 2 +- src/app/pages/storages/storages.component.ts | 5 +++++ .../traffic-prices.component.html | 2 +- .../traffic-prices/traffic-prices.component.ts | 5 +++++ src/app/services/keeper-api.service.ts | 18 ++++++++++++------ 8 files changed, 27 insertions(+), 15 deletions(-) diff --git a/src/app/components/search-bar/search-bar.component.html b/src/app/components/search-bar/search-bar.component.html index 580e5944..d5f414f9 100644 --- a/src/app/components/search-bar/search-bar.component.html +++ b/src/app/components/search-bar/search-bar.component.html @@ -1,7 +1,6 @@
    diff --git a/src/app/pages/storages/storages.component.html b/src/app/pages/storages/storages.component.html index b3cdfba2..22528a24 100644 --- a/src/app/pages/storages/storages.component.html +++ b/src/app/pages/storages/storages.component.html @@ -25,7 +25,7 @@

    Cloud Block Storage Prices

    [query]="query" [filterCategories]="filterCategories" [searchParameters]="searchParameters" - [showSearchPrompt]="false" + AIAssistantType="storages" (searchChanged)="searchBarChanged($event)" >
    diff --git a/src/app/pages/storages/storages.component.ts b/src/app/pages/storages/storages.component.ts index ce4b6222..edbcc9d3 100644 --- a/src/app/pages/storages/storages.component.ts +++ b/src/app/pages/storages/storages.component.ts @@ -97,6 +97,11 @@ export class StoragesComponent implements OnInit { const parameters = this.openApiJson.paths['/storage_prices'].get.parameters || []; this.searchParameters = parameters; + let limit = this.searchParameters.find((param: any) => param.name === 'limit'); + if(limit && limit.schema && limit.schema.default) { + this.limit = limit.schema.default; + } + this.refreshColumns(); this.route.queryParams.subscribe((params: Params) => { diff --git a/src/app/pages/traffic-prices/traffic-prices.component.html b/src/app/pages/traffic-prices/traffic-prices.component.html index fd2dc528..19bc22c5 100644 --- a/src/app/pages/traffic-prices/traffic-prices.component.html +++ b/src/app/pages/traffic-prices/traffic-prices.component.html @@ -25,7 +25,7 @@

    {{title}}

    [query]="query" [filterCategories]="filterCategories" [searchParameters]="searchParameters" - [showSearchPrompt]="false" + AIAssistantType="traffic_prices" (searchChanged)="searchBarChanged($event)" >
    diff --git a/src/app/pages/traffic-prices/traffic-prices.component.ts b/src/app/pages/traffic-prices/traffic-prices.component.ts index d16dc2fd..f33894d9 100644 --- a/src/app/pages/traffic-prices/traffic-prices.component.ts +++ b/src/app/pages/traffic-prices/traffic-prices.component.ts @@ -91,6 +91,11 @@ export class TrafficPricesComponent implements OnInit { const parameters = this.openApiJson.paths['/traffic_prices'].get.parameters || []; this.searchParameters = parameters; + let limit = this.searchParameters.find((param: any) => param.name === 'limit'); + if(limit && limit.schema && limit.schema.default) { + this.limit = limit.schema.default; + } + this.refreshColumns(); this.route.queryParams.subscribe((params: Params) => { diff --git a/src/app/services/keeper-api.service.ts b/src/app/services/keeper-api.service.ts index 259c2175..72605524 100644 --- a/src/app/services/keeper-api.service.ts +++ b/src/app/services/keeper-api.service.ts @@ -61,12 +61,18 @@ export class KeeperAPIService { return this.ServerPricesController.searchServerPricesServerPricesGet(query); } - public parsePromptforServers(query: AssistServerFiltersAiAssistServerFiltersGetParams): Promise { - return this.AIController.assistServerFiltersAiAssistServerFiltersGet(query); - } - - public parsePromptforServerPrices(query: AssistServerPriceFiltersAiAssistServerPriceFiltersGetParams): Promise { - return this.AIController.assistServerPriceFiltersAiAssistServerPriceFiltersGet(query); + public parsePromptFor(type: string, query: AssistServerFiltersAiAssistServerFiltersGetParams): Promise { + switch (type) { + case 'traffic_prices': + return this.AIController.assistTrafficPriceFiltersAiAssistTrafficPriceFiltersGet(query); + case 'storages': + return this.AIController.assistStoragePriceFiltersAiAssistStoragePriceFiltersGet(query); + case 'server_prices': + return this.AIController.assistServerPriceFiltersAiAssistServerPriceFiltersGet(query); + case 'servers': + default: + return this.AIController.assistServerFiltersAiAssistServerFiltersGet(query); + } } public getCountries(): Promise { From 500db4dbdbbc273d4124b0f92976840eb8c54098 Mon Sep 17 00:00:00 2001 From: Palabola Date: Fri, 13 Sep 2024 09:37:24 +0200 Subject: [PATCH 25/66] lint --- src/app/services/keeper-api.service.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/services/keeper-api.service.ts b/src/app/services/keeper-api.service.ts index 72605524..bf49dfff 100644 --- a/src/app/services/keeper-api.service.ts +++ b/src/app/services/keeper-api.service.ts @@ -3,7 +3,7 @@ import { Inject, Injectable, PLATFORM_ID } from '@angular/core'; import { MYHTTPClient } from './my_http/my-http'; import { Server } from '../../../sdk/Server'; import { Servers } from '../../../sdk/Servers'; -import { AssistServerFiltersAiAssistServerFiltersGetParams, AssistServerPriceFiltersAiAssistServerPriceFiltersGetParams, SearchServerPricesServerPricesGetParams, SearchServersServersGetParams, SearchStoragePricesStoragePricesGetParams, SearchTrafficPricesTrafficPricesGetParams } from '../../../sdk/data-contracts'; +import { AssistServerFiltersAiAssistServerFiltersGetParams, SearchServerPricesServerPricesGetParams, SearchServersServersGetParams, SearchStoragePricesStoragePricesGetParams, SearchTrafficPricesTrafficPricesGetParams } from '../../../sdk/data-contracts'; import { Table } from '../../../sdk/Table'; import { Ai } from '../../../sdk/Ai'; import { ServerPrices } from '../../../sdk/ServerPrices'; From 7c5109cbae053bd7968332ce93f7f51e72c17266 Mon Sep 17 00:00:00 2001 From: Palabola Date: Fri, 13 Sep 2024 10:37:42 +0200 Subject: [PATCH 26/66] default order --- src/app/pages/storages/storages.component.ts | 9 +++++++-- src/app/pages/traffic-prices/traffic-prices.component.ts | 5 +++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/app/pages/storages/storages.component.ts b/src/app/pages/storages/storages.component.ts index edbcc9d3..53b89f57 100644 --- a/src/app/pages/storages/storages.component.ts +++ b/src/app/pages/storages/storages.component.ts @@ -65,10 +65,10 @@ export class StoragesComponent implements OnInit { { name: 'REGION', show: true, type: 'region' }, { name: 'MIN', show: true, type: 'storage', key: 'storage.min_size' }, { name: 'MAX', show: true, type: 'storage', key: 'storage.max_size' }, - { name: 'TYPE', show: true, type: 'text', key: 'storage.storage_type',}, - { name: 'PRICE', show: true, type: 'price', orderField: 'price' }, + { name: 'TYPE', show: true, type: 'text', key: 'storage.storage_type'}, { name: 'MAX IOPS', show: true, type: 'text', key: 'storage.max_iops', orderField: 'max_iops' }, { name: 'MAX THROUGHPUT', show: true, type: 'text', key: 'storage.max_throughput', orderField: 'max_throughput' }, + { name: 'PRICE', show: true, type: 'price', orderField: 'price' } ]; availableCurrencies: CurrencyOption[] = availableCurrencies; @@ -102,6 +102,11 @@ export class StoragesComponent implements OnInit { this.limit = limit.schema.default; } + let order = this.searchParameters.find((param: any) => param.name === 'order_by'); + if(order && order.schema && order.schema.default) { + this.orderBy = order.schema.default; + } + this.refreshColumns(); this.route.queryParams.subscribe((params: Params) => { diff --git a/src/app/pages/traffic-prices/traffic-prices.component.ts b/src/app/pages/traffic-prices/traffic-prices.component.ts index f33894d9..285d1a8d 100644 --- a/src/app/pages/traffic-prices/traffic-prices.component.ts +++ b/src/app/pages/traffic-prices/traffic-prices.component.ts @@ -96,6 +96,11 @@ export class TrafficPricesComponent implements OnInit { this.limit = limit.schema.default; } + let order = this.searchParameters.find((param: any) => param.name === 'order_by'); + if(order && order.schema && order.schema.default) { + this.orderBy = order.schema.default; + } + this.refreshColumns(); this.route.queryParams.subscribe((params: Params) => { From b2bbb54769e746d71c617045ac559767dd50f4be Mon Sep 17 00:00:00 2001 From: Palabola Date: Fri, 13 Sep 2024 14:11:36 +0200 Subject: [PATCH 27/66] query total count --- src/app/pages/storages/storages.component.ts | 3 ++- src/app/pages/traffic-prices/traffic-prices.component.ts | 7 ++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/app/pages/storages/storages.component.ts b/src/app/pages/storages/storages.component.ts index 53b89f57..508a9c12 100644 --- a/src/app/pages/storages/storages.component.ts +++ b/src/app/pages/storages/storages.component.ts @@ -131,6 +131,7 @@ export class StoragesComponent implements OnInit { this.selectedCurrency = this.availableCurrencies.find((currency) => currency.slug === query.currency) || this.availableCurrencies[0]; } + this.query.add_total_count_header = true; this._searchStorages(); @@ -219,7 +220,7 @@ export class StoragesComponent implements OnInit { this.keeperAPI.getStoragePrices(this.query).then((results: any) => { this.storages = results.body; this.isLoading = false; - this.totalPages = this.storages?.length === this.limit ? this.page + 1 : this.page; + this.totalPages = Math.ceil(parseInt(results?.headers?.get('x-total-count') || '0') / this.limit); }); } diff --git a/src/app/pages/traffic-prices/traffic-prices.component.ts b/src/app/pages/traffic-prices/traffic-prices.component.ts index 285d1a8d..d84c83d3 100644 --- a/src/app/pages/traffic-prices/traffic-prices.component.ts +++ b/src/app/pages/traffic-prices/traffic-prices.component.ts @@ -66,8 +66,8 @@ export class TrafficPricesComponent implements OnInit { { name: 'REGION', show: true, type: 'region' }, { name: 'DIRECTION', show: true, type: 'text', key: 'direction',}, { name: 'PRICE', show: true, type: 'price', orderField: 'price' }, - { name: 'PRICE TOTAL', show: true, type: 'priceMonthly' }, { name: 'PRICE TIERS', show: true, type: 'price_tiers' }, + { name: 'PRICE TOTAL', show: true, type: 'priceMonthly' }, ]; availableCurrencies: CurrencyOption[] = availableCurrencies; @@ -130,6 +130,7 @@ export class TrafficPricesComponent implements OnInit { 'Explore, search, and evaluate ingress (inbound) and egress (outbound) traffic pricing options and tiers of various cloud providers in the table below. Note that the pricing tiers usually apply at the account level. Enter the estimated monthly traffic (instead of the default 1 GB) to calculate pricing based on the known tiers.', 'cloud, server, instance, price, comparison, spot, sparecores'); + this.query.add_total_count_header = true; this._searchTrafficPrices(); @@ -218,7 +219,7 @@ export class TrafficPricesComponent implements OnInit { this.keeperAPI.getTrafficPrices(this.query).then((results: any) => { this.traffic_prices = results.body; this.isLoading = false; - this.totalPages = this.traffic_prices?.length === this.limit ? this.page + 1 : this.page; + this.totalPages = Math.ceil(parseInt(results?.headers?.get('x-total-count') || '0') / this.limit); }); } @@ -245,7 +246,7 @@ export class TrafficPricesComponent implements OnInit { selectCurrency(currency: any) { this.selectedCurrency = currency; - this.searchOptionsChanged(this.query); + this.searchOptionsChanged(this.query); this.dropdownCurrency?.hide(); } From cf94d82a945885e25c0e95de6332917934509b22 Mon Sep 17 00:00:00 2001 From: Palabola Date: Mon, 16 Sep 2024 10:48:00 +0200 Subject: [PATCH 28/66] DEV-361 --- src/app/pages/server-compare/server-compare.component.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/pages/server-compare/server-compare.component.scss b/src/app/pages/server-compare/server-compare.component.scss index 8c7a5ada..a906c050 100644 --- a/src/app/pages/server-compare/server-compare.component.scss +++ b/src/app/pages/server-compare/server-compare.component.scss @@ -55,7 +55,7 @@ .fixed_thead { position: fixed; top: 68px; - z-index: 100 + z-index: 99; } ::-webkit-scrollbar { From 67aad9bfe9f5eefaaeff58659439fae91c428d74 Mon Sep 17 00:00:00 2001 From: Palabola Date: Mon, 16 Sep 2024 10:48:18 +0200 Subject: [PATCH 29/66] default limit and ordering --- .../pages/server-listing/server-listing.component.ts | 10 ++++++++++ src/app/pages/server-prices/server-prices.component.ts | 10 ++++++++++ 2 files changed, 20 insertions(+) diff --git a/src/app/pages/server-listing/server-listing.component.ts b/src/app/pages/server-listing/server-listing.component.ts index 31ff9211..ed19c60b 100644 --- a/src/app/pages/server-listing/server-listing.component.ts +++ b/src/app/pages/server-listing/server-listing.component.ts @@ -160,6 +160,16 @@ export class ServerListingComponent implements OnInit, OnDestroy { const parameters = this.openApiJson.paths['/servers'].get.parameters || []; this.searchParameters = parameters; + let limit = this.searchParameters.find((param: any) => param.name === 'limit'); + if(limit && limit.schema && limit.schema.default) { + this.limit = limit.schema.default; + } + + let order = this.searchParameters.find((param: any) => param.name === 'order_by'); + if(order && order.schema && order.schema.default) { + this.orderBy = order.schema.default; + } + this.route.queryParams.subscribe((params: Params) => { const query: any = JSON.parse(JSON.stringify(params || '{}')); diff --git a/src/app/pages/server-prices/server-prices.component.ts b/src/app/pages/server-prices/server-prices.component.ts index ce9008c3..239c03a4 100644 --- a/src/app/pages/server-prices/server-prices.component.ts +++ b/src/app/pages/server-prices/server-prices.component.ts @@ -184,6 +184,16 @@ export class ServerPricesComponent implements OnInit { const parameters = this.openApiJson.paths['/server_prices'].get.parameters || []; this.searchParameters = parameters; + let limit = this.searchParameters.find((param: any) => param.name === 'limit'); + if(limit && limit.schema && limit.schema.default) { + this.limit = limit.schema.default; + } + + let order = this.searchParameters.find((param: any) => param.name === 'order_by'); + if(order && order.schema && order.schema.default) { + this.orderBy = order.schema.default; + } + this.route.queryParams.subscribe((params: Params) => { const query: any = JSON.parse(JSON.stringify(params || '{}')); From 6b7e92e6af56fba848872622ed7a00391a187ced Mon Sep 17 00:00:00 2001 From: Palabola Date: Mon, 16 Sep 2024 11:20:40 +0200 Subject: [PATCH 30/66] e2e --- cypress/e2e/servers_page.cy.ts | 2 +- cypress/e2e/servers_prices_page.cy.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cypress/e2e/servers_page.cy.ts b/cypress/e2e/servers_page.cy.ts index 3db0faaa..a4686d7f 100644 --- a/cypress/e2e/servers_page.cy.ts +++ b/cypress/e2e/servers_page.cy.ts @@ -20,7 +20,7 @@ describe('Server listing', () => { E2EEvent.isVisible(`[id="servers_table"]`); // count lines - E2EEvent.countElements(`[id="servers_table"]`, `[id="server_table_data_line"]`,25); + E2EEvent.countElements(`[id="servers_table"]`, `[id="server_table_data_line"]`, 50); // pagination E2EEvent.isVisible(`[id="pagination_next_arrow"]`); diff --git a/cypress/e2e/servers_prices_page.cy.ts b/cypress/e2e/servers_prices_page.cy.ts index 657ff4fb..8eb4d631 100644 --- a/cypress/e2e/servers_prices_page.cy.ts +++ b/cypress/e2e/servers_prices_page.cy.ts @@ -14,7 +14,7 @@ describe('Server prices', () => { E2EEvent.isVisible(`[id="server_prices_table"]`); - E2EEvent.countElements(`[id="server_prices_table"]`, `[id="server_table_data_line"]`,25); + E2EEvent.countElements(`[id="server_prices_table"]`, `[id="server_table_data_line"]`, 50); E2EEvent.isVisible(`[id="pagination_next_arrow"]`); From 7f6613e7027be1a788286954d081c60f21fd8d0b Mon Sep 17 00:00:00 2001 From: "Gergely Daroczi (@daroczig)" Date: Tue, 17 Sep 2024 22:48:18 +0200 Subject: [PATCH 31/66] revert page size as we don't want to change how things works in this PR --- cypress/e2e/servers_page.cy.ts | 2 +- cypress/e2e/servers_prices_page.cy.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cypress/e2e/servers_page.cy.ts b/cypress/e2e/servers_page.cy.ts index a4686d7f..f8105eb9 100644 --- a/cypress/e2e/servers_page.cy.ts +++ b/cypress/e2e/servers_page.cy.ts @@ -20,7 +20,7 @@ describe('Server listing', () => { E2EEvent.isVisible(`[id="servers_table"]`); // count lines - E2EEvent.countElements(`[id="servers_table"]`, `[id="server_table_data_line"]`, 50); + E2EEvent.countElements(`[id="servers_table"]`, `[id="server_table_data_line"]`, 25); // pagination E2EEvent.isVisible(`[id="pagination_next_arrow"]`); diff --git a/cypress/e2e/servers_prices_page.cy.ts b/cypress/e2e/servers_prices_page.cy.ts index 8eb4d631..8ddca2fd 100644 --- a/cypress/e2e/servers_prices_page.cy.ts +++ b/cypress/e2e/servers_prices_page.cy.ts @@ -14,7 +14,7 @@ describe('Server prices', () => { E2EEvent.isVisible(`[id="server_prices_table"]`); - E2EEvent.countElements(`[id="server_prices_table"]`, `[id="server_table_data_line"]`, 50); + E2EEvent.countElements(`[id="server_prices_table"]`, `[id="server_table_data_line"]`, 25); E2EEvent.isVisible(`[id="pagination_next_arrow"]`); From 2d5deb3676bd99c2adf33e396941df01bee03247 Mon Sep 17 00:00:00 2001 From: Palabola Date: Sat, 21 Sep 2024 12:11:07 +0200 Subject: [PATCH 32/66] SDK update --- package.json | 4 +++- sdk/ServerPricesRoute.ts | 3 +-- sdk/ServersRoute.ts | 3 +-- sdk/StoragePricesRoute.ts | 7 ++++++- sdk/TrafficPricesRoute.ts | 12 +++++++++++- sdk/data-contracts.ts | 25 +++++++++++++++++++------ sdk/openapi.json | 2 +- 7 files changed, 42 insertions(+), 14 deletions(-) diff --git a/package.json b/package.json index c691ed0b..be8cd702 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,9 @@ "sentry:release": "SENTRY_RELEASE=`sentry-cli releases propose-version` && sentry-cli releases new $SENTRY_RELEASE", "sentry:release-with-commits": "SENTRY_RELEASE=`sentry-cli releases propose-version` && sentry-cli releases new $SENTRY_RELEASE && sentry-cli releases set-commits $SENTRY_RELEASE --auto && sentry-cli releases finalize $SENTRY_RELEASE", "cypress:open": "cypress open", - "cypress:run": "cypress run" + "cypress:run": "cypress run", + "generate-api": "npx swagger-typescript-api -p http://localhost:8000/openapi.json -o ./sdk -n KeeperApi.ts --extract-request-params --extract-request-body --extract-response-body --route-types --modular --single-http-client", + "generate-api-prod": "npx swagger-typescript-api -p https://keeper.sparecores.net/openapi.json -o ./sdk -n KeeperApi.ts --extract-request-params --extract-request-body --extract-response-body --route-types --modular --single-http-client" }, "private": true, "dependencies": { diff --git a/sdk/ServerPricesRoute.ts b/sdk/ServerPricesRoute.ts index 2f0aabd0..95e3e813 100644 --- a/sdk/ServerPricesRoute.ts +++ b/sdk/ServerPricesRoute.ts @@ -285,7 +285,7 @@ export namespace ServerPrices { * Limit * Maximum number of results. * @max 250 - * @default 50 + * @default 25 */ limit?: number; /** @@ -300,7 +300,6 @@ export namespace ServerPrices { */ order_by?: string; /** - * Order Dir * Order direction. * @default "asc" */ diff --git a/sdk/ServersRoute.ts b/sdk/ServersRoute.ts index b3a9d197..31330e3f 100644 --- a/sdk/ServersRoute.ts +++ b/sdk/ServersRoute.ts @@ -94,7 +94,7 @@ export namespace Servers { /** * Limit * Maximum number of results. Set to -1 for unlimited. - * @default 50 + * @default 25 */ limit?: number; /** @@ -109,7 +109,6 @@ export namespace Servers { */ order_by?: string; /** - * Order Dir * Order direction. * @default "asc" */ diff --git a/sdk/StoragePricesRoute.ts b/sdk/StoragePricesRoute.ts index 85493aff..60cc2c94 100644 --- a/sdk/StoragePricesRoute.ts +++ b/sdk/StoragePricesRoute.ts @@ -240,7 +240,6 @@ export namespace StoragePrices { */ order_by?: string; /** - * Order Dir * Order direction. * @default "asc" */ @@ -251,6 +250,12 @@ export namespace StoragePrices { * @default "USD" */ currency?: string | null; + /** + * Add Total Count Header + * Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times. + * @default false + */ + add_total_count_header?: boolean; }; export type RequestBody = never; export type RequestHeaders = {}; diff --git a/sdk/TrafficPricesRoute.ts b/sdk/TrafficPricesRoute.ts index 4940c27a..471beefe 100644 --- a/sdk/TrafficPricesRoute.ts +++ b/sdk/TrafficPricesRoute.ts @@ -32,6 +32,11 @@ export namespace TrafficPrices { * Filter for regions with kow CO2 emission only. */ green_energy?: boolean | null; + /** + * Compliance Framework id + * Compliance framework implemented at the vendor. + */ + compliance_framework?: "hipaa" | "iso27001" | "soc2t2"; /** * Region id * Identifier of the region. @@ -237,7 +242,6 @@ export namespace TrafficPrices { */ order_by?: string; /** - * Order Dir * Order direction. * @default "asc" */ @@ -248,6 +252,12 @@ export namespace TrafficPrices { * @default "USD" */ currency?: string | null; + /** + * Add Total Count Header + * Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times. + * @default false + */ + add_total_count_header?: boolean; }; export type RequestBody = never; export type RequestHeaders = {}; diff --git a/sdk/data-contracts.ts b/sdk/data-contracts.ts index 803d62d1..f1c522f7 100644 --- a/sdk/data-contracts.ts +++ b/sdk/data-contracts.ts @@ -3207,7 +3207,7 @@ export interface SearchServersServersGetParams { /** * Limit * Maximum number of results. Set to -1 for unlimited. - * @default 50 + * @default 25 */ limit?: number; /** @@ -3222,7 +3222,6 @@ export interface SearchServersServersGetParams { */ order_by?: string; /** - * Order Dir * Order direction. * @default "asc" */ @@ -3502,7 +3501,7 @@ export interface SearchServerPricesServerPricesGetParams { * Limit * Maximum number of results. * @max 250 - * @default 50 + * @default 25 */ limit?: number; /** @@ -3517,7 +3516,6 @@ export interface SearchServerPricesServerPricesGetParams { */ order_by?: string; /** - * Order Dir * Order direction. * @default "asc" */ @@ -3758,7 +3756,6 @@ export interface SearchStoragePricesStoragePricesGetParams { */ order_by?: string; /** - * Order Dir * Order direction. * @default "asc" */ @@ -3769,6 +3766,12 @@ export interface SearchStoragePricesStoragePricesGetParams { * @default "USD" */ currency?: string | null; + /** + * Add Total Count Header + * Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times. + * @default false + */ + add_total_count_header?: boolean; } /** Response Search Storage Prices Storage Prices Get */ @@ -3785,6 +3788,11 @@ export interface SearchTrafficPricesTrafficPricesGetParams { * Filter for regions with kow CO2 emission only. */ green_energy?: boolean | null; + /** + * Compliance Framework id + * Compliance framework implemented at the vendor. + */ + compliance_framework?: "hipaa" | "iso27001" | "soc2t2"; /** * Region id * Identifier of the region. @@ -3990,7 +3998,6 @@ export interface SearchTrafficPricesTrafficPricesGetParams { */ order_by?: string; /** - * Order Dir * Order direction. * @default "asc" */ @@ -4001,6 +4008,12 @@ export interface SearchTrafficPricesTrafficPricesGetParams { * @default "USD" */ currency?: string | null; + /** + * Add Total Count Header + * Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times. + * @default false + */ + add_total_count_header?: boolean; } /** Response Search Traffic Prices Traffic Prices Get */ diff --git a/sdk/openapi.json b/sdk/openapi.json index aa51d193..0a2b47d6 100644 --- a/sdk/openapi.json +++ b/sdk/openapi.json @@ -1 +1 @@ -{"openapi":"3.1.0","info":{"title":"Spare Cores (SC) Keeper","description":"\nAPI to search and serve data collected on cloud compute resources.\n\n## Licensing\n\nThis is a free service provided by the Spare Cores team, without any warranty.\nThe source code of the API is licensed under MPL-2.0, find more details at\n.\n\n## References\n\n- Spare Cores: \n- SC Keeper: \n- SC Crawler: \n- SC Data: \n","termsOfService":"https://sparecores.com/legal/terms-of-service","contact":{"name":"Spare Cores Team","email":"social@sparecores.com"},"license":{"name":"Mozilla Public License 2.0 (MPL 2.0)","url":"http://mozilla.org/MPL/2.0/"},"version":"0.3.0"},"paths":{"/healthcheck":{"get":{"tags":["Administrative endpoints"],"summary":"Healthcheck","description":"Quickly return package and database version information.","operationId":"healthcheck_healthcheck_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthcheckResponse"}}}}}}},"/table/benchmark":{"get":{"tags":["Table dumps"],"summary":"Table Benchmark","description":"Return the Benchmark table as-is, without filtering options or relationships resolved.","operationId":"table_benchmark_table_benchmark_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Benchmark"},"type":"array","title":"Response Table Benchmark Table Benchmark Get"}}}}}}},"/table/country":{"get":{"tags":["Table dumps"],"summary":"Table Country","description":"Return the Country table as-is, without filtering options or relationships resolved.","operationId":"table_country_table_country_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Country"},"type":"array","title":"Response Table Country Table Country Get"}}}}}}},"/table/compliance_framework":{"get":{"tags":["Table dumps"],"summary":"Table Compliance Frameworks","description":"Return the ComplianceFramework table as-is, without filtering options or relationships resolved.","operationId":"table_compliance_frameworks_table_compliance_framework_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ComplianceFramework"},"type":"array","title":"Response Table Compliance Frameworks Table Compliance Framework Get"}}}}}}},"/table/vendor":{"get":{"tags":["Table dumps"],"summary":"Table Vendor","description":"Return the Vendor table as-is, without filtering options or relationships resolved.","operationId":"table_vendor_table_vendor_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Vendor"},"type":"array","title":"Response Table Vendor Table Vendor Get"}}}}}}},"/table/region":{"get":{"tags":["Table dumps"],"summary":"Table Region","description":"Return the Region table as-is, without filtering options or relationships resolved.","operationId":"table_region_table_region_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Region"},"type":"array","title":"Response Table Region Table Region Get"}}}}}}},"/table/zone":{"get":{"tags":["Table dumps"],"summary":"Table Zone","description":"Return the Zone table as-is, without filtering options or relationships resolved.","operationId":"table_zone_table_zone_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Zone"},"type":"array","title":"Response Table Zone Table Zone Get"}}}}}}},"/table/server":{"get":{"tags":["Table dumps"],"summary":"Table Server","description":"Return the Server table as-is, without filtering options or relationships resolved.","operationId":"table_server_table_server_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Server"},"type":"array","title":"Response Table Server Table Server Get"}}}}}}},"/table/storage":{"get":{"tags":["Table dumps"],"summary":"Table Storage","description":"Return the Storage table as-is, without filtering options or relationships resolved.","operationId":"table_storage_table_storage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Storage"},"type":"array","title":"Response Table Storage Table Storage Get"}}}}}}},"/table/server/meta":{"get":{"tags":["Table metadata"],"summary":"Table Metadata Server","description":"Server table and column names and comments.","operationId":"table_metadata_server_table_server_meta_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerTableMetaData"}}}}}}},"/server/{vendor}/{server}":{"get":{"tags":["Server Details"],"summary":"Get Server","description":"Query a single server by its vendor id and either the server or, or its API reference.\n\nReturn dictionary includes all server fields, along\nwith the current prices per zone, and\nthe available benchmark scores.","operationId":"get_server_server__vendor___server__get","deprecated":true,"parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"Vendor ID.","title":"Vendor"},"description":"Vendor ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"Server ID or API reference.","title":"Server"},"description":"Server ID or API reference."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","title":"Currency"},"description":"Currency used for prices."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerPKsWithPrices"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v2/server/{vendor}/{server}":{"get":{"tags":["Server Details"],"summary":"Get Server Without Relations","description":"Query a single server by its vendor id and either the server id or its API reference.","operationId":"get_server_without_relations_v2_server__vendor___server__get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"A Vendor's ID.","title":"Vendor"},"description":"A Vendor's ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"A Server's ID or API reference.","title":"Server"},"description":"A Server's ID or API reference."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerBase"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}/similar_servers/{by}/{num}":{"get":{"tags":["Server Details"],"summary":"Get Similar Servers","description":"Search similar servers to the provided one.\n\nThe \"family\" method returns all servers from the same family of\nthe same vendor.\n\nThe \"specs\" approach will prioritize the number of\nGPUs, then CPUs, lastly the amount of memory.\n\nThe \"score\" method will find the servers with the closest\nperformance using the multi-core SCore.","operationId":"get_similar_servers_server__vendor___server__similar_servers__by___num__get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"Vendor ID.","title":"Vendor"},"description":"Vendor ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"Server ID or API reference.","title":"Server"},"description":"Server ID or API reference."},{"name":"by","in":"path","required":true,"schema":{"enum":["family","specs","score"],"type":"string","description":"Algorithm to look for similar servers.","title":"By"},"description":"Algorithm to look for similar servers."},{"name":"num","in":"path","required":true,"schema":{"type":"integer","maximum":100,"description":"Number of servers to get.","title":"Num"},"description":"Number of servers to get."},{"name":"benchmark_id","in":"query","required":false,"schema":{"type":"string","description":"Benchmark id to use as the main score for the server.","default":"stress_ng:cpu_all","title":"Benchmark Id"},"description":"Benchmark id to use as the main score for the server."},{"name":"benchmark_config","in":"query","required":false,"schema":{"type":"string","description":"Benchmark id to use as the main score for the server.","default":"","title":"Benchmark Config"},"description":"Benchmark id to use as the main score for the server."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPKs"},"title":"Response Get Similar Servers Server Vendor Server Similar Servers By Num Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}/prices":{"get":{"tags":["Server Details"],"summary":"Get Server Prices","description":"Query the current prices of a single server by its vendor id and server id.","operationId":"get_server_prices_server__vendor___server__prices_get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"A Vendor's ID.","title":"Vendor"},"description":"A Vendor's ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"A Server's ID or API reference.","title":"Server"},"description":"A Server's ID or API reference."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","title":"Currency"},"description":"Currency used for prices."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPrice"},"title":"Response Get Server Prices Server Vendor Server Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}/benchmarks":{"get":{"tags":["Server Details"],"summary":"Get Server Benchmarks","description":"Query the current benchmark scores of a single server.","operationId":"get_server_benchmarks_server__vendor___server__benchmarks_get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"A Vendor's ID.","title":"Vendor"},"description":"A Vendor's ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"A Server's ID or API reference.","title":"Server"},"description":"A Server's ID or API reference."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BenchmarkScore"},"title":"Response Get Server Benchmarks Server Vendor Server Benchmarks Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_server_filters":{"get":{"tags":["AI"],"summary":"Assist Server Filters","description":"Extract Server JSON filters from freetext.","operationId":"assist_server_filters_ai_assist_server_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Server Filters Ai Assist Server Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_server_price_filters":{"get":{"tags":["AI"],"summary":"Assist Server Price Filters","description":"Extract ServerPrice JSON filters from freetext.","operationId":"assist_server_price_filters_ai_assist_server_price_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Server Price Filters Ai Assist Server Price Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_storage_price_filters":{"get":{"tags":["AI"],"summary":"Assist Storage Price Filters","description":"Extract StoragePrice JSON filters from freetext.","operationId":"assist_storage_price_filters_ai_assist_storage_price_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Storage Price Filters Ai Assist Storage Price Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_traffic_price_filters":{"get":{"tags":["AI"],"summary":"Assist Traffic Price Filters","description":"Extract TrafficPrice JSON filters from freetext.","operationId":"assist_traffic_price_filters_ai_assist_traffic_price_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Traffic Price Filters Ai Assist Traffic Price Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/regions":{"get":{"tags":["Query Resources"],"summary":"Search Regions","operationId":"search_regions_regions_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RegionPKs"},"title":"Response Search Regions Regions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/servers":{"get":{"tags":["Query Resources"],"summary":"Search Servers","operationId":"search_servers_servers_get","parameters":[{"name":"partial_name_or_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partial name or id","description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name.","category_id":"basic"},"description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name."},{"name":"vcpus_min","in":"query","required":false,"schema":{"type":"integer","maximum":256,"minimum":1,"title":"Minimum vCPUs","description":"Minimum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","default":1},"description":"Minimum number of virtual CPUs."},{"name":"architecture","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuArchitecture"}},{"type":"null"}],"title":"Processor architecture","description":"Processor architecture.","category_id":"processor","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"]},"description":"Processor architecture."},{"name":"benchmark_score_stressng_cpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"SCore","description":"Minimum stress-ng CPU workload score.","category_id":"processor"},"description":"Minimum stress-ng CPU workload score."},{"name":"memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum memory","description":"Minimum amount of memory in GBs.","category_id":"memory","unit":"GB","step":0.1},"description":"Minimum amount of memory in GBs."},{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active only","description":"Filter for active servers only.","category_id":"basic","default":true},"description":"Filter for active servers only."},{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"storage_size","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs).","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs)."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"gpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"GPU count","description":"Minimum number of GPUs.","category_id":"gpu","unit":"GPUs"},"description":"Minimum number of GPUs."},{"name":"gpu_memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum GPU memory","description":"Minimum amount of GPU memory (GB) in each GPU.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of GPU memory (GB) in each GPU."},{"name":"gpu_memory_total","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total GPU memory","description":"Minimum amount of total GPU memory (GBs) in all GPUs.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of total GPU memory (GBs) in all GPUs."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited.","default":50,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"vcpus","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPKs"},"title":"Response Search Servers Servers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server_prices":{"get":{"tags":["Query Resources"],"summary":"Search Server Prices","operationId":"search_server_prices_server_prices_get","parameters":[{"name":"partial_name_or_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partial name or id","description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name.","category_id":"basic"},"description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name."},{"name":"vcpus_min","in":"query","required":false,"schema":{"type":"integer","maximum":256,"minimum":1,"title":"Minimum vCPUs","description":"Minimum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","default":1},"description":"Minimum number of virtual CPUs."},{"name":"architecture","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuArchitecture"}},{"type":"null"}],"title":"Processor architecture","description":"Processor architecture.","category_id":"processor","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"]},"description":"Processor architecture."},{"name":"benchmark_score_stressng_cpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"SCore","description":"Minimum stress-ng CPU workload score.","category_id":"processor"},"description":"Minimum stress-ng CPU workload score."},{"name":"memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum memory","description":"Minimum amount of memory in GBs.","category_id":"memory","unit":"GB","step":0.1},"description":"Minimum amount of memory in GBs."},{"name":"price_max","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Maximum price","description":"Maximum price (USD/hr).","category_id":"price","step":0.0001},"description":"Maximum price (USD/hr)."},{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active only","description":"Filter for active servers only.","category_id":"basic","default":true},"description":"Filter for active servers only."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"allocation","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/Allocation"},{"type":"null"}],"title":"Allocation","description":"Server allocation method.","enum":["ondemand","reserved","spot"]},"description":"Server allocation method."},{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"Region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"storage_size","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs).","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs)."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Countries"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"gpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"GPU count","description":"Minimum number of GPUs.","category_id":"gpu","unit":"GPUs"},"description":"Minimum number of GPUs."},{"name":"gpu_memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum GPU memory","description":"Minimum amount of GPU memory (GB) in each GPU.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of GPU memory (GB) in each GPU."},{"name":"gpu_memory_total","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total GPU memory","description":"Minimum amount of total GPU memory (GBs) in all GPUs.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of total GPU memory (GBs) in all GPUs."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":250,"description":"Maximum number of results.","default":50,"title":"Limit"},"description":"Maximum number of results."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","default":"USD","title":"Currency"},"description":"Currency used for prices."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPriceWithPKs"},"title":"Response Search Server Prices Server Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/storage_prices":{"get":{"tags":["Query Resources"],"summary":"Search Storage Prices","operationId":"search_storage_prices_storage_prices_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"storage_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs).","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs)."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"Region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Countries"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited.","default":10,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","default":"USD","title":"Currency"},"description":"Currency used for prices."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StoragePriceWithPKs"},"title":"Response Search Storage Prices Storage Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/traffic_prices":{"get":{"tags":["Query Resources"],"summary":"Search Traffic Prices","operationId":"search_traffic_prices_traffic_prices_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"Region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Countries"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"direction","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/TrafficDirection"}},{"type":"null"}],"title":"Direction","description":"Direction of the Internet traffic.","category_id":"traffic","enum":["inbound","outbound"],"default":["outbound"]},"description":"Direction of the Internet traffic."},{"name":"monthly_traffic","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Monthly Overall Traffic","description":"Overall amount of monthly traffic (GBs).","category_id":"traffic","unit":"GB","step":1,"default":1},"description":"Overall amount of monthly traffic (GBs)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited.","default":10,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","default":"USD","title":"Currency"},"description":"Currency used for prices."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TrafficPriceWithPKsWithMonthlyTraffic"},"title":"Response Search Traffic Prices Traffic Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Allocation":{"type":"string","enum":["ondemand","reserved","spot"],"title":"Allocation","description":"Server allocation options."},"Benchmark":{"properties":{"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Unique identifier of a specific Benchmark."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"framework":{"type":"string","title":"Framework","description":"The name of the benchmark framework/software/tool used."},"config_fields":{"type":"object","title":"Config Fields","description":"A dictionary of descriptions on the framework-specific config options, e.g. {\"bandwidth\": \"Memory amount to use for compression in MB.\"}.","default":{}},"measurement":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Measurement","description":"The name of measurement recoreded in the benchmark."},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit","description":"Optional unit of measurement for the benchmark score."},"higher_is_better":{"type":"boolean","title":"Higher Is Better","description":"If higher benchmark score means better performance, or vica versa.","default":true},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["benchmark_id","name","description","framework"],"title":"Benchmark","description":"Benchmark scenario definitions.\n\nAttributes:\n benchmark_id (str): Unique identifier of a specific Benchmark.\n name (str): Human-friendly name.\n description (typing.Optional[str]): Short description.\n framework (str): The name of the benchmark framework/software/tool used.\n config_fields (dict): A dictionary of descriptions on the framework-specific config options, e.g. {\"bandwidth\": \"Memory amount to use for compression in MB.\"}.\n measurement (typing.Optional[str]): The name of measurement recoreded in the benchmark.\n unit (typing.Optional[str]): Optional unit of measurement for the benchmark score.\n higher_is_better (bool): If higher benchmark score means better performance, or vica versa.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"benchmark_id":"geekbench:hdr","config_fields":{"cores":"Single-Core or Multi-Core peformance tests.","framework_version":"Version number of geekbench."},"description":"Blends six 16MP SDR photos to create a single HDR photo, using a recovery process and radiance map construction (Debevec and Malik 1997), and a tone mapping algorithm (Reinhard and Devlin 2005).The score is calibrated against a baseline score of 2,500 (Dell Precision 3460 with a Core i7-12700 processor) as per the Geekbench 6 Benchmark Internals.","framework":"geekbench","higher_is_better":true,"measurement":"hdr","name":"Geekbench: HDR","observed_at":"2024-09-13T07:06:14.403976","status":"active"}]},"BenchmarkScore":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Reference to the Benchmark."},"config":{"type":"object","title":"Config","description":"Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}","default":{}},"score":{"type":"number","title":"Score","description":"The resulting score of the benchmark."},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Optional note, comment or context on the benchmark score."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","benchmark_id","score"],"title":"BenchmarkScore","description":"Results of running Benchmark scenarios on Servers.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n server_id (str): Reference to the Server.\n benchmark_id (str): Reference to the Benchmark.\n config (sc_crawler.table_fields.HashableDict | dict): Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}\n score (float): The resulting score of the benchmark.\n note (typing.Optional[str]): Optional note, comment or context on the benchmark score.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation."},"BenchmarkScoreBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Reference to the Benchmark."},"config":{"type":"object","title":"Config","description":"Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}","default":{}},"score":{"type":"number","title":"Score","description":"The resulting score of the benchmark."},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Optional note, comment or context on the benchmark score."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","benchmark_id","score"],"title":"BenchmarkScoreBase"},"ComplianceFramework":{"properties":{"compliance_framework_id":{"type":"string","title":"Compliance Framework Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"abbreviation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abbreviation","description":"Short abbreviation of the Framework name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Description of the framework in a few paragrahs, outlining key features and characteristics for reference."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Framework's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage with more information on the Framework."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["compliance_framework_id","name","abbreviation","description"],"title":"ComplianceFramework","description":"List of Compliance Frameworks, such as HIPAA or SOC 2 Type 1.\n\nAttributes:\n compliance_framework_id (str): Unique identifier.\n name (str): Human-friendly name.\n abbreviation (typing.Optional[str]): Short abbreviation of the Framework name.\n description (typing.Optional[str]): Description of the framework in a few paragrahs, outlining key features and characteristics for reference.\n logo (typing.Optional[str]): Publicly accessible URL to the image of the Framework's logo.\n homepage (typing.Optional[str]): Public homepage with more information on the Framework.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"abbreviation":"HIPAA","compliance_framework_id":"hipaa","description":"HIPAA (Health Insurance Portability and Accountability Act) is a U.S. federal law designed to safeguard the privacy and security of individuals' health information, establishing standards for its protection and regulating its use in the healthcare industry.","homepage":"https://www.cdc.gov/phlp/publications/topic/hipaa.html","name":"The Health Insurance Portability and Accountability Act","observed_at":"2024-09-13T07:06:14.401873","status":"active"}]},"ComplianceFrameworks":{"type":"string","enum":["hipaa","iso27001","soc2t2"],"title":"ComplianceFrameworks"},"Countries":{"type":"string","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"],"title":"Countries"},"Country":{"properties":{"country_id":{"type":"string","title":"Country Id","description":"Country code by ISO 3166 alpha-2."},"continent":{"type":"string","title":"Continent","description":"Continent name."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["country_id","continent"],"title":"Country","description":"Country and continent mapping.\n\nAttributes:\n country_id (str): Country code by ISO 3166 alpha-2.\n continent (str): Continent name.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"continent":"Asia","country_id":"AE","observed_at":"2024-09-13T07:06:14.400114","status":"active"}]},"CountryBase":{"properties":{"country_id":{"type":"string","title":"Country Id","description":"Country code by ISO 3166 alpha-2."},"continent":{"type":"string","title":"Continent","description":"Continent name."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["country_id","continent"],"title":"CountryBase"},"Cpu":{"properties":{"manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Manufacturer"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cores"},"threads":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Threads"},"l1_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L1 Cache Size"},"l2_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L2 Cache Size"},"l3_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L3 Cache Size"},"microcode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Microcode"},"capabilities":{"items":{"type":"string"},"type":"array","title":"Capabilities","default":[]},"bugs":{"items":{"type":"string"},"type":"array","title":"Bugs","default":[]},"bogomips":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Bogomips"}},"type":"object","title":"Cpu","description":"CPU details."},"CpuAllocation":{"type":"string","enum":["Shared","Burstable","Dedicated"],"title":"CpuAllocation","description":"CPU allocation methods at cloud vendors."},"CpuArchitecture":{"type":"string","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"],"title":"CpuArchitecture","description":"CPU architectures."},"DdrGeneration":{"type":"string","enum":["DDR3","DDR4","DDR5"],"title":"DdrGeneration","description":"Generation of the DDR SDRAM."},"Disk":{"properties":{"size":{"type":"integer","title":"Size","default":0},"storage_type":{"$ref":"#/components/schemas/StorageType"}},"type":"object","required":["storage_type"],"title":"Disk","description":"Disk definition based on size and storage type."},"Gpu":{"properties":{"manufacturer":{"type":"string","title":"Manufacturer"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"memory":{"type":"integer","title":"Memory"},"firmware_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firmware Version"},"bios_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bios Version"},"graphics_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Graphics Clock"},"sm_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sm Clock"},"mem_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Mem Clock"},"video_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Video Clock"}},"type":"object","required":["manufacturer","memory"],"title":"Gpu","description":"GPU accelerator details."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HealthcheckResponse":{"properties":{"packages":{"type":"object","title":"Packages"},"database_last_updated":{"type":"number","title":"Database Last Updated"},"database_hash":{"type":"string","title":"Database Hash"},"database_alembic_version":{"type":"string","title":"Database Alembic Version"}},"type":"object","required":["packages","database_last_updated","database_hash","database_alembic_version"],"title":"HealthcheckResponse","examples":[{"database_alembic_version":"bar","database_hash":"foo","database_last_updated":1726212120.1936705,"packages":{"sparecores-crawler":"1.0.0"}}]},"IdNameAndDescriptionAndCategory":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"id":{"type":"string","title":"Id"},"category":{"type":"string","title":"Category"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"}},"type":"object","required":["name","description","id","category","unit"],"title":"IdNameAndDescriptionAndCategory"},"NameAndDescription":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"}},"type":"object","required":["name","description"],"title":"NameAndDescription"},"OrderDir":{"type":"string","enum":["asc","desc"],"title":"OrderDir"},"PriceTier":{"properties":{"lower":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Lower"},"upper":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Upper"},"price":{"type":"number","title":"Price"}},"type":"object","required":["lower","upper","price"],"title":"PriceTier","description":"Price tier definition.\n\nAs standard JSON does not support Inf, NaN etc values,\nthose should be passed as string, e.g. for the upper bound.\n\nSee [float_inf_to_str][sc_crawler.utils.float_inf_to_str] for\nconverting an infinite numeric value into \"Infinity\"."},"PriceUnit":{"type":"string","enum":["year","month","hour","GiB","GB","GB/month"],"title":"PriceUnit","description":"Supported units for the price tables."},"Region":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id"],"title":"Region","description":"Regions of Vendors.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n aliases (typing.List[str]): List of other commonly used names for the same Region.\n country_id (str): Reference to the Country, where the Region is located.\n state (typing.Optional[str]): Optional state/administrative area of the Region's location within the Country.\n city (typing.Optional[str]): Optional city name of the Region's location.\n address_line (typing.Optional[str]): Optional address line of the Region's location.\n zip_code (typing.Optional[str]): Optional ZIP code of the Region's location.\n lon (typing.Optional[float]): Longitude coordinate of the Region's known or approximate location.\n lat (typing.Optional[float]): Latitude coordinate of the Region's known or approximate location.\n founding_year (typing.Optional[int]): 4-digit year when the Region was founded.\n green_energy (typing.Optional[bool]): If the Region is 100% powered by renewable energy.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-13T06:18:41.301603","region_id":"af-south-1","status":"active","vendor_id":"aws"}]},"RegionBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id"],"title":"RegionBase"},"RegionBaseWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"country":{"$ref":"#/components/schemas/CountryBase"}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id","country"],"title":"RegionBaseWithPKs"},"RegionPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"vendor":{"$ref":"#/components/schemas/VendorBase"}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id","vendor"],"title":"RegionPKs","examples":[{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-13T06:18:41.301603","region_id":"af-south-1","status":"active","vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-13T07:06:14.405426","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws"}]},"Regions":{"type":"string","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"],"title":"Regions"},"Server":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"Server","description":"Server types.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n server_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n description (typing.Optional[str]): Short description.\n family (typing.Optional[str]): Server family, e.g. General-purpose machine (GCP), or M5g (AWS).\n vcpus (int): Default number of virtual CPUs (vCPU) of the server.\n hypervisor (typing.Optional[str]): Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated.\n cpu_allocation (CpuAllocation): Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated.\n cpu_cores (typing.Optional[int]): Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled.\n cpu_speed (typing.Optional[float]): Vendor-reported maximum CPU clock speed (GHz).\n cpu_architecture (CpuArchitecture): CPU architecture (arm64, arm64_mac, i386, or x86_64).\n cpu_manufacturer (typing.Optional[str]): The manufacturer of the primary processor, e.g. Intel or AMD.\n cpu_family (typing.Optional[str]): The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9.\n cpu_model (typing.Optional[str]): The model number of the primary processor, e.g. 9750H.\n cpu_l1_cache (typing.Optional[int]): L1 cache size (byte).\n cpu_l2_cache (typing.Optional[int]): L2 cache size (byte).\n cpu_l3_cache (typing.Optional[int]): L3 cache size (byte).\n cpu_flags (typing.List[str]): CPU features/flags.\n cpus (typing.List[sc_crawler.table_fields.Cpu]): JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.\n memory_amount (int): RAM amount (MiB).\n memory_generation (typing.Optional[sc_crawler.table_fields.DdrGeneration]): Generation of the DDR SDRAM, e.g. DDR4 or DDR5.\n memory_speed (typing.Optional[int]): DDR SDRAM clock rate (Mhz).\n memory_ecc (typing.Optional[bool]): If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption.\n gpu_count (int): Number of GPU accelerator(s).\n gpu_memory_min (typing.Optional[int]): Memory (MiB) allocated to the lowest-end GPU accelerator.\n gpu_memory_total (typing.Optional[int]): Overall memory (MiB) allocated to all the GPU accelerator(s).\n gpu_manufacturer (typing.Optional[str]): The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD.\n gpu_family (typing.Optional[str]): The product family of the primary GPU accelerator, e.g. Turing.\n gpu_model (typing.Optional[str]): The model number of the primary GPU accelerator, e.g. Tesla T4.\n gpus (typing.List[sc_crawler.table_fields.Gpu]): JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.\n storage_size (int): Overall size (GB) of the disk(s).\n storage_type (typing.Optional[sc_crawler.table_fields.StorageType]): Primary disk type, e.g. HDD, SSD, NVMe SSD, or network).\n storages (typing.List[sc_crawler.table_fields.Disk]): JSON array of disks attached to the server, including the size (MiB) and type of each disk.\n network_speed (typing.Optional[float]): The baseline network performance (Gbps) of the network card.\n inbound_traffic (float): Amount of complimentary inbound traffic (GB) per month.\n outbound_traffic (float): Amount of complimentary outbound traffic (GB) per month.\n ipv4 (int): Number of complimentary IPv4 address(es).\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-13T06:19:31.276942","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"}]},"ServerBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"ServerBase"},"ServerPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"},"vendor":{"$ref":"#/components/schemas/VendorBase"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description","vendor"],"title":"ServerPKs","examples":[{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-13T06:19:31.276942","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"}]},"ServerPKsWithPrices":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"prices":{"items":{"$ref":"#/components/schemas/ServerPricePKs"},"type":"array","title":"Prices"},"benchmark_scores":{"items":{"$ref":"#/components/schemas/BenchmarkScoreBase"},"type":"array","title":"Benchmark Scores"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description","vendor","prices","benchmark_scores"],"title":"ServerPKsWithPrices","examples":[{"api_reference":"a1.2xlarge","benchmark_scores":[{"benchmark_id":"geekbench:hdr","config_fields":{"cores":"Single-Core or Multi-Core peformance tests.","framework_version":"Version number of geekbench."},"description":"Blends six 16MP SDR photos to create a single HDR photo, using a recovery process and radiance map construction (Debevec and Malik 1997), and a tone mapping algorithm (Reinhard and Devlin 2005).The score is calibrated against a baseline score of 2,500 (Dell Precision 3460 with a Core i7-12700 processor) as per the Geekbench 6 Benchmark Internals.","framework":"geekbench","higher_is_better":true,"measurement":"hdr","name":"Geekbench: HDR","observed_at":"2024-09-13T07:06:14.403976","status":"active"}],"cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-13T06:19:31.276942","outbound_traffic":0.0,"price":7,"prices":[{"allocation":"spot","currency":"USD","observed_at":"2024-09-13T02:47:46","operating_system":"Linux","price":0.0743,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-13T06:18:41.301603","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-west-2","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-13T06:18:44.243694","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"usw2-az2"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-13T05:02:46","operating_system":"Linux","price":0.0843,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-13T06:18:41.301603","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-west-2","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-13T06:18:44.243694","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"usw2-az3"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-13T04:46:23","operating_system":"Linux","price":0.0941,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-13T06:18:41.301603","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"ap-northeast-1","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-13T06:18:44.243694","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"apne1-az4"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-13T04:02:12","operating_system":"Linux","price":0.0993,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-13T06:18:41.301603","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"eu-central-1","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-13T06:18:44.243694","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"euc1-az3"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-13T05:01:59","operating_system":"Linux","price":0.1001,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-13T06:18:41.301603","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-east-2","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-13T06:18:44.243694","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"use2-az2"}],"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-13T07:06:14.405426","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws"}]},"ServerPrice":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"allOf":[{"$ref":"#/components/schemas/Allocation"}],"description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price"],"title":"ServerPrice","description":"Server type prices per Region and Allocation method.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Reference to the Region.\n zone_id (str): Reference to the Zone.\n server_id (str): Reference to the Server.\n operating_system (str): Operating System.\n allocation (Allocation): Allocation method, e.g. on-demand or spot.\n unit (PriceUnit): Billing unit of the pricing model.\n price (float): Actual price of a billing unit.\n price_upfront (float): Price to be paid when setting up the resource.\n price_tiered (typing.List[sc_crawler.table_fields.PriceTier]): List of pricing tiers with min/max thresholds and actual prices.\n currency (str): Currency of the prices.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation."},"ServerPricePKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"allOf":[{"$ref":"#/components/schemas/Allocation"}],"description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBase"},"zone":{"$ref":"#/components/schemas/ZoneBase"}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price","region","zone"],"title":"ServerPricePKs"},"ServerPriceWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"allOf":[{"$ref":"#/components/schemas/Allocation"}],"description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"vendor":{"$ref":"#/components/schemas/VendorBase"},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"zone":{"$ref":"#/components/schemas/ZoneBase"},"server":{"$ref":"#/components/schemas/ServerWithScore"}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price","vendor","region","zone","server"],"title":"ServerPriceWithPKs","examples":[{"allocation":"spot","currency":"USD","observed_at":"2024-09-13T02:47:46","operating_system":"Linux","price":0.0743,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country":{"continent":"Asia","country_id":"AE","observed_at":"2024-09-13T07:06:14.400114","status":"active"},"country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-13T06:18:41.301603","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-west-2","server":{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-13T06:19:31.276942","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"},"server_id":"a1.2xlarge","status":"active","unit":"hour","vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-13T07:06:14.405426","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-13T06:18:44.243694","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"usw2-az2"}]},"ServerTableMetaData":{"properties":{"table":{"$ref":"#/components/schemas/NameAndDescription"},"fields":{"items":{"$ref":"#/components/schemas/IdNameAndDescriptionAndCategory"},"type":"array","title":"Fields"}},"type":"object","required":["table","fields"],"title":"ServerTableMetaData"},"ServerWithScore":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"ServerWithScore"},"Status":{"type":"string","enum":["active","inactive"],"title":"Status","description":"Last known status of a resource, e.g. active or inactive."},"Storage":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"storage_id":{"type":"string","title":"Storage Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"storage_type":{"allOf":[{"$ref":"#/components/schemas/StorageType"}],"description":"High-level category of the storage, e.g. HDD or SDD."},"max_iops":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Iops","description":"Maximum Input/Output Operations Per Second."},"max_throughput":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Throughput","description":"Maximum Throughput (MiB/s)."},"min_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Size","description":"Minimum required size (GiB)."},"max_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Size","description":"Maximum possible size (GiB)."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","storage_id","name","description","storage_type"],"title":"Storage","description":"Flexible storage options that can be attached to a Server.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n storage_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n description (typing.Optional[str]): Short description.\n storage_type (StorageType): High-level category of the storage, e.g. HDD or SDD.\n max_iops (typing.Optional[int]): Maximum Input/Output Operations Per Second.\n max_throughput (typing.Optional[int]): Maximum Throughput (MiB/s).\n min_size (typing.Optional[int]): Minimum required size (GiB).\n max_size (typing.Optional[int]): Maximum possible size (GiB).\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"description":"SSD-backed","max_iops":16000,"max_size":16384,"max_throughput":250,"min_size":1,"name":"General Purpose","observed_at":"2024-09-13T06:21:43.237018","status":"active","storage_id":"gp2","storage_type":"ssd","vendor_id":"aws"}]},"StorageBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"storage_id":{"type":"string","title":"Storage Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"storage_type":{"allOf":[{"$ref":"#/components/schemas/StorageType"}],"description":"High-level category of the storage, e.g. HDD or SDD."},"max_iops":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Iops","description":"Maximum Input/Output Operations Per Second."},"max_throughput":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Throughput","description":"Maximum Throughput (MiB/s)."},"min_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Size","description":"Minimum required size (GiB)."},"max_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Size","description":"Maximum possible size (GiB)."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","storage_id","name","description","storage_type"],"title":"StorageBase"},"StoragePriceWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"storage_id":{"type":"string","title":"Storage Id","description":"Reference to the Storage."},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"storage":{"$ref":"#/components/schemas/StorageBase"}},"type":"object","required":["vendor_id","region_id","storage_id","unit","price","region","vendor","storage"],"title":"StoragePriceWithPKs"},"StorageType":{"type":"string","enum":["hdd","ssd","nvme ssd","network"],"title":"StorageType","description":"Type of a storage, e.g. HDD or SSD."},"TrafficDirection":{"type":"string","enum":["inbound","outbound"],"title":"TrafficDirection","description":"Direction of the network traffic."},"TrafficPriceWithPKsWithMonthlyTraffic":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"direction":{"allOf":[{"$ref":"#/components/schemas/TrafficDirection"}],"description":"Direction of the traffic: inbound or outbound."},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"price_monthly_traffic":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price Monthly Traffic"}},"type":"object","required":["vendor_id","region_id","direction","unit","price","region","vendor"],"title":"TrafficPriceWithPKsWithMonthlyTraffic"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"Vendor":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Vendor's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage of the Vendor."},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Vendor's main headquarter is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Vendor's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Vendor's main location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Vendor's main location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Vendor's main location."},"founding_year":{"type":"integer","title":"Founding Year","description":"4-digit year when the Vendor was founded."},"status_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Page","description":"Public status page of the Vendor."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","name","country_id","founding_year"],"title":"Vendor","description":"Compute resource vendors, such as cloud and server providers.\n\n Examples:\n >>> from sc_crawler.tables import Vendor\n >>> from sc_crawler.lookup import countries\n >>> aws = Vendor(vendor_id='aws', name='Amazon Web Services', homepage='https://aws.amazon.com', country=countries[\"US\"], founding_year=2002)\n >>> aws\n Vendor(vendor_id='aws'...\n >>> from sc_crawler import vendors\n >>> vendors.aws\n Vendor(vendor_id='aws'...\n \n\nAttributes:\n vendor_id (str): Unique identifier.\n name (str): Human-friendly name.\n logo (typing.Optional[str]): Publicly accessible URL to the image of the Vendor's logo.\n homepage (typing.Optional[str]): Public homepage of the Vendor.\n country_id (str): Reference to the Country, where the Vendor's main headquarter is located.\n state (typing.Optional[str]): Optional state/administrative area of the Vendor's location within the Country.\n city (typing.Optional[str]): Optional city name of the Vendor's main location.\n address_line (typing.Optional[str]): Optional address line of the Vendor's main location.\n zip_code (typing.Optional[str]): Optional ZIP code of the Vendor's main location.\n founding_year (int): 4-digit year when the Vendor was founded.\n status_page (typing.Optional[str]): Public status page of the Vendor.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-13T07:06:14.405426","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"}]},"VendorBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Vendor's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage of the Vendor."},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Vendor's main headquarter is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Vendor's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Vendor's main location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Vendor's main location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Vendor's main location."},"founding_year":{"type":"integer","title":"Founding Year","description":"4-digit year when the Vendor was founded."},"status_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Page","description":"Public status page of the Vendor."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","name","country_id","founding_year"],"title":"VendorBase"},"Vendors":{"type":"string","enum":["aws","azure","gcp","hcloud"],"title":"Vendors"},"Zone":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","name","api_reference","display_name"],"title":"Zone","description":"Availability zones of Regions.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Reference to the Region.\n zone_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-13T06:18:44.243694","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"}]},"ZoneBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","name","api_reference","display_name"],"title":"ZoneBase"}}}} +{"openapi":"3.1.0","info":{"title":"Spare Cores (SC) Keeper","description":"\nAPI to search and serve data collected on cloud compute resources.\n\n## Licensing\n\nThis is a free service provided by the Spare Cores team, without any warranty.\nThe source code of the API is licensed under MPL-2.0, find more details at\n.\n\n## References\n\n- Spare Cores: \n- SC Keeper: \n- SC Crawler: \n- SC Data: \n","termsOfService":"https://sparecores.com/legal/terms-of-service","contact":{"name":"Spare Cores Team","email":"social@sparecores.com"},"license":{"name":"Mozilla Public License 2.0 (MPL 2.0)","url":"http://mozilla.org/MPL/2.0/"},"version":"0.3.0"},"paths":{"/healthcheck":{"get":{"tags":["Administrative endpoints"],"summary":"Healthcheck","description":"Quickly return package and database version information.","operationId":"healthcheck_healthcheck_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthcheckResponse"}}}}}}},"/table/benchmark":{"get":{"tags":["Table dumps"],"summary":"Table Benchmark","description":"Return the Benchmark table as-is, without filtering options or relationships resolved.","operationId":"table_benchmark_table_benchmark_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Benchmark"},"type":"array","title":"Response Table Benchmark Table Benchmark Get"}}}}}}},"/table/country":{"get":{"tags":["Table dumps"],"summary":"Table Country","description":"Return the Country table as-is, without filtering options or relationships resolved.","operationId":"table_country_table_country_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Country"},"type":"array","title":"Response Table Country Table Country Get"}}}}}}},"/table/compliance_framework":{"get":{"tags":["Table dumps"],"summary":"Table Compliance Frameworks","description":"Return the ComplianceFramework table as-is, without filtering options or relationships resolved.","operationId":"table_compliance_frameworks_table_compliance_framework_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ComplianceFramework"},"type":"array","title":"Response Table Compliance Frameworks Table Compliance Framework Get"}}}}}}},"/table/vendor":{"get":{"tags":["Table dumps"],"summary":"Table Vendor","description":"Return the Vendor table as-is, without filtering options or relationships resolved.","operationId":"table_vendor_table_vendor_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Vendor"},"type":"array","title":"Response Table Vendor Table Vendor Get"}}}}}}},"/table/region":{"get":{"tags":["Table dumps"],"summary":"Table Region","description":"Return the Region table as-is, without filtering options or relationships resolved.","operationId":"table_region_table_region_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Region"},"type":"array","title":"Response Table Region Table Region Get"}}}}}}},"/table/zone":{"get":{"tags":["Table dumps"],"summary":"Table Zone","description":"Return the Zone table as-is, without filtering options or relationships resolved.","operationId":"table_zone_table_zone_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Zone"},"type":"array","title":"Response Table Zone Table Zone Get"}}}}}}},"/table/server":{"get":{"tags":["Table dumps"],"summary":"Table Server","description":"Return the Server table as-is, without filtering options or relationships resolved.","operationId":"table_server_table_server_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Server"},"type":"array","title":"Response Table Server Table Server Get"}}}}}}},"/table/storage":{"get":{"tags":["Table dumps"],"summary":"Table Storage","description":"Return the Storage table as-is, without filtering options or relationships resolved.","operationId":"table_storage_table_storage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Storage"},"type":"array","title":"Response Table Storage Table Storage Get"}}}}}}},"/table/server/meta":{"get":{"tags":["Table metadata"],"summary":"Table Metadata Server","description":"Server table and column names and comments.","operationId":"table_metadata_server_table_server_meta_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerTableMetaData"}}}}}}},"/server/{vendor}/{server}":{"get":{"tags":["Server Details"],"summary":"Get Server","description":"Query a single server by its vendor id and either the server or, or its API reference.\n\nReturn dictionary includes all server fields, along\nwith the current prices per zone, and\nthe available benchmark scores.","operationId":"get_server_server__vendor___server__get","deprecated":true,"parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"Vendor ID.","title":"Vendor"},"description":"Vendor ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"Server ID or API reference.","title":"Server"},"description":"Server ID or API reference."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","title":"Currency"},"description":"Currency used for prices."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerPKsWithPrices"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v2/server/{vendor}/{server}":{"get":{"tags":["Server Details"],"summary":"Get Server Without Relations","description":"Query a single server by its vendor id and either the server id or its API reference.","operationId":"get_server_without_relations_v2_server__vendor___server__get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"A Vendor's ID.","title":"Vendor"},"description":"A Vendor's ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"A Server's ID or API reference.","title":"Server"},"description":"A Server's ID or API reference."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerBase"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}/similar_servers/{by}/{num}":{"get":{"tags":["Server Details"],"summary":"Get Similar Servers","description":"Search similar servers to the provided one.\n\nThe \"family\" method returns all servers from the same family of\nthe same vendor.\n\nThe \"specs\" approach will prioritize the number of\nGPUs, then CPUs, lastly the amount of memory.\n\nThe \"score\" method will find the servers with the closest\nperformance using the multi-core SCore.","operationId":"get_similar_servers_server__vendor___server__similar_servers__by___num__get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"Vendor ID.","title":"Vendor"},"description":"Vendor ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"Server ID or API reference.","title":"Server"},"description":"Server ID or API reference."},{"name":"by","in":"path","required":true,"schema":{"enum":["family","specs","score"],"type":"string","description":"Algorithm to look for similar servers.","title":"By"},"description":"Algorithm to look for similar servers."},{"name":"num","in":"path","required":true,"schema":{"type":"integer","maximum":100,"description":"Number of servers to get.","title":"Num"},"description":"Number of servers to get."},{"name":"benchmark_id","in":"query","required":false,"schema":{"type":"string","description":"Benchmark id to use as the main score for the server.","default":"stress_ng:cpu_all","title":"Benchmark Id"},"description":"Benchmark id to use as the main score for the server."},{"name":"benchmark_config","in":"query","required":false,"schema":{"type":"string","description":"Benchmark id to use as the main score for the server.","default":"","title":"Benchmark Config"},"description":"Benchmark id to use as the main score for the server."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPKs"},"title":"Response Get Similar Servers Server Vendor Server Similar Servers By Num Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}/prices":{"get":{"tags":["Server Details"],"summary":"Get Server Prices","description":"Query the current prices of a single server by its vendor id and server id.","operationId":"get_server_prices_server__vendor___server__prices_get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"A Vendor's ID.","title":"Vendor"},"description":"A Vendor's ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"A Server's ID or API reference.","title":"Server"},"description":"A Server's ID or API reference."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","title":"Currency"},"description":"Currency used for prices."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPrice"},"title":"Response Get Server Prices Server Vendor Server Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}/benchmarks":{"get":{"tags":["Server Details"],"summary":"Get Server Benchmarks","description":"Query the current benchmark scores of a single server.","operationId":"get_server_benchmarks_server__vendor___server__benchmarks_get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"A Vendor's ID.","title":"Vendor"},"description":"A Vendor's ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"A Server's ID or API reference.","title":"Server"},"description":"A Server's ID or API reference."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BenchmarkScore"},"title":"Response Get Server Benchmarks Server Vendor Server Benchmarks Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_server_filters":{"get":{"tags":["AI"],"summary":"Assist Server Filters","description":"Extract Server JSON filters from freetext.","operationId":"assist_server_filters_ai_assist_server_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Server Filters Ai Assist Server Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_server_price_filters":{"get":{"tags":["AI"],"summary":"Assist Server Price Filters","description":"Extract ServerPrice JSON filters from freetext.","operationId":"assist_server_price_filters_ai_assist_server_price_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Server Price Filters Ai Assist Server Price Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_storage_price_filters":{"get":{"tags":["AI"],"summary":"Assist Storage Price Filters","description":"Extract StoragePrice JSON filters from freetext.","operationId":"assist_storage_price_filters_ai_assist_storage_price_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Storage Price Filters Ai Assist Storage Price Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_traffic_price_filters":{"get":{"tags":["AI"],"summary":"Assist Traffic Price Filters","description":"Extract TrafficPrice JSON filters from freetext.","operationId":"assist_traffic_price_filters_ai_assist_traffic_price_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Traffic Price Filters Ai Assist Traffic Price Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/regions":{"get":{"tags":["Query Resources"],"summary":"Search Regions","operationId":"search_regions_regions_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RegionPKs"},"title":"Response Search Regions Regions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/servers":{"get":{"tags":["Query Resources"],"summary":"Search Servers","operationId":"search_servers_servers_get","parameters":[{"name":"partial_name_or_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partial name or id","description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name.","category_id":"basic"},"description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name."},{"name":"vcpus_min","in":"query","required":false,"schema":{"type":"integer","maximum":256,"minimum":1,"title":"Minimum vCPUs","description":"Minimum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","default":1},"description":"Minimum number of virtual CPUs."},{"name":"architecture","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuArchitecture"}},{"type":"null"}],"title":"Processor architecture","description":"Processor architecture.","category_id":"processor","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"]},"description":"Processor architecture."},{"name":"benchmark_score_stressng_cpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"SCore","description":"Minimum stress-ng CPU workload score.","category_id":"processor"},"description":"Minimum stress-ng CPU workload score."},{"name":"memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum memory","description":"Minimum amount of memory in GBs.","category_id":"memory","unit":"GB","step":0.1},"description":"Minimum amount of memory in GBs."},{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active only","description":"Filter for active servers only.","category_id":"basic","default":true},"description":"Filter for active servers only."},{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"storage_size","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs).","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs)."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"gpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"GPU count","description":"Minimum number of GPUs.","category_id":"gpu","unit":"GPUs"},"description":"Minimum number of GPUs."},{"name":"gpu_memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum GPU memory","description":"Minimum amount of GPU memory (GB) in each GPU.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of GPU memory (GB) in each GPU."},{"name":"gpu_memory_total","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total GPU memory","description":"Minimum amount of total GPU memory (GBs) in all GPUs.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of total GPU memory (GBs) in all GPUs."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited.","default":25,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"vcpus","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderDir","description":"Order direction.","default":"asc"},"description":"Order direction."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPKs"},"title":"Response Search Servers Servers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server_prices":{"get":{"tags":["Query Resources"],"summary":"Search Server Prices","operationId":"search_server_prices_server_prices_get","parameters":[{"name":"partial_name_or_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partial name or id","description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name.","category_id":"basic"},"description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name."},{"name":"vcpus_min","in":"query","required":false,"schema":{"type":"integer","maximum":256,"minimum":1,"title":"Minimum vCPUs","description":"Minimum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","default":1},"description":"Minimum number of virtual CPUs."},{"name":"architecture","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuArchitecture"}},{"type":"null"}],"title":"Processor architecture","description":"Processor architecture.","category_id":"processor","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"]},"description":"Processor architecture."},{"name":"benchmark_score_stressng_cpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"SCore","description":"Minimum stress-ng CPU workload score.","category_id":"processor"},"description":"Minimum stress-ng CPU workload score."},{"name":"memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum memory","description":"Minimum amount of memory in GBs.","category_id":"memory","unit":"GB","step":0.1},"description":"Minimum amount of memory in GBs."},{"name":"price_max","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Maximum price","description":"Maximum price (USD/hr).","category_id":"price","step":0.0001},"description":"Maximum price (USD/hr)."},{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active only","description":"Filter for active servers only.","category_id":"basic","default":true},"description":"Filter for active servers only."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"allocation","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/Allocation"},{"type":"null"}],"title":"Allocation","description":"Server allocation method.","enum":["ondemand","reserved","spot"]},"description":"Server allocation method."},{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"Region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"storage_size","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs).","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs)."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Countries"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"gpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"GPU count","description":"Minimum number of GPUs.","category_id":"gpu","unit":"GPUs"},"description":"Minimum number of GPUs."},{"name":"gpu_memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum GPU memory","description":"Minimum amount of GPU memory (GB) in each GPU.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of GPU memory (GB) in each GPU."},{"name":"gpu_memory_total","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total GPU memory","description":"Minimum amount of total GPU memory (GBs) in all GPUs.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of total GPU memory (GBs) in all GPUs."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":250,"description":"Maximum number of results.","default":25,"title":"Limit"},"description":"Maximum number of results."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderDir","description":"Order direction.","default":"asc"},"description":"Order direction."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","default":"USD","title":"Currency"},"description":"Currency used for prices."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPriceWithPKs"},"title":"Response Search Server Prices Server Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/storage_prices":{"get":{"tags":["Query Resources"],"summary":"Search Storage Prices","operationId":"search_storage_prices_storage_prices_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"storage_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs).","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs)."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"Region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Countries"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited.","default":10,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderDir","description":"Order direction.","default":"asc"},"description":"Order direction."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","default":"USD","title":"Currency"},"description":"Currency used for prices."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StoragePriceWithPKs"},"title":"Response Search Storage Prices Storage Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/traffic_prices":{"get":{"tags":["Query Resources"],"summary":"Search Traffic Prices","operationId":"search_traffic_prices_traffic_prices_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"Region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Countries"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"direction","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/TrafficDirection"}},{"type":"null"}],"title":"Direction","description":"Direction of the Internet traffic.","category_id":"traffic","enum":["inbound","outbound"],"default":["outbound"]},"description":"Direction of the Internet traffic."},{"name":"monthly_traffic","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Monthly Overall Traffic","description":"Overall amount of monthly traffic (GBs).","category_id":"traffic","unit":"GB","step":1,"default":1},"description":"Overall amount of monthly traffic (GBs)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited.","default":10,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderDir","description":"Order direction.","default":"asc"},"description":"Order direction."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","default":"USD","title":"Currency"},"description":"Currency used for prices."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TrafficPriceWithPKsWithMonthlyTraffic"},"title":"Response Search Traffic Prices Traffic Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Allocation":{"type":"string","enum":["ondemand","reserved","spot"],"title":"Allocation","description":"Server allocation options."},"Benchmark":{"properties":{"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Unique identifier of a specific Benchmark."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"framework":{"type":"string","title":"Framework","description":"The name of the benchmark framework/software/tool used."},"config_fields":{"type":"object","title":"Config Fields","description":"A dictionary of descriptions on the framework-specific config options, e.g. {\"bandwidth\": \"Memory amount to use for compression in MB.\"}.","default":{}},"measurement":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Measurement","description":"The name of measurement recoreded in the benchmark."},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit","description":"Optional unit of measurement for the benchmark score."},"higher_is_better":{"type":"boolean","title":"Higher Is Better","description":"If higher benchmark score means better performance, or vica versa.","default":true},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["benchmark_id","name","description","framework"],"title":"Benchmark","description":"Benchmark scenario definitions.\n\nAttributes:\n benchmark_id (str): Unique identifier of a specific Benchmark.\n name (str): Human-friendly name.\n description (typing.Optional[str]): Short description.\n framework (str): The name of the benchmark framework/software/tool used.\n config_fields (dict): A dictionary of descriptions on the framework-specific config options, e.g. {\"bandwidth\": \"Memory amount to use for compression in MB.\"}.\n measurement (typing.Optional[str]): The name of measurement recoreded in the benchmark.\n unit (typing.Optional[str]): Optional unit of measurement for the benchmark score.\n higher_is_better (bool): If higher benchmark score means better performance, or vica versa.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"benchmark_id":"geekbench:hdr","config_fields":{"cores":"Single-Core or Multi-Core peformance tests.","framework_version":"Version number of geekbench."},"description":"Blends six 16MP SDR photos to create a single HDR photo, using a recovery process and radiance map construction (Debevec and Malik 1997), and a tone mapping algorithm (Reinhard and Devlin 2005).The score is calibrated against a baseline score of 2,500 (Dell Precision 3460 with a Core i7-12700 processor) as per the Geekbench 6 Benchmark Internals.","framework":"geekbench","higher_is_better":true,"measurement":"hdr","name":"Geekbench: HDR","observed_at":"2024-09-21T09:35:55.192446","status":"active"}]},"BenchmarkScore":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Reference to the Benchmark."},"config":{"type":"object","title":"Config","description":"Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}","default":{}},"score":{"type":"number","title":"Score","description":"The resulting score of the benchmark."},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Optional note, comment or context on the benchmark score."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","benchmark_id","score"],"title":"BenchmarkScore","description":"Results of running Benchmark scenarios on Servers.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n server_id (str): Reference to the Server.\n benchmark_id (str): Reference to the Benchmark.\n config (sc_crawler.table_fields.HashableDict | dict): Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}\n score (float): The resulting score of the benchmark.\n note (typing.Optional[str]): Optional note, comment or context on the benchmark score.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation."},"BenchmarkScoreBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Reference to the Benchmark."},"config":{"type":"object","title":"Config","description":"Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}","default":{}},"score":{"type":"number","title":"Score","description":"The resulting score of the benchmark."},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Optional note, comment or context on the benchmark score."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","benchmark_id","score"],"title":"BenchmarkScoreBase"},"ComplianceFramework":{"properties":{"compliance_framework_id":{"type":"string","title":"Compliance Framework Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"abbreviation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abbreviation","description":"Short abbreviation of the Framework name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Description of the framework in a few paragrahs, outlining key features and characteristics for reference."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Framework's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage with more information on the Framework."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["compliance_framework_id","name","abbreviation","description"],"title":"ComplianceFramework","description":"List of Compliance Frameworks, such as HIPAA or SOC 2 Type 1.\n\nAttributes:\n compliance_framework_id (str): Unique identifier.\n name (str): Human-friendly name.\n abbreviation (typing.Optional[str]): Short abbreviation of the Framework name.\n description (typing.Optional[str]): Description of the framework in a few paragrahs, outlining key features and characteristics for reference.\n logo (typing.Optional[str]): Publicly accessible URL to the image of the Framework's logo.\n homepage (typing.Optional[str]): Public homepage with more information on the Framework.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"abbreviation":"HIPAA","compliance_framework_id":"hipaa","description":"HIPAA (Health Insurance Portability and Accountability Act) is a U.S. federal law designed to safeguard the privacy and security of individuals' health information, establishing standards for its protection and regulating its use in the healthcare industry.","homepage":"https://www.cdc.gov/phlp/publications/topic/hipaa.html","name":"The Health Insurance Portability and Accountability Act","observed_at":"2024-09-21T09:35:55.190386","status":"active"}]},"ComplianceFrameworks":{"type":"string","enum":["hipaa","iso27001","soc2t2"],"title":"ComplianceFrameworks"},"Countries":{"type":"string","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"],"title":"Countries"},"Country":{"properties":{"country_id":{"type":"string","title":"Country Id","description":"Country code by ISO 3166 alpha-2."},"continent":{"type":"string","title":"Continent","description":"Continent name."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["country_id","continent"],"title":"Country","description":"Country and continent mapping.\n\nAttributes:\n country_id (str): Country code by ISO 3166 alpha-2.\n continent (str): Continent name.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"continent":"Asia","country_id":"AE","observed_at":"2024-09-21T09:35:55.188619","status":"active"}]},"CountryBase":{"properties":{"country_id":{"type":"string","title":"Country Id","description":"Country code by ISO 3166 alpha-2."},"continent":{"type":"string","title":"Continent","description":"Continent name."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["country_id","continent"],"title":"CountryBase"},"Cpu":{"properties":{"manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Manufacturer"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cores"},"threads":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Threads"},"l1_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L1 Cache Size"},"l2_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L2 Cache Size"},"l3_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L3 Cache Size"},"microcode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Microcode"},"capabilities":{"items":{"type":"string"},"type":"array","title":"Capabilities","default":[]},"bugs":{"items":{"type":"string"},"type":"array","title":"Bugs","default":[]},"bogomips":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Bogomips"}},"type":"object","title":"Cpu","description":"CPU details."},"CpuAllocation":{"type":"string","enum":["Shared","Burstable","Dedicated"],"title":"CpuAllocation","description":"CPU allocation methods at cloud vendors."},"CpuArchitecture":{"type":"string","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"],"title":"CpuArchitecture","description":"CPU architectures."},"DdrGeneration":{"type":"string","enum":["DDR3","DDR4","DDR5"],"title":"DdrGeneration","description":"Generation of the DDR SDRAM."},"Disk":{"properties":{"size":{"type":"integer","title":"Size","default":0},"storage_type":{"$ref":"#/components/schemas/StorageType"}},"type":"object","required":["storage_type"],"title":"Disk","description":"Disk definition based on size and storage type."},"Gpu":{"properties":{"manufacturer":{"type":"string","title":"Manufacturer"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"memory":{"type":"integer","title":"Memory"},"firmware_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firmware Version"},"bios_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bios Version"},"graphics_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Graphics Clock"},"sm_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sm Clock"},"mem_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Mem Clock"},"video_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Video Clock"}},"type":"object","required":["manufacturer","memory"],"title":"Gpu","description":"GPU accelerator details."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HealthcheckResponse":{"properties":{"packages":{"type":"object","title":"Packages"},"database_last_updated":{"type":"number","title":"Database Last Updated"},"database_hash":{"type":"string","title":"Database Hash"},"database_alembic_version":{"type":"string","title":"Database Alembic Version"}},"type":"object","required":["packages","database_last_updated","database_hash","database_alembic_version"],"title":"HealthcheckResponse","examples":[{"database_alembic_version":"bar","database_hash":"foo","database_last_updated":1726912489.9782984,"packages":{"sparecores-crawler":"1.0.0"}}]},"IdNameAndDescriptionAndCategory":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"id":{"type":"string","title":"Id"},"category":{"type":"string","title":"Category"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"}},"type":"object","required":["name","description","id","category","unit"],"title":"IdNameAndDescriptionAndCategory"},"NameAndDescription":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"}},"type":"object","required":["name","description"],"title":"NameAndDescription"},"OrderDir":{"type":"string","enum":["asc","desc"],"title":"OrderDir"},"PriceTier":{"properties":{"lower":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Lower"},"upper":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Upper"},"price":{"type":"number","title":"Price"}},"type":"object","required":["lower","upper","price"],"title":"PriceTier","description":"Price tier definition.\n\nAs standard JSON does not support Inf, NaN etc values,\nthose should be passed as string, e.g. for the upper bound.\n\nSee [float_inf_to_str][sc_crawler.utils.float_inf_to_str] for\nconverting an infinite numeric value into \"Infinity\"."},"PriceUnit":{"type":"string","enum":["year","month","hour","GiB","GB","GB/month"],"title":"PriceUnit","description":"Supported units for the price tables."},"Region":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id"],"title":"Region","description":"Regions of Vendors.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n aliases (typing.List[str]): List of other commonly used names for the same Region.\n country_id (str): Reference to the Country, where the Region is located.\n state (typing.Optional[str]): Optional state/administrative area of the Region's location within the Country.\n city (typing.Optional[str]): Optional city name of the Region's location.\n address_line (typing.Optional[str]): Optional address line of the Region's location.\n zip_code (typing.Optional[str]): Optional ZIP code of the Region's location.\n lon (typing.Optional[float]): Longitude coordinate of the Region's known or approximate location.\n lat (typing.Optional[float]): Latitude coordinate of the Region's known or approximate location.\n founding_year (typing.Optional[int]): 4-digit year when the Region was founded.\n green_energy (typing.Optional[bool]): If the Region is 100% powered by renewable energy.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-21T09:19:15.898420","region_id":"af-south-1","status":"active","vendor_id":"aws"}]},"RegionBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id"],"title":"RegionBase"},"RegionBaseWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"country":{"$ref":"#/components/schemas/CountryBase"}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id","country"],"title":"RegionBaseWithPKs"},"RegionPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"vendor":{"$ref":"#/components/schemas/VendorBase"}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id","vendor"],"title":"RegionPKs","examples":[{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-21T09:19:15.898420","region_id":"af-south-1","status":"active","vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-21T09:35:55.193830","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws"}]},"Regions":{"type":"string","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"],"title":"Regions"},"Server":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"$ref":"#/components/schemas/CpuAllocation","description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"$ref":"#/components/schemas/CpuArchitecture","description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"Server","description":"Server types.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n server_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n description (typing.Optional[str]): Short description.\n family (typing.Optional[str]): Server family, e.g. General-purpose machine (GCP), or M5g (AWS).\n vcpus (int): Default number of virtual CPUs (vCPU) of the server.\n hypervisor (typing.Optional[str]): Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated.\n cpu_allocation (CpuAllocation): Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated.\n cpu_cores (typing.Optional[int]): Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled.\n cpu_speed (typing.Optional[float]): Vendor-reported maximum CPU clock speed (GHz).\n cpu_architecture (CpuArchitecture): CPU architecture (arm64, arm64_mac, i386, or x86_64).\n cpu_manufacturer (typing.Optional[str]): The manufacturer of the primary processor, e.g. Intel or AMD.\n cpu_family (typing.Optional[str]): The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9.\n cpu_model (typing.Optional[str]): The model number of the primary processor, e.g. 9750H.\n cpu_l1_cache (typing.Optional[int]): L1 cache size (byte).\n cpu_l2_cache (typing.Optional[int]): L2 cache size (byte).\n cpu_l3_cache (typing.Optional[int]): L3 cache size (byte).\n cpu_flags (typing.List[str]): CPU features/flags.\n cpus (typing.List[sc_crawler.table_fields.Cpu]): JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.\n memory_amount (int): RAM amount (MiB).\n memory_generation (typing.Optional[sc_crawler.table_fields.DdrGeneration]): Generation of the DDR SDRAM, e.g. DDR4 or DDR5.\n memory_speed (typing.Optional[int]): DDR SDRAM clock rate (Mhz).\n memory_ecc (typing.Optional[bool]): If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption.\n gpu_count (int): Number of GPU accelerator(s).\n gpu_memory_min (typing.Optional[int]): Memory (MiB) allocated to the lowest-end GPU accelerator.\n gpu_memory_total (typing.Optional[int]): Overall memory (MiB) allocated to all the GPU accelerator(s).\n gpu_manufacturer (typing.Optional[str]): The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD.\n gpu_family (typing.Optional[str]): The product family of the primary GPU accelerator, e.g. Turing.\n gpu_model (typing.Optional[str]): The model number of the primary GPU accelerator, e.g. Tesla T4.\n gpus (typing.List[sc_crawler.table_fields.Gpu]): JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.\n storage_size (int): Overall size (GB) of the disk(s).\n storage_type (typing.Optional[sc_crawler.table_fields.StorageType]): Primary disk type, e.g. HDD, SSD, NVMe SSD, or network).\n storages (typing.List[sc_crawler.table_fields.Disk]): JSON array of disks attached to the server, including the size (MiB) and type of each disk.\n network_speed (typing.Optional[float]): The baseline network performance (Gbps) of the network card.\n inbound_traffic (float): Amount of complimentary inbound traffic (GB) per month.\n outbound_traffic (float): Amount of complimentary outbound traffic (GB) per month.\n ipv4 (int): Number of complimentary IPv4 address(es).\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-21T09:20:11.119040","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"}]},"ServerBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"$ref":"#/components/schemas/CpuAllocation","description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"$ref":"#/components/schemas/CpuArchitecture","description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"ServerBase"},"ServerPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"$ref":"#/components/schemas/CpuAllocation","description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"$ref":"#/components/schemas/CpuArchitecture","description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"},"vendor":{"$ref":"#/components/schemas/VendorBase"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description","vendor"],"title":"ServerPKs","examples":[{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-21T09:20:11.119040","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"}]},"ServerPKsWithPrices":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"$ref":"#/components/schemas/CpuAllocation","description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"$ref":"#/components/schemas/CpuArchitecture","description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"prices":{"items":{"$ref":"#/components/schemas/ServerPricePKs"},"type":"array","title":"Prices"},"benchmark_scores":{"items":{"$ref":"#/components/schemas/BenchmarkScoreBase"},"type":"array","title":"Benchmark Scores"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description","vendor","prices","benchmark_scores"],"title":"ServerPKsWithPrices","examples":[{"api_reference":"a1.2xlarge","benchmark_scores":[{"benchmark_id":"geekbench:hdr","config_fields":{"cores":"Single-Core or Multi-Core peformance tests.","framework_version":"Version number of geekbench."},"description":"Blends six 16MP SDR photos to create a single HDR photo, using a recovery process and radiance map construction (Debevec and Malik 1997), and a tone mapping algorithm (Reinhard and Devlin 2005).The score is calibrated against a baseline score of 2,500 (Dell Precision 3460 with a Core i7-12700 processor) as per the Geekbench 6 Benchmark Internals.","framework":"geekbench","higher_is_better":true,"measurement":"hdr","name":"Geekbench: HDR","observed_at":"2024-09-21T09:35:55.192446","status":"active"}],"cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-21T09:20:11.119040","outbound_traffic":0.0,"price":7,"prices":[{"allocation":"spot","currency":"USD","observed_at":"2024-09-21T01:33:43","operating_system":"Linux","price":0.0721,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-21T09:19:15.898420","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-west-2","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-21T09:19:19.238536","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"usw2-az2"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-21T04:17:27","operating_system":"Linux","price":0.0731,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-21T09:19:15.898420","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-west-2","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-21T09:19:19.238536","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"usw2-az3"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-21T06:01:33","operating_system":"Linux","price":0.0883,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-21T09:19:15.898420","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"eu-central-1","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-21T09:19:19.238536","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"euc1-az2"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-21T07:46:28","operating_system":"Linux","price":0.09,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-21T09:19:15.898420","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"eu-central-1","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-21T09:19:19.238536","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"euc1-az3"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-21T09:31:33","operating_system":"Linux","price":0.0924,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-21T09:19:15.898420","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"ap-northeast-1","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-21T09:19:19.238536","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"apne1-az4"}],"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-21T09:35:55.193830","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws"}]},"ServerPrice":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"$ref":"#/components/schemas/Allocation","description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"$ref":"#/components/schemas/PriceUnit","description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price"],"title":"ServerPrice","description":"Server type prices per Region and Allocation method.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Reference to the Region.\n zone_id (str): Reference to the Zone.\n server_id (str): Reference to the Server.\n operating_system (str): Operating System.\n allocation (Allocation): Allocation method, e.g. on-demand or spot.\n unit (PriceUnit): Billing unit of the pricing model.\n price (float): Actual price of a billing unit.\n price_upfront (float): Price to be paid when setting up the resource.\n price_tiered (typing.List[sc_crawler.table_fields.PriceTier]): List of pricing tiers with min/max thresholds and actual prices.\n currency (str): Currency of the prices.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation."},"ServerPricePKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"$ref":"#/components/schemas/Allocation","description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"$ref":"#/components/schemas/PriceUnit","description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBase"},"zone":{"$ref":"#/components/schemas/ZoneBase"}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price","region","zone"],"title":"ServerPricePKs"},"ServerPriceWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"$ref":"#/components/schemas/Allocation","description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"$ref":"#/components/schemas/PriceUnit","description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"vendor":{"$ref":"#/components/schemas/VendorBase"},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"zone":{"$ref":"#/components/schemas/ZoneBase"},"server":{"$ref":"#/components/schemas/ServerWithScore"}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price","vendor","region","zone","server"],"title":"ServerPriceWithPKs","examples":[{"allocation":"spot","currency":"USD","observed_at":"2024-09-21T01:33:43","operating_system":"Linux","price":0.0721,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country":{"continent":"Asia","country_id":"AE","observed_at":"2024-09-21T09:35:55.188619","status":"active"},"country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-21T09:19:15.898420","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-west-2","server":{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-21T09:20:11.119040","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"},"server_id":"a1.2xlarge","status":"active","unit":"hour","vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-21T09:35:55.193830","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-21T09:19:19.238536","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"usw2-az2"}]},"ServerTableMetaData":{"properties":{"table":{"$ref":"#/components/schemas/NameAndDescription"},"fields":{"items":{"$ref":"#/components/schemas/IdNameAndDescriptionAndCategory"},"type":"array","title":"Fields"}},"type":"object","required":["table","fields"],"title":"ServerTableMetaData"},"ServerWithScore":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"$ref":"#/components/schemas/CpuAllocation","description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"$ref":"#/components/schemas/CpuArchitecture","description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"ServerWithScore"},"Status":{"type":"string","enum":["active","inactive"],"title":"Status","description":"Last known status of a resource, e.g. active or inactive."},"Storage":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"storage_id":{"type":"string","title":"Storage Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"storage_type":{"$ref":"#/components/schemas/StorageType","description":"High-level category of the storage, e.g. HDD or SDD."},"max_iops":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Iops","description":"Maximum Input/Output Operations Per Second."},"max_throughput":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Throughput","description":"Maximum Throughput (MiB/s)."},"min_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Size","description":"Minimum required size (GiB)."},"max_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Size","description":"Maximum possible size (GiB)."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","storage_id","name","description","storage_type"],"title":"Storage","description":"Flexible storage options that can be attached to a Server.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n storage_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n description (typing.Optional[str]): Short description.\n storage_type (StorageType): High-level category of the storage, e.g. HDD or SDD.\n max_iops (typing.Optional[int]): Maximum Input/Output Operations Per Second.\n max_throughput (typing.Optional[int]): Maximum Throughput (MiB/s).\n min_size (typing.Optional[int]): Minimum required size (GiB).\n max_size (typing.Optional[int]): Maximum possible size (GiB).\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"description":"SSD-backed","max_iops":16000,"max_size":16384,"max_throughput":250,"min_size":1,"name":"General Purpose","observed_at":"2024-09-21T09:22:34.818295","status":"active","storage_id":"gp2","storage_type":"ssd","vendor_id":"aws"}]},"StorageBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"storage_id":{"type":"string","title":"Storage Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"storage_type":{"$ref":"#/components/schemas/StorageType","description":"High-level category of the storage, e.g. HDD or SDD."},"max_iops":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Iops","description":"Maximum Input/Output Operations Per Second."},"max_throughput":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Throughput","description":"Maximum Throughput (MiB/s)."},"min_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Size","description":"Minimum required size (GiB)."},"max_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Size","description":"Maximum possible size (GiB)."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","storage_id","name","description","storage_type"],"title":"StorageBase"},"StoragePriceWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"storage_id":{"type":"string","title":"Storage Id","description":"Reference to the Storage."},"unit":{"$ref":"#/components/schemas/PriceUnit","description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"storage":{"$ref":"#/components/schemas/StorageBase"}},"type":"object","required":["vendor_id","region_id","storage_id","unit","price","region","vendor","storage"],"title":"StoragePriceWithPKs"},"StorageType":{"type":"string","enum":["hdd","ssd","nvme ssd","network"],"title":"StorageType","description":"Type of a storage, e.g. HDD or SSD."},"TrafficDirection":{"type":"string","enum":["inbound","outbound"],"title":"TrafficDirection","description":"Direction of the network traffic."},"TrafficPriceWithPKsWithMonthlyTraffic":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"direction":{"$ref":"#/components/schemas/TrafficDirection","description":"Direction of the traffic: inbound or outbound."},"unit":{"$ref":"#/components/schemas/PriceUnit","description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"price_monthly_traffic":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price Monthly Traffic"}},"type":"object","required":["vendor_id","region_id","direction","unit","price","region","vendor"],"title":"TrafficPriceWithPKsWithMonthlyTraffic"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"Vendor":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Vendor's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage of the Vendor."},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Vendor's main headquarter is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Vendor's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Vendor's main location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Vendor's main location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Vendor's main location."},"founding_year":{"type":"integer","title":"Founding Year","description":"4-digit year when the Vendor was founded."},"status_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Page","description":"Public status page of the Vendor."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","name","country_id","founding_year"],"title":"Vendor","description":"Compute resource vendors, such as cloud and server providers.\n\n Examples:\n >>> from sc_crawler.tables import Vendor\n >>> from sc_crawler.lookup import countries\n >>> aws = Vendor(vendor_id='aws', name='Amazon Web Services', homepage='https://aws.amazon.com', country=countries[\"US\"], founding_year=2002)\n >>> aws\n Vendor(vendor_id='aws'...\n >>> from sc_crawler import vendors\n >>> vendors.aws\n Vendor(vendor_id='aws'...\n \n\nAttributes:\n vendor_id (str): Unique identifier.\n name (str): Human-friendly name.\n logo (typing.Optional[str]): Publicly accessible URL to the image of the Vendor's logo.\n homepage (typing.Optional[str]): Public homepage of the Vendor.\n country_id (str): Reference to the Country, where the Vendor's main headquarter is located.\n state (typing.Optional[str]): Optional state/administrative area of the Vendor's location within the Country.\n city (typing.Optional[str]): Optional city name of the Vendor's main location.\n address_line (typing.Optional[str]): Optional address line of the Vendor's main location.\n zip_code (typing.Optional[str]): Optional ZIP code of the Vendor's main location.\n founding_year (int): 4-digit year when the Vendor was founded.\n status_page (typing.Optional[str]): Public status page of the Vendor.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-21T09:35:55.193830","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"}]},"VendorBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Vendor's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage of the Vendor."},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Vendor's main headquarter is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Vendor's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Vendor's main location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Vendor's main location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Vendor's main location."},"founding_year":{"type":"integer","title":"Founding Year","description":"4-digit year when the Vendor was founded."},"status_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Page","description":"Public status page of the Vendor."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","name","country_id","founding_year"],"title":"VendorBase"},"Vendors":{"type":"string","enum":["aws","azure","gcp","hcloud"],"title":"Vendors"},"Zone":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","name","api_reference","display_name"],"title":"Zone","description":"Availability zones of Regions.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Reference to the Region.\n zone_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-21T09:19:19.238536","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"}]},"ZoneBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","name","api_reference","display_name"],"title":"ZoneBase"}}}} From 6c35786c21285f6166f7072d736af8073fe686bc Mon Sep 17 00:00:00 2001 From: "Gergely Daroczi (@daroczig)" Date: Sat, 21 Sep 2024 13:59:54 +0200 Subject: [PATCH 33/66] note how to regen the keeper api sdk --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 42fd02eb..888e754d 100644 --- a/README.md +++ b/README.md @@ -42,6 +42,8 @@ following environment variable(s): - NG_APP_SENTRY_PROFILE_SAMPLE_RATE (default to 0) - NG_APP_SENTRY_ENVIRONMENT (default to "development") +If you need to update the Keeper SDK, use the `generate-api(-prod)` script. + ## Development server Run `ng serve` for a dev server, which listens on `http://localhost:4200/` by default. @@ -68,9 +70,7 @@ Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github. ## Running end-to-end tests -Run `ng e2e` to execute the end-to-end tests via a platform of your -choice. To use this command, you need to first add a package that -implements end-to-end testing capabilities. +End-to-end tests are implemented using Cypress. ## License From 956d0c05c11ada231caaf18681bc22fd98aea43d Mon Sep 17 00:00:00 2001 From: Palabola Date: Tue, 24 Sep 2024 14:37:13 +0200 Subject: [PATCH 34/66] DEV-369 vcpus_max, cpu/gpu model columns --- sdk/ServerPricesRoute.ts | 37 +++++ sdk/ServersRoute.ts | 37 +++++ sdk/data-contracts.ts | 128 ++++++++++++++++++ sdk/openapi.json | 2 +- .../search-bar/search-bar.component.html | 3 +- .../search-bar/search-bar.component.ts | 31 ++++- .../server-listing.component.html | 14 ++ .../server-listing.component.ts | 2 + .../server-prices.component.html | 14 ++ .../server-prices/server-prices.component.ts | 2 + 10 files changed, 266 insertions(+), 4 deletions(-) diff --git a/sdk/ServerPricesRoute.ts b/sdk/ServerPricesRoute.ts index 95e3e813..b017fc29 100644 --- a/sdk/ServerPricesRoute.ts +++ b/sdk/ServerPricesRoute.ts @@ -35,11 +35,20 @@ export namespace ServerPrices { * @default 1 */ vcpus_min?: number; + /** + * Maximum vCPUs + * Maximum number of virtual CPUs. + */ + vcpus_max?: number | null; /** * Processor architecture * Processor architecture. */ architecture?: "arm64" | "arm64_mac" | "i386" | "x86_64" | "x86_64_mac"; + /** Processor manufacturer */ + cpu_manufacturer?: "AMD" | "AWS" | "Ampere" | "Apple" | "Intel"; + /** Processor family */ + cpu_family?: "ARMv8" | "Ampere Altra" | "EPYC" | "Xeon"; /** * SCore * Minimum stress-ng CPU workload score. @@ -281,6 +290,34 @@ export namespace ServerPrices { * Minimum amount of total GPU memory (GBs) in all GPUs. */ gpu_memory_total?: number | null; + /** GPU manufacturer */ + gpu_manufacturer?: "AMD" | "Habana" | "NVIDIA"; + /** GPU family */ + gpu_family?: + | "Ada Lovelace" + | "Ampere" + | "Gaudi" + | "Hopper" + | "Kepler" + | "Maxwell" + | "Radeon Pro Navi" + | "Turing" + | "Volta"; + /** GPU model */ + gpu_model?: + | "A100" + | "A10G" + | "H100" + | "H200" + | "HL-205" + | "K80" + | "L4" + | "L40S" + | "M60" + | "T4" + | "T4G" + | "V100" + | "V520"; /** * Limit * Maximum number of results. diff --git a/sdk/ServersRoute.ts b/sdk/ServersRoute.ts index 31330e3f..b99a3e7c 100644 --- a/sdk/ServersRoute.ts +++ b/sdk/ServersRoute.ts @@ -35,11 +35,20 @@ export namespace Servers { * @default 1 */ vcpus_min?: number; + /** + * Maximum vCPUs + * Maximum number of virtual CPUs. + */ + vcpus_max?: number | null; /** * Processor architecture * Processor architecture. */ architecture?: "arm64" | "arm64_mac" | "i386" | "x86_64" | "x86_64_mac"; + /** Processor manufacturer */ + cpu_manufacturer?: "AMD" | "AWS" | "Ampere" | "Apple" | "Intel"; + /** Processor family */ + cpu_family?: "ARMv8" | "Ampere Altra" | "EPYC" | "Xeon"; /** * SCore * Minimum stress-ng CPU workload score. @@ -91,6 +100,34 @@ export namespace Servers { * Minimum amount of total GPU memory (GBs) in all GPUs. */ gpu_memory_total?: number | null; + /** GPU manufacturer */ + gpu_manufacturer?: "AMD" | "Habana" | "NVIDIA"; + /** GPU family */ + gpu_family?: + | "Ada Lovelace" + | "Ampere" + | "Gaudi" + | "Hopper" + | "Kepler" + | "Maxwell" + | "Radeon Pro Navi" + | "Turing" + | "Volta"; + /** GPU model */ + gpu_model?: + | "A100" + | "A10G" + | "H100" + | "H200" + | "HL-205" + | "K80" + | "L4" + | "L40S" + | "M60" + | "T4" + | "T4G" + | "V100" + | "V520"; /** * Limit * Maximum number of results. Set to -1 for unlimited. diff --git a/sdk/data-contracts.ts b/sdk/data-contracts.ts index f1c522f7..edbe06ef 100644 --- a/sdk/data-contracts.ts +++ b/sdk/data-contracts.ts @@ -415,6 +415,23 @@ export enum CpuArchitecture { X8664Mac = "x86_64_mac", } +/** CpuFamilies */ +export enum CpuFamilies { + ARMv8 = "ARMv8", + AmpereAltra = "Ampere Altra", + EPYC = "EPYC", + Xeon = "Xeon", +} + +/** CpuManufacturers */ +export enum CpuManufacturers { + AMD = "AMD", + AWS = "AWS", + Ampere = "Ampere", + Apple = "Apple", + Intel = "Intel", +} + /** * DdrGeneration * Generation of the DDR SDRAM. @@ -466,6 +483,43 @@ export interface Gpu { video_clock?: number | null; } +/** GpuFamilies */ +export enum GpuFamilies { + AdaLovelace = "Ada Lovelace", + Ampere = "Ampere", + Gaudi = "Gaudi", + Hopper = "Hopper", + Kepler = "Kepler", + Maxwell = "Maxwell", + RadeonProNavi = "Radeon Pro Navi", + Turing = "Turing", + Volta = "Volta", +} + +/** GpuManufacturers */ +export enum GpuManufacturers { + AMD = "AMD", + Habana = "Habana", + NVIDIA = "NVIDIA", +} + +/** GpuModels */ +export enum GpuModels { + A100 = "A100", + A10G = "A10G", + H100 = "H100", + H200 = "H200", + HL205 = "HL-205", + K80 = "K80", + L4 = "L4", + L40S = "L40S", + M60 = "M60", + T4 = "T4", + T4G = "T4G", + V100 = "V100", + V520 = "V520", +} + /** HTTPValidationError */ export interface HTTPValidationError { /** Detail */ @@ -3148,11 +3202,20 @@ export interface SearchServersServersGetParams { * @default 1 */ vcpus_min?: number; + /** + * Maximum vCPUs + * Maximum number of virtual CPUs. + */ + vcpus_max?: number | null; /** * Processor architecture * Processor architecture. */ architecture?: "arm64" | "arm64_mac" | "i386" | "x86_64" | "x86_64_mac"; + /** Processor manufacturer */ + cpu_manufacturer?: "AMD" | "AWS" | "Ampere" | "Apple" | "Intel"; + /** Processor family */ + cpu_family?: "ARMv8" | "Ampere Altra" | "EPYC" | "Xeon"; /** * SCore * Minimum stress-ng CPU workload score. @@ -3204,6 +3267,34 @@ export interface SearchServersServersGetParams { * Minimum amount of total GPU memory (GBs) in all GPUs. */ gpu_memory_total?: number | null; + /** GPU manufacturer */ + gpu_manufacturer?: "AMD" | "Habana" | "NVIDIA"; + /** GPU family */ + gpu_family?: + | "Ada Lovelace" + | "Ampere" + | "Gaudi" + | "Hopper" + | "Kepler" + | "Maxwell" + | "Radeon Pro Navi" + | "Turing" + | "Volta"; + /** GPU model */ + gpu_model?: + | "A100" + | "A10G" + | "H100" + | "H200" + | "HL-205" + | "K80" + | "L4" + | "L40S" + | "M60" + | "T4" + | "T4G" + | "V100" + | "V520"; /** * Limit * Maximum number of results. Set to -1 for unlimited. @@ -3251,11 +3342,20 @@ export interface SearchServerPricesServerPricesGetParams { * @default 1 */ vcpus_min?: number; + /** + * Maximum vCPUs + * Maximum number of virtual CPUs. + */ + vcpus_max?: number | null; /** * Processor architecture * Processor architecture. */ architecture?: "arm64" | "arm64_mac" | "i386" | "x86_64" | "x86_64_mac"; + /** Processor manufacturer */ + cpu_manufacturer?: "AMD" | "AWS" | "Ampere" | "Apple" | "Intel"; + /** Processor family */ + cpu_family?: "ARMv8" | "Ampere Altra" | "EPYC" | "Xeon"; /** * SCore * Minimum stress-ng CPU workload score. @@ -3497,6 +3597,34 @@ export interface SearchServerPricesServerPricesGetParams { * Minimum amount of total GPU memory (GBs) in all GPUs. */ gpu_memory_total?: number | null; + /** GPU manufacturer */ + gpu_manufacturer?: "AMD" | "Habana" | "NVIDIA"; + /** GPU family */ + gpu_family?: + | "Ada Lovelace" + | "Ampere" + | "Gaudi" + | "Hopper" + | "Kepler" + | "Maxwell" + | "Radeon Pro Navi" + | "Turing" + | "Volta"; + /** GPU model */ + gpu_model?: + | "A100" + | "A10G" + | "H100" + | "H200" + | "HL-205" + | "K80" + | "L4" + | "L40S" + | "M60" + | "T4" + | "T4G" + | "V100" + | "V520"; /** * Limit * Maximum number of results. diff --git a/sdk/openapi.json b/sdk/openapi.json index 0a2b47d6..af17ff19 100644 --- a/sdk/openapi.json +++ b/sdk/openapi.json @@ -1 +1 @@ -{"openapi":"3.1.0","info":{"title":"Spare Cores (SC) Keeper","description":"\nAPI to search and serve data collected on cloud compute resources.\n\n## Licensing\n\nThis is a free service provided by the Spare Cores team, without any warranty.\nThe source code of the API is licensed under MPL-2.0, find more details at\n.\n\n## References\n\n- Spare Cores: \n- SC Keeper: \n- SC Crawler: \n- SC Data: \n","termsOfService":"https://sparecores.com/legal/terms-of-service","contact":{"name":"Spare Cores Team","email":"social@sparecores.com"},"license":{"name":"Mozilla Public License 2.0 (MPL 2.0)","url":"http://mozilla.org/MPL/2.0/"},"version":"0.3.0"},"paths":{"/healthcheck":{"get":{"tags":["Administrative endpoints"],"summary":"Healthcheck","description":"Quickly return package and database version information.","operationId":"healthcheck_healthcheck_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthcheckResponse"}}}}}}},"/table/benchmark":{"get":{"tags":["Table dumps"],"summary":"Table Benchmark","description":"Return the Benchmark table as-is, without filtering options or relationships resolved.","operationId":"table_benchmark_table_benchmark_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Benchmark"},"type":"array","title":"Response Table Benchmark Table Benchmark Get"}}}}}}},"/table/country":{"get":{"tags":["Table dumps"],"summary":"Table Country","description":"Return the Country table as-is, without filtering options or relationships resolved.","operationId":"table_country_table_country_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Country"},"type":"array","title":"Response Table Country Table Country Get"}}}}}}},"/table/compliance_framework":{"get":{"tags":["Table dumps"],"summary":"Table Compliance Frameworks","description":"Return the ComplianceFramework table as-is, without filtering options or relationships resolved.","operationId":"table_compliance_frameworks_table_compliance_framework_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ComplianceFramework"},"type":"array","title":"Response Table Compliance Frameworks Table Compliance Framework Get"}}}}}}},"/table/vendor":{"get":{"tags":["Table dumps"],"summary":"Table Vendor","description":"Return the Vendor table as-is, without filtering options or relationships resolved.","operationId":"table_vendor_table_vendor_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Vendor"},"type":"array","title":"Response Table Vendor Table Vendor Get"}}}}}}},"/table/region":{"get":{"tags":["Table dumps"],"summary":"Table Region","description":"Return the Region table as-is, without filtering options or relationships resolved.","operationId":"table_region_table_region_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Region"},"type":"array","title":"Response Table Region Table Region Get"}}}}}}},"/table/zone":{"get":{"tags":["Table dumps"],"summary":"Table Zone","description":"Return the Zone table as-is, without filtering options or relationships resolved.","operationId":"table_zone_table_zone_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Zone"},"type":"array","title":"Response Table Zone Table Zone Get"}}}}}}},"/table/server":{"get":{"tags":["Table dumps"],"summary":"Table Server","description":"Return the Server table as-is, without filtering options or relationships resolved.","operationId":"table_server_table_server_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Server"},"type":"array","title":"Response Table Server Table Server Get"}}}}}}},"/table/storage":{"get":{"tags":["Table dumps"],"summary":"Table Storage","description":"Return the Storage table as-is, without filtering options or relationships resolved.","operationId":"table_storage_table_storage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Storage"},"type":"array","title":"Response Table Storage Table Storage Get"}}}}}}},"/table/server/meta":{"get":{"tags":["Table metadata"],"summary":"Table Metadata Server","description":"Server table and column names and comments.","operationId":"table_metadata_server_table_server_meta_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerTableMetaData"}}}}}}},"/server/{vendor}/{server}":{"get":{"tags":["Server Details"],"summary":"Get Server","description":"Query a single server by its vendor id and either the server or, or its API reference.\n\nReturn dictionary includes all server fields, along\nwith the current prices per zone, and\nthe available benchmark scores.","operationId":"get_server_server__vendor___server__get","deprecated":true,"parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"Vendor ID.","title":"Vendor"},"description":"Vendor ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"Server ID or API reference.","title":"Server"},"description":"Server ID or API reference."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","title":"Currency"},"description":"Currency used for prices."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerPKsWithPrices"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v2/server/{vendor}/{server}":{"get":{"tags":["Server Details"],"summary":"Get Server Without Relations","description":"Query a single server by its vendor id and either the server id or its API reference.","operationId":"get_server_without_relations_v2_server__vendor___server__get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"A Vendor's ID.","title":"Vendor"},"description":"A Vendor's ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"A Server's ID or API reference.","title":"Server"},"description":"A Server's ID or API reference."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerBase"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}/similar_servers/{by}/{num}":{"get":{"tags":["Server Details"],"summary":"Get Similar Servers","description":"Search similar servers to the provided one.\n\nThe \"family\" method returns all servers from the same family of\nthe same vendor.\n\nThe \"specs\" approach will prioritize the number of\nGPUs, then CPUs, lastly the amount of memory.\n\nThe \"score\" method will find the servers with the closest\nperformance using the multi-core SCore.","operationId":"get_similar_servers_server__vendor___server__similar_servers__by___num__get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"Vendor ID.","title":"Vendor"},"description":"Vendor ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"Server ID or API reference.","title":"Server"},"description":"Server ID or API reference."},{"name":"by","in":"path","required":true,"schema":{"enum":["family","specs","score"],"type":"string","description":"Algorithm to look for similar servers.","title":"By"},"description":"Algorithm to look for similar servers."},{"name":"num","in":"path","required":true,"schema":{"type":"integer","maximum":100,"description":"Number of servers to get.","title":"Num"},"description":"Number of servers to get."},{"name":"benchmark_id","in":"query","required":false,"schema":{"type":"string","description":"Benchmark id to use as the main score for the server.","default":"stress_ng:cpu_all","title":"Benchmark Id"},"description":"Benchmark id to use as the main score for the server."},{"name":"benchmark_config","in":"query","required":false,"schema":{"type":"string","description":"Benchmark id to use as the main score for the server.","default":"","title":"Benchmark Config"},"description":"Benchmark id to use as the main score for the server."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPKs"},"title":"Response Get Similar Servers Server Vendor Server Similar Servers By Num Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}/prices":{"get":{"tags":["Server Details"],"summary":"Get Server Prices","description":"Query the current prices of a single server by its vendor id and server id.","operationId":"get_server_prices_server__vendor___server__prices_get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"A Vendor's ID.","title":"Vendor"},"description":"A Vendor's ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"A Server's ID or API reference.","title":"Server"},"description":"A Server's ID or API reference."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","title":"Currency"},"description":"Currency used for prices."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPrice"},"title":"Response Get Server Prices Server Vendor Server Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}/benchmarks":{"get":{"tags":["Server Details"],"summary":"Get Server Benchmarks","description":"Query the current benchmark scores of a single server.","operationId":"get_server_benchmarks_server__vendor___server__benchmarks_get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"A Vendor's ID.","title":"Vendor"},"description":"A Vendor's ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"A Server's ID or API reference.","title":"Server"},"description":"A Server's ID or API reference."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BenchmarkScore"},"title":"Response Get Server Benchmarks Server Vendor Server Benchmarks Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_server_filters":{"get":{"tags":["AI"],"summary":"Assist Server Filters","description":"Extract Server JSON filters from freetext.","operationId":"assist_server_filters_ai_assist_server_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Server Filters Ai Assist Server Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_server_price_filters":{"get":{"tags":["AI"],"summary":"Assist Server Price Filters","description":"Extract ServerPrice JSON filters from freetext.","operationId":"assist_server_price_filters_ai_assist_server_price_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Server Price Filters Ai Assist Server Price Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_storage_price_filters":{"get":{"tags":["AI"],"summary":"Assist Storage Price Filters","description":"Extract StoragePrice JSON filters from freetext.","operationId":"assist_storage_price_filters_ai_assist_storage_price_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Storage Price Filters Ai Assist Storage Price Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_traffic_price_filters":{"get":{"tags":["AI"],"summary":"Assist Traffic Price Filters","description":"Extract TrafficPrice JSON filters from freetext.","operationId":"assist_traffic_price_filters_ai_assist_traffic_price_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Traffic Price Filters Ai Assist Traffic Price Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/regions":{"get":{"tags":["Query Resources"],"summary":"Search Regions","operationId":"search_regions_regions_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RegionPKs"},"title":"Response Search Regions Regions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/servers":{"get":{"tags":["Query Resources"],"summary":"Search Servers","operationId":"search_servers_servers_get","parameters":[{"name":"partial_name_or_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partial name or id","description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name.","category_id":"basic"},"description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name."},{"name":"vcpus_min","in":"query","required":false,"schema":{"type":"integer","maximum":256,"minimum":1,"title":"Minimum vCPUs","description":"Minimum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","default":1},"description":"Minimum number of virtual CPUs."},{"name":"architecture","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuArchitecture"}},{"type":"null"}],"title":"Processor architecture","description":"Processor architecture.","category_id":"processor","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"]},"description":"Processor architecture."},{"name":"benchmark_score_stressng_cpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"SCore","description":"Minimum stress-ng CPU workload score.","category_id":"processor"},"description":"Minimum stress-ng CPU workload score."},{"name":"memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum memory","description":"Minimum amount of memory in GBs.","category_id":"memory","unit":"GB","step":0.1},"description":"Minimum amount of memory in GBs."},{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active only","description":"Filter for active servers only.","category_id":"basic","default":true},"description":"Filter for active servers only."},{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"storage_size","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs).","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs)."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"gpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"GPU count","description":"Minimum number of GPUs.","category_id":"gpu","unit":"GPUs"},"description":"Minimum number of GPUs."},{"name":"gpu_memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum GPU memory","description":"Minimum amount of GPU memory (GB) in each GPU.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of GPU memory (GB) in each GPU."},{"name":"gpu_memory_total","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total GPU memory","description":"Minimum amount of total GPU memory (GBs) in all GPUs.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of total GPU memory (GBs) in all GPUs."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited.","default":25,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"vcpus","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderDir","description":"Order direction.","default":"asc"},"description":"Order direction."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPKs"},"title":"Response Search Servers Servers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server_prices":{"get":{"tags":["Query Resources"],"summary":"Search Server Prices","operationId":"search_server_prices_server_prices_get","parameters":[{"name":"partial_name_or_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partial name or id","description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name.","category_id":"basic"},"description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name."},{"name":"vcpus_min","in":"query","required":false,"schema":{"type":"integer","maximum":256,"minimum":1,"title":"Minimum vCPUs","description":"Minimum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","default":1},"description":"Minimum number of virtual CPUs."},{"name":"architecture","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuArchitecture"}},{"type":"null"}],"title":"Processor architecture","description":"Processor architecture.","category_id":"processor","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"]},"description":"Processor architecture."},{"name":"benchmark_score_stressng_cpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"SCore","description":"Minimum stress-ng CPU workload score.","category_id":"processor"},"description":"Minimum stress-ng CPU workload score."},{"name":"memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum memory","description":"Minimum amount of memory in GBs.","category_id":"memory","unit":"GB","step":0.1},"description":"Minimum amount of memory in GBs."},{"name":"price_max","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Maximum price","description":"Maximum price (USD/hr).","category_id":"price","step":0.0001},"description":"Maximum price (USD/hr)."},{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active only","description":"Filter for active servers only.","category_id":"basic","default":true},"description":"Filter for active servers only."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"allocation","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/Allocation"},{"type":"null"}],"title":"Allocation","description":"Server allocation method.","enum":["ondemand","reserved","spot"]},"description":"Server allocation method."},{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"Region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"storage_size","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs).","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs)."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Countries"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"gpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"GPU count","description":"Minimum number of GPUs.","category_id":"gpu","unit":"GPUs"},"description":"Minimum number of GPUs."},{"name":"gpu_memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum GPU memory","description":"Minimum amount of GPU memory (GB) in each GPU.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of GPU memory (GB) in each GPU."},{"name":"gpu_memory_total","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total GPU memory","description":"Minimum amount of total GPU memory (GBs) in all GPUs.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of total GPU memory (GBs) in all GPUs."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":250,"description":"Maximum number of results.","default":25,"title":"Limit"},"description":"Maximum number of results."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderDir","description":"Order direction.","default":"asc"},"description":"Order direction."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","default":"USD","title":"Currency"},"description":"Currency used for prices."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPriceWithPKs"},"title":"Response Search Server Prices Server Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/storage_prices":{"get":{"tags":["Query Resources"],"summary":"Search Storage Prices","operationId":"search_storage_prices_storage_prices_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"storage_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs).","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs)."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"Region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Countries"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited.","default":10,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderDir","description":"Order direction.","default":"asc"},"description":"Order direction."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","default":"USD","title":"Currency"},"description":"Currency used for prices."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StoragePriceWithPKs"},"title":"Response Search Storage Prices Storage Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/traffic_prices":{"get":{"tags":["Query Resources"],"summary":"Search Traffic Prices","operationId":"search_traffic_prices_traffic_prices_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"Region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Countries"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"direction","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/TrafficDirection"}},{"type":"null"}],"title":"Direction","description":"Direction of the Internet traffic.","category_id":"traffic","enum":["inbound","outbound"],"default":["outbound"]},"description":"Direction of the Internet traffic."},{"name":"monthly_traffic","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Monthly Overall Traffic","description":"Overall amount of monthly traffic (GBs).","category_id":"traffic","unit":"GB","step":1,"default":1},"description":"Overall amount of monthly traffic (GBs)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited.","default":10,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderDir","description":"Order direction.","default":"asc"},"description":"Order direction."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","default":"USD","title":"Currency"},"description":"Currency used for prices."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TrafficPriceWithPKsWithMonthlyTraffic"},"title":"Response Search Traffic Prices Traffic Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Allocation":{"type":"string","enum":["ondemand","reserved","spot"],"title":"Allocation","description":"Server allocation options."},"Benchmark":{"properties":{"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Unique identifier of a specific Benchmark."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"framework":{"type":"string","title":"Framework","description":"The name of the benchmark framework/software/tool used."},"config_fields":{"type":"object","title":"Config Fields","description":"A dictionary of descriptions on the framework-specific config options, e.g. {\"bandwidth\": \"Memory amount to use for compression in MB.\"}.","default":{}},"measurement":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Measurement","description":"The name of measurement recoreded in the benchmark."},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit","description":"Optional unit of measurement for the benchmark score."},"higher_is_better":{"type":"boolean","title":"Higher Is Better","description":"If higher benchmark score means better performance, or vica versa.","default":true},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["benchmark_id","name","description","framework"],"title":"Benchmark","description":"Benchmark scenario definitions.\n\nAttributes:\n benchmark_id (str): Unique identifier of a specific Benchmark.\n name (str): Human-friendly name.\n description (typing.Optional[str]): Short description.\n framework (str): The name of the benchmark framework/software/tool used.\n config_fields (dict): A dictionary of descriptions on the framework-specific config options, e.g. {\"bandwidth\": \"Memory amount to use for compression in MB.\"}.\n measurement (typing.Optional[str]): The name of measurement recoreded in the benchmark.\n unit (typing.Optional[str]): Optional unit of measurement for the benchmark score.\n higher_is_better (bool): If higher benchmark score means better performance, or vica versa.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"benchmark_id":"geekbench:hdr","config_fields":{"cores":"Single-Core or Multi-Core peformance tests.","framework_version":"Version number of geekbench."},"description":"Blends six 16MP SDR photos to create a single HDR photo, using a recovery process and radiance map construction (Debevec and Malik 1997), and a tone mapping algorithm (Reinhard and Devlin 2005).The score is calibrated against a baseline score of 2,500 (Dell Precision 3460 with a Core i7-12700 processor) as per the Geekbench 6 Benchmark Internals.","framework":"geekbench","higher_is_better":true,"measurement":"hdr","name":"Geekbench: HDR","observed_at":"2024-09-21T09:35:55.192446","status":"active"}]},"BenchmarkScore":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Reference to the Benchmark."},"config":{"type":"object","title":"Config","description":"Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}","default":{}},"score":{"type":"number","title":"Score","description":"The resulting score of the benchmark."},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Optional note, comment or context on the benchmark score."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","benchmark_id","score"],"title":"BenchmarkScore","description":"Results of running Benchmark scenarios on Servers.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n server_id (str): Reference to the Server.\n benchmark_id (str): Reference to the Benchmark.\n config (sc_crawler.table_fields.HashableDict | dict): Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}\n score (float): The resulting score of the benchmark.\n note (typing.Optional[str]): Optional note, comment or context on the benchmark score.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation."},"BenchmarkScoreBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Reference to the Benchmark."},"config":{"type":"object","title":"Config","description":"Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}","default":{}},"score":{"type":"number","title":"Score","description":"The resulting score of the benchmark."},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Optional note, comment or context on the benchmark score."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","benchmark_id","score"],"title":"BenchmarkScoreBase"},"ComplianceFramework":{"properties":{"compliance_framework_id":{"type":"string","title":"Compliance Framework Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"abbreviation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abbreviation","description":"Short abbreviation of the Framework name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Description of the framework in a few paragrahs, outlining key features and characteristics for reference."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Framework's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage with more information on the Framework."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["compliance_framework_id","name","abbreviation","description"],"title":"ComplianceFramework","description":"List of Compliance Frameworks, such as HIPAA or SOC 2 Type 1.\n\nAttributes:\n compliance_framework_id (str): Unique identifier.\n name (str): Human-friendly name.\n abbreviation (typing.Optional[str]): Short abbreviation of the Framework name.\n description (typing.Optional[str]): Description of the framework in a few paragrahs, outlining key features and characteristics for reference.\n logo (typing.Optional[str]): Publicly accessible URL to the image of the Framework's logo.\n homepage (typing.Optional[str]): Public homepage with more information on the Framework.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"abbreviation":"HIPAA","compliance_framework_id":"hipaa","description":"HIPAA (Health Insurance Portability and Accountability Act) is a U.S. federal law designed to safeguard the privacy and security of individuals' health information, establishing standards for its protection and regulating its use in the healthcare industry.","homepage":"https://www.cdc.gov/phlp/publications/topic/hipaa.html","name":"The Health Insurance Portability and Accountability Act","observed_at":"2024-09-21T09:35:55.190386","status":"active"}]},"ComplianceFrameworks":{"type":"string","enum":["hipaa","iso27001","soc2t2"],"title":"ComplianceFrameworks"},"Countries":{"type":"string","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"],"title":"Countries"},"Country":{"properties":{"country_id":{"type":"string","title":"Country Id","description":"Country code by ISO 3166 alpha-2."},"continent":{"type":"string","title":"Continent","description":"Continent name."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["country_id","continent"],"title":"Country","description":"Country and continent mapping.\n\nAttributes:\n country_id (str): Country code by ISO 3166 alpha-2.\n continent (str): Continent name.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"continent":"Asia","country_id":"AE","observed_at":"2024-09-21T09:35:55.188619","status":"active"}]},"CountryBase":{"properties":{"country_id":{"type":"string","title":"Country Id","description":"Country code by ISO 3166 alpha-2."},"continent":{"type":"string","title":"Continent","description":"Continent name."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["country_id","continent"],"title":"CountryBase"},"Cpu":{"properties":{"manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Manufacturer"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cores"},"threads":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Threads"},"l1_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L1 Cache Size"},"l2_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L2 Cache Size"},"l3_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L3 Cache Size"},"microcode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Microcode"},"capabilities":{"items":{"type":"string"},"type":"array","title":"Capabilities","default":[]},"bugs":{"items":{"type":"string"},"type":"array","title":"Bugs","default":[]},"bogomips":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Bogomips"}},"type":"object","title":"Cpu","description":"CPU details."},"CpuAllocation":{"type":"string","enum":["Shared","Burstable","Dedicated"],"title":"CpuAllocation","description":"CPU allocation methods at cloud vendors."},"CpuArchitecture":{"type":"string","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"],"title":"CpuArchitecture","description":"CPU architectures."},"DdrGeneration":{"type":"string","enum":["DDR3","DDR4","DDR5"],"title":"DdrGeneration","description":"Generation of the DDR SDRAM."},"Disk":{"properties":{"size":{"type":"integer","title":"Size","default":0},"storage_type":{"$ref":"#/components/schemas/StorageType"}},"type":"object","required":["storage_type"],"title":"Disk","description":"Disk definition based on size and storage type."},"Gpu":{"properties":{"manufacturer":{"type":"string","title":"Manufacturer"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"memory":{"type":"integer","title":"Memory"},"firmware_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firmware Version"},"bios_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bios Version"},"graphics_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Graphics Clock"},"sm_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sm Clock"},"mem_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Mem Clock"},"video_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Video Clock"}},"type":"object","required":["manufacturer","memory"],"title":"Gpu","description":"GPU accelerator details."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HealthcheckResponse":{"properties":{"packages":{"type":"object","title":"Packages"},"database_last_updated":{"type":"number","title":"Database Last Updated"},"database_hash":{"type":"string","title":"Database Hash"},"database_alembic_version":{"type":"string","title":"Database Alembic Version"}},"type":"object","required":["packages","database_last_updated","database_hash","database_alembic_version"],"title":"HealthcheckResponse","examples":[{"database_alembic_version":"bar","database_hash":"foo","database_last_updated":1726912489.9782984,"packages":{"sparecores-crawler":"1.0.0"}}]},"IdNameAndDescriptionAndCategory":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"id":{"type":"string","title":"Id"},"category":{"type":"string","title":"Category"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"}},"type":"object","required":["name","description","id","category","unit"],"title":"IdNameAndDescriptionAndCategory"},"NameAndDescription":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"}},"type":"object","required":["name","description"],"title":"NameAndDescription"},"OrderDir":{"type":"string","enum":["asc","desc"],"title":"OrderDir"},"PriceTier":{"properties":{"lower":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Lower"},"upper":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Upper"},"price":{"type":"number","title":"Price"}},"type":"object","required":["lower","upper","price"],"title":"PriceTier","description":"Price tier definition.\n\nAs standard JSON does not support Inf, NaN etc values,\nthose should be passed as string, e.g. for the upper bound.\n\nSee [float_inf_to_str][sc_crawler.utils.float_inf_to_str] for\nconverting an infinite numeric value into \"Infinity\"."},"PriceUnit":{"type":"string","enum":["year","month","hour","GiB","GB","GB/month"],"title":"PriceUnit","description":"Supported units for the price tables."},"Region":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id"],"title":"Region","description":"Regions of Vendors.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n aliases (typing.List[str]): List of other commonly used names for the same Region.\n country_id (str): Reference to the Country, where the Region is located.\n state (typing.Optional[str]): Optional state/administrative area of the Region's location within the Country.\n city (typing.Optional[str]): Optional city name of the Region's location.\n address_line (typing.Optional[str]): Optional address line of the Region's location.\n zip_code (typing.Optional[str]): Optional ZIP code of the Region's location.\n lon (typing.Optional[float]): Longitude coordinate of the Region's known or approximate location.\n lat (typing.Optional[float]): Latitude coordinate of the Region's known or approximate location.\n founding_year (typing.Optional[int]): 4-digit year when the Region was founded.\n green_energy (typing.Optional[bool]): If the Region is 100% powered by renewable energy.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-21T09:19:15.898420","region_id":"af-south-1","status":"active","vendor_id":"aws"}]},"RegionBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id"],"title":"RegionBase"},"RegionBaseWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"country":{"$ref":"#/components/schemas/CountryBase"}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id","country"],"title":"RegionBaseWithPKs"},"RegionPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"vendor":{"$ref":"#/components/schemas/VendorBase"}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id","vendor"],"title":"RegionPKs","examples":[{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-21T09:19:15.898420","region_id":"af-south-1","status":"active","vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-21T09:35:55.193830","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws"}]},"Regions":{"type":"string","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"],"title":"Regions"},"Server":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"$ref":"#/components/schemas/CpuAllocation","description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"$ref":"#/components/schemas/CpuArchitecture","description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"Server","description":"Server types.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n server_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n description (typing.Optional[str]): Short description.\n family (typing.Optional[str]): Server family, e.g. General-purpose machine (GCP), or M5g (AWS).\n vcpus (int): Default number of virtual CPUs (vCPU) of the server.\n hypervisor (typing.Optional[str]): Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated.\n cpu_allocation (CpuAllocation): Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated.\n cpu_cores (typing.Optional[int]): Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled.\n cpu_speed (typing.Optional[float]): Vendor-reported maximum CPU clock speed (GHz).\n cpu_architecture (CpuArchitecture): CPU architecture (arm64, arm64_mac, i386, or x86_64).\n cpu_manufacturer (typing.Optional[str]): The manufacturer of the primary processor, e.g. Intel or AMD.\n cpu_family (typing.Optional[str]): The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9.\n cpu_model (typing.Optional[str]): The model number of the primary processor, e.g. 9750H.\n cpu_l1_cache (typing.Optional[int]): L1 cache size (byte).\n cpu_l2_cache (typing.Optional[int]): L2 cache size (byte).\n cpu_l3_cache (typing.Optional[int]): L3 cache size (byte).\n cpu_flags (typing.List[str]): CPU features/flags.\n cpus (typing.List[sc_crawler.table_fields.Cpu]): JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.\n memory_amount (int): RAM amount (MiB).\n memory_generation (typing.Optional[sc_crawler.table_fields.DdrGeneration]): Generation of the DDR SDRAM, e.g. DDR4 or DDR5.\n memory_speed (typing.Optional[int]): DDR SDRAM clock rate (Mhz).\n memory_ecc (typing.Optional[bool]): If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption.\n gpu_count (int): Number of GPU accelerator(s).\n gpu_memory_min (typing.Optional[int]): Memory (MiB) allocated to the lowest-end GPU accelerator.\n gpu_memory_total (typing.Optional[int]): Overall memory (MiB) allocated to all the GPU accelerator(s).\n gpu_manufacturer (typing.Optional[str]): The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD.\n gpu_family (typing.Optional[str]): The product family of the primary GPU accelerator, e.g. Turing.\n gpu_model (typing.Optional[str]): The model number of the primary GPU accelerator, e.g. Tesla T4.\n gpus (typing.List[sc_crawler.table_fields.Gpu]): JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.\n storage_size (int): Overall size (GB) of the disk(s).\n storage_type (typing.Optional[sc_crawler.table_fields.StorageType]): Primary disk type, e.g. HDD, SSD, NVMe SSD, or network).\n storages (typing.List[sc_crawler.table_fields.Disk]): JSON array of disks attached to the server, including the size (MiB) and type of each disk.\n network_speed (typing.Optional[float]): The baseline network performance (Gbps) of the network card.\n inbound_traffic (float): Amount of complimentary inbound traffic (GB) per month.\n outbound_traffic (float): Amount of complimentary outbound traffic (GB) per month.\n ipv4 (int): Number of complimentary IPv4 address(es).\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-21T09:20:11.119040","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"}]},"ServerBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"$ref":"#/components/schemas/CpuAllocation","description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"$ref":"#/components/schemas/CpuArchitecture","description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"ServerBase"},"ServerPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"$ref":"#/components/schemas/CpuAllocation","description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"$ref":"#/components/schemas/CpuArchitecture","description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"},"vendor":{"$ref":"#/components/schemas/VendorBase"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description","vendor"],"title":"ServerPKs","examples":[{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-21T09:20:11.119040","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"}]},"ServerPKsWithPrices":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"$ref":"#/components/schemas/CpuAllocation","description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"$ref":"#/components/schemas/CpuArchitecture","description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"prices":{"items":{"$ref":"#/components/schemas/ServerPricePKs"},"type":"array","title":"Prices"},"benchmark_scores":{"items":{"$ref":"#/components/schemas/BenchmarkScoreBase"},"type":"array","title":"Benchmark Scores"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description","vendor","prices","benchmark_scores"],"title":"ServerPKsWithPrices","examples":[{"api_reference":"a1.2xlarge","benchmark_scores":[{"benchmark_id":"geekbench:hdr","config_fields":{"cores":"Single-Core or Multi-Core peformance tests.","framework_version":"Version number of geekbench."},"description":"Blends six 16MP SDR photos to create a single HDR photo, using a recovery process and radiance map construction (Debevec and Malik 1997), and a tone mapping algorithm (Reinhard and Devlin 2005).The score is calibrated against a baseline score of 2,500 (Dell Precision 3460 with a Core i7-12700 processor) as per the Geekbench 6 Benchmark Internals.","framework":"geekbench","higher_is_better":true,"measurement":"hdr","name":"Geekbench: HDR","observed_at":"2024-09-21T09:35:55.192446","status":"active"}],"cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-21T09:20:11.119040","outbound_traffic":0.0,"price":7,"prices":[{"allocation":"spot","currency":"USD","observed_at":"2024-09-21T01:33:43","operating_system":"Linux","price":0.0721,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-21T09:19:15.898420","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-west-2","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-21T09:19:19.238536","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"usw2-az2"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-21T04:17:27","operating_system":"Linux","price":0.0731,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-21T09:19:15.898420","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-west-2","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-21T09:19:19.238536","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"usw2-az3"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-21T06:01:33","operating_system":"Linux","price":0.0883,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-21T09:19:15.898420","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"eu-central-1","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-21T09:19:19.238536","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"euc1-az2"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-21T07:46:28","operating_system":"Linux","price":0.09,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-21T09:19:15.898420","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"eu-central-1","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-21T09:19:19.238536","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"euc1-az3"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-21T09:31:33","operating_system":"Linux","price":0.0924,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-21T09:19:15.898420","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"ap-northeast-1","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-21T09:19:19.238536","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"apne1-az4"}],"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-21T09:35:55.193830","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws"}]},"ServerPrice":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"$ref":"#/components/schemas/Allocation","description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"$ref":"#/components/schemas/PriceUnit","description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price"],"title":"ServerPrice","description":"Server type prices per Region and Allocation method.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Reference to the Region.\n zone_id (str): Reference to the Zone.\n server_id (str): Reference to the Server.\n operating_system (str): Operating System.\n allocation (Allocation): Allocation method, e.g. on-demand or spot.\n unit (PriceUnit): Billing unit of the pricing model.\n price (float): Actual price of a billing unit.\n price_upfront (float): Price to be paid when setting up the resource.\n price_tiered (typing.List[sc_crawler.table_fields.PriceTier]): List of pricing tiers with min/max thresholds and actual prices.\n currency (str): Currency of the prices.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation."},"ServerPricePKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"$ref":"#/components/schemas/Allocation","description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"$ref":"#/components/schemas/PriceUnit","description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBase"},"zone":{"$ref":"#/components/schemas/ZoneBase"}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price","region","zone"],"title":"ServerPricePKs"},"ServerPriceWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"$ref":"#/components/schemas/Allocation","description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"$ref":"#/components/schemas/PriceUnit","description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"vendor":{"$ref":"#/components/schemas/VendorBase"},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"zone":{"$ref":"#/components/schemas/ZoneBase"},"server":{"$ref":"#/components/schemas/ServerWithScore"}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price","vendor","region","zone","server"],"title":"ServerPriceWithPKs","examples":[{"allocation":"spot","currency":"USD","observed_at":"2024-09-21T01:33:43","operating_system":"Linux","price":0.0721,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country":{"continent":"Asia","country_id":"AE","observed_at":"2024-09-21T09:35:55.188619","status":"active"},"country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-21T09:19:15.898420","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-west-2","server":{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-21T09:20:11.119040","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"},"server_id":"a1.2xlarge","status":"active","unit":"hour","vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-21T09:35:55.193830","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-21T09:19:19.238536","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"usw2-az2"}]},"ServerTableMetaData":{"properties":{"table":{"$ref":"#/components/schemas/NameAndDescription"},"fields":{"items":{"$ref":"#/components/schemas/IdNameAndDescriptionAndCategory"},"type":"array","title":"Fields"}},"type":"object","required":["table","fields"],"title":"ServerTableMetaData"},"ServerWithScore":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"$ref":"#/components/schemas/CpuAllocation","description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"$ref":"#/components/schemas/CpuArchitecture","description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"ServerWithScore"},"Status":{"type":"string","enum":["active","inactive"],"title":"Status","description":"Last known status of a resource, e.g. active or inactive."},"Storage":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"storage_id":{"type":"string","title":"Storage Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"storage_type":{"$ref":"#/components/schemas/StorageType","description":"High-level category of the storage, e.g. HDD or SDD."},"max_iops":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Iops","description":"Maximum Input/Output Operations Per Second."},"max_throughput":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Throughput","description":"Maximum Throughput (MiB/s)."},"min_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Size","description":"Minimum required size (GiB)."},"max_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Size","description":"Maximum possible size (GiB)."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","storage_id","name","description","storage_type"],"title":"Storage","description":"Flexible storage options that can be attached to a Server.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n storage_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n description (typing.Optional[str]): Short description.\n storage_type (StorageType): High-level category of the storage, e.g. HDD or SDD.\n max_iops (typing.Optional[int]): Maximum Input/Output Operations Per Second.\n max_throughput (typing.Optional[int]): Maximum Throughput (MiB/s).\n min_size (typing.Optional[int]): Minimum required size (GiB).\n max_size (typing.Optional[int]): Maximum possible size (GiB).\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"description":"SSD-backed","max_iops":16000,"max_size":16384,"max_throughput":250,"min_size":1,"name":"General Purpose","observed_at":"2024-09-21T09:22:34.818295","status":"active","storage_id":"gp2","storage_type":"ssd","vendor_id":"aws"}]},"StorageBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"storage_id":{"type":"string","title":"Storage Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"storage_type":{"$ref":"#/components/schemas/StorageType","description":"High-level category of the storage, e.g. HDD or SDD."},"max_iops":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Iops","description":"Maximum Input/Output Operations Per Second."},"max_throughput":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Throughput","description":"Maximum Throughput (MiB/s)."},"min_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Size","description":"Minimum required size (GiB)."},"max_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Size","description":"Maximum possible size (GiB)."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","storage_id","name","description","storage_type"],"title":"StorageBase"},"StoragePriceWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"storage_id":{"type":"string","title":"Storage Id","description":"Reference to the Storage."},"unit":{"$ref":"#/components/schemas/PriceUnit","description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"storage":{"$ref":"#/components/schemas/StorageBase"}},"type":"object","required":["vendor_id","region_id","storage_id","unit","price","region","vendor","storage"],"title":"StoragePriceWithPKs"},"StorageType":{"type":"string","enum":["hdd","ssd","nvme ssd","network"],"title":"StorageType","description":"Type of a storage, e.g. HDD or SSD."},"TrafficDirection":{"type":"string","enum":["inbound","outbound"],"title":"TrafficDirection","description":"Direction of the network traffic."},"TrafficPriceWithPKsWithMonthlyTraffic":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"direction":{"$ref":"#/components/schemas/TrafficDirection","description":"Direction of the traffic: inbound or outbound."},"unit":{"$ref":"#/components/schemas/PriceUnit","description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"price_monthly_traffic":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price Monthly Traffic"}},"type":"object","required":["vendor_id","region_id","direction","unit","price","region","vendor"],"title":"TrafficPriceWithPKsWithMonthlyTraffic"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"Vendor":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Vendor's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage of the Vendor."},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Vendor's main headquarter is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Vendor's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Vendor's main location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Vendor's main location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Vendor's main location."},"founding_year":{"type":"integer","title":"Founding Year","description":"4-digit year when the Vendor was founded."},"status_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Page","description":"Public status page of the Vendor."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","name","country_id","founding_year"],"title":"Vendor","description":"Compute resource vendors, such as cloud and server providers.\n\n Examples:\n >>> from sc_crawler.tables import Vendor\n >>> from sc_crawler.lookup import countries\n >>> aws = Vendor(vendor_id='aws', name='Amazon Web Services', homepage='https://aws.amazon.com', country=countries[\"US\"], founding_year=2002)\n >>> aws\n Vendor(vendor_id='aws'...\n >>> from sc_crawler import vendors\n >>> vendors.aws\n Vendor(vendor_id='aws'...\n \n\nAttributes:\n vendor_id (str): Unique identifier.\n name (str): Human-friendly name.\n logo (typing.Optional[str]): Publicly accessible URL to the image of the Vendor's logo.\n homepage (typing.Optional[str]): Public homepage of the Vendor.\n country_id (str): Reference to the Country, where the Vendor's main headquarter is located.\n state (typing.Optional[str]): Optional state/administrative area of the Vendor's location within the Country.\n city (typing.Optional[str]): Optional city name of the Vendor's main location.\n address_line (typing.Optional[str]): Optional address line of the Vendor's main location.\n zip_code (typing.Optional[str]): Optional ZIP code of the Vendor's main location.\n founding_year (int): 4-digit year when the Vendor was founded.\n status_page (typing.Optional[str]): Public status page of the Vendor.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-21T09:35:55.193830","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"}]},"VendorBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Vendor's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage of the Vendor."},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Vendor's main headquarter is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Vendor's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Vendor's main location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Vendor's main location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Vendor's main location."},"founding_year":{"type":"integer","title":"Founding Year","description":"4-digit year when the Vendor was founded."},"status_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Page","description":"Public status page of the Vendor."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","name","country_id","founding_year"],"title":"VendorBase"},"Vendors":{"type":"string","enum":["aws","azure","gcp","hcloud"],"title":"Vendors"},"Zone":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","name","api_reference","display_name"],"title":"Zone","description":"Availability zones of Regions.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Reference to the Region.\n zone_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-21T09:19:19.238536","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"}]},"ZoneBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","name","api_reference","display_name"],"title":"ZoneBase"}}}} +{"openapi":"3.1.0","info":{"title":"Spare Cores (SC) Keeper","description":"\nAPI to search and serve data collected on cloud compute resources.\n\n## Licensing\n\nThis is a free service provided by the Spare Cores team, without any warranty.\nThe source code of the API is licensed under MPL-2.0, find more details at\n.\n\n## References\n\n- Spare Cores: \n- SC Keeper: \n- SC Crawler: \n- SC Data: \n","termsOfService":"https://sparecores.com/legal/terms-of-service","contact":{"name":"Spare Cores Team","email":"social@sparecores.com"},"license":{"name":"Mozilla Public License 2.0 (MPL 2.0)","url":"http://mozilla.org/MPL/2.0/"},"version":"0.3.0"},"paths":{"/healthcheck":{"get":{"tags":["Administrative endpoints"],"summary":"Healthcheck","description":"Quickly return package and database version information.","operationId":"healthcheck_healthcheck_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthcheckResponse"}}}}}}},"/table/benchmark":{"get":{"tags":["Table dumps"],"summary":"Table Benchmark","description":"Return the Benchmark table as-is, without filtering options or relationships resolved.","operationId":"table_benchmark_table_benchmark_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Benchmark"},"type":"array","title":"Response Table Benchmark Table Benchmark Get"}}}}}}},"/table/country":{"get":{"tags":["Table dumps"],"summary":"Table Country","description":"Return the Country table as-is, without filtering options or relationships resolved.","operationId":"table_country_table_country_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Country"},"type":"array","title":"Response Table Country Table Country Get"}}}}}}},"/table/compliance_framework":{"get":{"tags":["Table dumps"],"summary":"Table Compliance Frameworks","description":"Return the ComplianceFramework table as-is, without filtering options or relationships resolved.","operationId":"table_compliance_frameworks_table_compliance_framework_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ComplianceFramework"},"type":"array","title":"Response Table Compliance Frameworks Table Compliance Framework Get"}}}}}}},"/table/vendor":{"get":{"tags":["Table dumps"],"summary":"Table Vendor","description":"Return the Vendor table as-is, without filtering options or relationships resolved.","operationId":"table_vendor_table_vendor_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Vendor"},"type":"array","title":"Response Table Vendor Table Vendor Get"}}}}}}},"/table/region":{"get":{"tags":["Table dumps"],"summary":"Table Region","description":"Return the Region table as-is, without filtering options or relationships resolved.","operationId":"table_region_table_region_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Region"},"type":"array","title":"Response Table Region Table Region Get"}}}}}}},"/table/zone":{"get":{"tags":["Table dumps"],"summary":"Table Zone","description":"Return the Zone table as-is, without filtering options or relationships resolved.","operationId":"table_zone_table_zone_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Zone"},"type":"array","title":"Response Table Zone Table Zone Get"}}}}}}},"/table/server":{"get":{"tags":["Table dumps"],"summary":"Table Server","description":"Return the Server table as-is, without filtering options or relationships resolved.","operationId":"table_server_table_server_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Server"},"type":"array","title":"Response Table Server Table Server Get"}}}}}}},"/table/storage":{"get":{"tags":["Table dumps"],"summary":"Table Storage","description":"Return the Storage table as-is, without filtering options or relationships resolved.","operationId":"table_storage_table_storage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Storage"},"type":"array","title":"Response Table Storage Table Storage Get"}}}}}}},"/table/server/meta":{"get":{"tags":["Table metadata"],"summary":"Table Metadata Server","description":"Server table and column names and comments.","operationId":"table_metadata_server_table_server_meta_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerTableMetaData"}}}}}}},"/server/{vendor}/{server}":{"get":{"tags":["Server Details"],"summary":"Get Server","description":"Query a single server by its vendor id and either the server or, or its API reference.\n\nReturn dictionary includes all server fields, along\nwith the current prices per zone, and\nthe available benchmark scores.","operationId":"get_server_server__vendor___server__get","deprecated":true,"parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"Vendor ID.","title":"Vendor"},"description":"Vendor ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"Server ID or API reference.","title":"Server"},"description":"Server ID or API reference."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","title":"Currency"},"description":"Currency used for prices."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerPKsWithPrices"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v2/server/{vendor}/{server}":{"get":{"tags":["Server Details"],"summary":"Get Server Without Relations","description":"Query a single server by its vendor id and either the server id or its API reference.","operationId":"get_server_without_relations_v2_server__vendor___server__get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"A Vendor's ID.","title":"Vendor"},"description":"A Vendor's ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"A Server's ID or API reference.","title":"Server"},"description":"A Server's ID or API reference."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerBase"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}/similar_servers/{by}/{num}":{"get":{"tags":["Server Details"],"summary":"Get Similar Servers","description":"Search similar servers to the provided one.\n\nThe \"family\" method returns all servers from the same family of\nthe same vendor.\n\nThe \"specs\" approach will prioritize the number of\nGPUs, then CPUs, lastly the amount of memory.\n\nThe \"score\" method will find the servers with the closest\nperformance using the multi-core SCore.","operationId":"get_similar_servers_server__vendor___server__similar_servers__by___num__get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"Vendor ID.","title":"Vendor"},"description":"Vendor ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"Server ID or API reference.","title":"Server"},"description":"Server ID or API reference."},{"name":"by","in":"path","required":true,"schema":{"enum":["family","specs","score"],"type":"string","description":"Algorithm to look for similar servers.","title":"By"},"description":"Algorithm to look for similar servers."},{"name":"num","in":"path","required":true,"schema":{"type":"integer","maximum":100,"description":"Number of servers to get.","title":"Num"},"description":"Number of servers to get."},{"name":"benchmark_id","in":"query","required":false,"schema":{"type":"string","description":"Benchmark id to use as the main score for the server.","default":"stress_ng:cpu_all","title":"Benchmark Id"},"description":"Benchmark id to use as the main score for the server."},{"name":"benchmark_config","in":"query","required":false,"schema":{"type":"string","description":"Benchmark id to use as the main score for the server.","default":"","title":"Benchmark Config"},"description":"Benchmark id to use as the main score for the server."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPKs"},"title":"Response Get Similar Servers Server Vendor Server Similar Servers By Num Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}/prices":{"get":{"tags":["Server Details"],"summary":"Get Server Prices","description":"Query the current prices of a single server by its vendor id and server id.","operationId":"get_server_prices_server__vendor___server__prices_get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"A Vendor's ID.","title":"Vendor"},"description":"A Vendor's ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"A Server's ID or API reference.","title":"Server"},"description":"A Server's ID or API reference."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","title":"Currency"},"description":"Currency used for prices."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPrice"},"title":"Response Get Server Prices Server Vendor Server Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}/benchmarks":{"get":{"tags":["Server Details"],"summary":"Get Server Benchmarks","description":"Query the current benchmark scores of a single server.","operationId":"get_server_benchmarks_server__vendor___server__benchmarks_get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"A Vendor's ID.","title":"Vendor"},"description":"A Vendor's ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"A Server's ID or API reference.","title":"Server"},"description":"A Server's ID or API reference."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BenchmarkScore"},"title":"Response Get Server Benchmarks Server Vendor Server Benchmarks Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_server_filters":{"get":{"tags":["AI"],"summary":"Assist Server Filters","description":"Extract Server JSON filters from freetext.","operationId":"assist_server_filters_ai_assist_server_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Server Filters Ai Assist Server Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_server_price_filters":{"get":{"tags":["AI"],"summary":"Assist Server Price Filters","description":"Extract ServerPrice JSON filters from freetext.","operationId":"assist_server_price_filters_ai_assist_server_price_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Server Price Filters Ai Assist Server Price Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_storage_price_filters":{"get":{"tags":["AI"],"summary":"Assist Storage Price Filters","description":"Extract StoragePrice JSON filters from freetext.","operationId":"assist_storage_price_filters_ai_assist_storage_price_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Storage Price Filters Ai Assist Storage Price Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_traffic_price_filters":{"get":{"tags":["AI"],"summary":"Assist Traffic Price Filters","description":"Extract TrafficPrice JSON filters from freetext.","operationId":"assist_traffic_price_filters_ai_assist_traffic_price_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Traffic Price Filters Ai Assist Traffic Price Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/regions":{"get":{"tags":["Query Resources"],"summary":"Search Regions","operationId":"search_regions_regions_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RegionPKs"},"title":"Response Search Regions Regions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/servers":{"get":{"tags":["Query Resources"],"summary":"Search Servers","operationId":"search_servers_servers_get","parameters":[{"name":"partial_name_or_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partial name or id","description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name.","category_id":"basic"},"description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name."},{"name":"vcpus_min","in":"query","required":false,"schema":{"type":"integer","maximum":256,"minimum":1,"title":"Minimum vCPUs","description":"Minimum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","default":1},"description":"Minimum number of virtual CPUs."},{"name":"vcpus_max","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":256,"minimum":1},{"type":"null"}],"title":"Maximum vCPUs","description":"Maximum number of virtual CPUs.","category_id":"processor","unit":"vCPUs"},"description":"Maximum number of virtual CPUs."},{"name":"architecture","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuArchitecture"}},{"type":"null"}],"title":"Processor architecture","description":"Processor architecture.","category_id":"processor","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"]},"description":"Processor architecture."},{"name":"cpu_manufacturer","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuManufacturers"}},{"type":"null"}],"title":"Processor manufacturer","category_id":"processor","enum":["AMD","AWS","Ampere(R)","Apple","Intel"]}},{"name":"cpu_family","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuFamilies"}},{"type":"null"}],"title":"Processor family","category_id":"processor","enum":["ARMv8","Ampere Altra","EPYC","Xeon"]}},{"name":"benchmark_score_stressng_cpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"SCore","description":"Minimum stress-ng CPU workload score.","category_id":"processor"},"description":"Minimum stress-ng CPU workload score."},{"name":"memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum memory","description":"Minimum amount of memory in GBs.","category_id":"memory","unit":"GB","step":0.1},"description":"Minimum amount of memory in GBs."},{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active only","description":"Filter for active servers only.","category_id":"basic","default":true},"description":"Filter for active servers only."},{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"storage_size","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs).","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs)."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"gpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"GPU count","description":"Minimum number of GPUs.","category_id":"gpu","unit":"GPUs"},"description":"Minimum number of GPUs."},{"name":"gpu_memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum GPU memory","description":"Minimum amount of GPU memory (GB) in each GPU.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of GPU memory (GB) in each GPU."},{"name":"gpu_memory_total","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total GPU memory","description":"Minimum amount of total GPU memory (GBs) in all GPUs.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of total GPU memory (GBs) in all GPUs."},{"name":"gpu_manufacturer","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/GpuManufacturers"}},{"type":"null"}],"title":"GPU manufacturer","category_id":"gpu","enum":["AMD","Habana","NVIDIA"]}},{"name":"gpu_family","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/GpuFamilies"}},{"type":"null"}],"title":"GPU family","category_id":"gpu","enum":["Ada Lovelace","Ampere","Gaudi","Hopper","Kepler","Maxwell","Radeon Pro Navi","Turing","Volta"]}},{"name":"gpu_model","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/GpuModels"}},{"type":"null"}],"title":"GPU model","category_id":"gpu","enum":["A100","A10G","H100","H200","HL-205","K80","L4","L40S","M60","T4","T4G","V100","V520"]}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited.","default":25,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"vcpus","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderDir","description":"Order direction.","default":"asc"},"description":"Order direction."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPKs"},"title":"Response Search Servers Servers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server_prices":{"get":{"tags":["Query Resources"],"summary":"Search Server Prices","operationId":"search_server_prices_server_prices_get","parameters":[{"name":"partial_name_or_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partial name or id","description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name.","category_id":"basic"},"description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name."},{"name":"vcpus_min","in":"query","required":false,"schema":{"type":"integer","maximum":256,"minimum":1,"title":"Minimum vCPUs","description":"Minimum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","default":1},"description":"Minimum number of virtual CPUs."},{"name":"vcpus_max","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":256,"minimum":1},{"type":"null"}],"title":"Maximum vCPUs","description":"Maximum number of virtual CPUs.","category_id":"processor","unit":"vCPUs"},"description":"Maximum number of virtual CPUs."},{"name":"architecture","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuArchitecture"}},{"type":"null"}],"title":"Processor architecture","description":"Processor architecture.","category_id":"processor","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"]},"description":"Processor architecture."},{"name":"cpu_manufacturer","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuManufacturers"}},{"type":"null"}],"title":"Processor manufacturer","category_id":"processor","enum":["AMD","AWS","Ampere(R)","Apple","Intel"]}},{"name":"cpu_family","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuFamilies"}},{"type":"null"}],"title":"Processor family","category_id":"processor","enum":["ARMv8","Ampere Altra","EPYC","Xeon"]}},{"name":"benchmark_score_stressng_cpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"SCore","description":"Minimum stress-ng CPU workload score.","category_id":"processor"},"description":"Minimum stress-ng CPU workload score."},{"name":"memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum memory","description":"Minimum amount of memory in GBs.","category_id":"memory","unit":"GB","step":0.1},"description":"Minimum amount of memory in GBs."},{"name":"price_max","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Maximum price","description":"Maximum price (USD/hr).","category_id":"price","step":0.0001},"description":"Maximum price (USD/hr)."},{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active only","description":"Filter for active servers only.","category_id":"basic","default":true},"description":"Filter for active servers only."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"allocation","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/Allocation"},{"type":"null"}],"title":"Allocation","description":"Server allocation method.","enum":["ondemand","reserved","spot"]},"description":"Server allocation method."},{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"Region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"storage_size","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs).","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs)."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Countries"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"gpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"GPU count","description":"Minimum number of GPUs.","category_id":"gpu","unit":"GPUs"},"description":"Minimum number of GPUs."},{"name":"gpu_memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum GPU memory","description":"Minimum amount of GPU memory (GB) in each GPU.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of GPU memory (GB) in each GPU."},{"name":"gpu_memory_total","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total GPU memory","description":"Minimum amount of total GPU memory (GBs) in all GPUs.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of total GPU memory (GBs) in all GPUs."},{"name":"gpu_manufacturer","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/GpuManufacturers"}},{"type":"null"}],"title":"GPU manufacturer","category_id":"gpu","enum":["AMD","Habana","NVIDIA"]}},{"name":"gpu_family","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/GpuFamilies"}},{"type":"null"}],"title":"GPU family","category_id":"gpu","enum":["Ada Lovelace","Ampere","Gaudi","Hopper","Kepler","Maxwell","Radeon Pro Navi","Turing","Volta"]}},{"name":"gpu_model","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/GpuModels"}},{"type":"null"}],"title":"GPU model","category_id":"gpu","enum":["A100","A10G","H100","H200","HL-205","K80","L4","L40S","M60","T4","T4G","V100","V520"]}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":250,"description":"Maximum number of results.","default":25,"title":"Limit"},"description":"Maximum number of results."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderDir","description":"Order direction.","default":"asc"},"description":"Order direction."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","default":"USD","title":"Currency"},"description":"Currency used for prices."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPriceWithPKs"},"title":"Response Search Server Prices Server Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/storage_prices":{"get":{"tags":["Query Resources"],"summary":"Search Storage Prices","operationId":"search_storage_prices_storage_prices_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"storage_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs).","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs)."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"Region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Countries"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited.","default":10,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderDir","description":"Order direction.","default":"asc"},"description":"Order direction."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","default":"USD","title":"Currency"},"description":"Currency used for prices."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StoragePriceWithPKs"},"title":"Response Search Storage Prices Storage Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/traffic_prices":{"get":{"tags":["Query Resources"],"summary":"Search Traffic Prices","operationId":"search_traffic_prices_traffic_prices_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"Region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Countries"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"direction","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/TrafficDirection"}},{"type":"null"}],"title":"Direction","description":"Direction of the Internet traffic.","category_id":"traffic","enum":["inbound","outbound"],"default":["outbound"]},"description":"Direction of the Internet traffic."},{"name":"monthly_traffic","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Monthly Overall Traffic","description":"Overall amount of monthly traffic (GBs).","category_id":"traffic","unit":"GB","step":1,"default":1},"description":"Overall amount of monthly traffic (GBs)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited.","default":10,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderDir","description":"Order direction.","default":"asc"},"description":"Order direction."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","default":"USD","title":"Currency"},"description":"Currency used for prices."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TrafficPriceWithPKsWithMonthlyTraffic"},"title":"Response Search Traffic Prices Traffic Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Allocation":{"type":"string","enum":["ondemand","reserved","spot"],"title":"Allocation","description":"Server allocation options."},"Benchmark":{"properties":{"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Unique identifier of a specific Benchmark."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"framework":{"type":"string","title":"Framework","description":"The name of the benchmark framework/software/tool used."},"config_fields":{"type":"object","title":"Config Fields","description":"A dictionary of descriptions on the framework-specific config options, e.g. {\"bandwidth\": \"Memory amount to use for compression in MB.\"}.","default":{}},"measurement":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Measurement","description":"The name of measurement recoreded in the benchmark."},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit","description":"Optional unit of measurement for the benchmark score."},"higher_is_better":{"type":"boolean","title":"Higher Is Better","description":"If higher benchmark score means better performance, or vica versa.","default":true},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["benchmark_id","name","description","framework"],"title":"Benchmark","description":"Benchmark scenario definitions.\n\nAttributes:\n benchmark_id (str): Unique identifier of a specific Benchmark.\n name (str): Human-friendly name.\n description (typing.Optional[str]): Short description.\n framework (str): The name of the benchmark framework/software/tool used.\n config_fields (dict): A dictionary of descriptions on the framework-specific config options, e.g. {\"bandwidth\": \"Memory amount to use for compression in MB.\"}.\n measurement (typing.Optional[str]): The name of measurement recoreded in the benchmark.\n unit (typing.Optional[str]): Optional unit of measurement for the benchmark score.\n higher_is_better (bool): If higher benchmark score means better performance, or vica versa.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"benchmark_id":"geekbench:hdr","config_fields":{"cores":"Single-Core or Multi-Core peformance tests.","framework_version":"Version number of geekbench."},"description":"Blends six 16MP SDR photos to create a single HDR photo, using a recovery process and radiance map construction (Debevec and Malik 1997), and a tone mapping algorithm (Reinhard and Devlin 2005).The score is calibrated against a baseline score of 2,500 (Dell Precision 3460 with a Core i7-12700 processor) as per the Geekbench 6 Benchmark Internals.","framework":"geekbench","higher_is_better":true,"measurement":"hdr","name":"Geekbench: HDR","observed_at":"2024-09-23T20:08:42.846488","status":"active"}]},"BenchmarkScore":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Reference to the Benchmark."},"config":{"type":"object","title":"Config","description":"Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}","default":{}},"score":{"type":"number","title":"Score","description":"The resulting score of the benchmark."},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Optional note, comment or context on the benchmark score."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","benchmark_id","score"],"title":"BenchmarkScore","description":"Results of running Benchmark scenarios on Servers.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n server_id (str): Reference to the Server.\n benchmark_id (str): Reference to the Benchmark.\n config (sc_crawler.table_fields.HashableDict | dict): Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}\n score (float): The resulting score of the benchmark.\n note (typing.Optional[str]): Optional note, comment or context on the benchmark score.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation."},"BenchmarkScoreBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Reference to the Benchmark."},"config":{"type":"object","title":"Config","description":"Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}","default":{}},"score":{"type":"number","title":"Score","description":"The resulting score of the benchmark."},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Optional note, comment or context on the benchmark score."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","benchmark_id","score"],"title":"BenchmarkScoreBase"},"ComplianceFramework":{"properties":{"compliance_framework_id":{"type":"string","title":"Compliance Framework Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"abbreviation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abbreviation","description":"Short abbreviation of the Framework name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Description of the framework in a few paragrahs, outlining key features and characteristics for reference."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Framework's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage with more information on the Framework."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["compliance_framework_id","name","abbreviation","description"],"title":"ComplianceFramework","description":"List of Compliance Frameworks, such as HIPAA or SOC 2 Type 1.\n\nAttributes:\n compliance_framework_id (str): Unique identifier.\n name (str): Human-friendly name.\n abbreviation (typing.Optional[str]): Short abbreviation of the Framework name.\n description (typing.Optional[str]): Description of the framework in a few paragrahs, outlining key features and characteristics for reference.\n logo (typing.Optional[str]): Publicly accessible URL to the image of the Framework's logo.\n homepage (typing.Optional[str]): Public homepage with more information on the Framework.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"abbreviation":"HIPAA","compliance_framework_id":"hipaa","description":"HIPAA (Health Insurance Portability and Accountability Act) is a U.S. federal law designed to safeguard the privacy and security of individuals' health information, establishing standards for its protection and regulating its use in the healthcare industry.","homepage":"https://www.cdc.gov/phlp/publications/topic/hipaa.html","name":"The Health Insurance Portability and Accountability Act","observed_at":"2024-09-23T20:08:42.844405","status":"active"}]},"ComplianceFrameworks":{"type":"string","enum":["hipaa","iso27001","soc2t2"],"title":"ComplianceFrameworks"},"Countries":{"type":"string","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"],"title":"Countries"},"Country":{"properties":{"country_id":{"type":"string","title":"Country Id","description":"Country code by ISO 3166 alpha-2."},"continent":{"type":"string","title":"Continent","description":"Continent name."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["country_id","continent"],"title":"Country","description":"Country and continent mapping.\n\nAttributes:\n country_id (str): Country code by ISO 3166 alpha-2.\n continent (str): Continent name.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"continent":"Asia","country_id":"AE","observed_at":"2024-09-23T20:08:42.842686","status":"active"}]},"CountryBase":{"properties":{"country_id":{"type":"string","title":"Country Id","description":"Country code by ISO 3166 alpha-2."},"continent":{"type":"string","title":"Continent","description":"Continent name."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["country_id","continent"],"title":"CountryBase"},"Cpu":{"properties":{"manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Manufacturer"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cores"},"threads":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Threads"},"l1_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L1 Cache Size"},"l2_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L2 Cache Size"},"l3_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L3 Cache Size"},"microcode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Microcode"},"capabilities":{"items":{"type":"string"},"type":"array","title":"Capabilities","default":[]},"bugs":{"items":{"type":"string"},"type":"array","title":"Bugs","default":[]},"bogomips":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Bogomips"}},"type":"object","title":"Cpu","description":"CPU details."},"CpuAllocation":{"type":"string","enum":["Shared","Burstable","Dedicated"],"title":"CpuAllocation","description":"CPU allocation methods at cloud vendors."},"CpuArchitecture":{"type":"string","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"],"title":"CpuArchitecture","description":"CPU architectures."},"CpuFamilies":{"type":"string","enum":["ARMv8","Ampere Altra","EPYC","Xeon"],"title":"CpuFamilies"},"CpuManufacturers":{"type":"string","enum":["AMD","AWS","Ampere(R)","Apple","Intel"],"title":"CpuManufacturers"},"DdrGeneration":{"type":"string","enum":["DDR3","DDR4","DDR5"],"title":"DdrGeneration","description":"Generation of the DDR SDRAM."},"Disk":{"properties":{"size":{"type":"integer","title":"Size","default":0},"storage_type":{"$ref":"#/components/schemas/StorageType"}},"type":"object","required":["storage_type"],"title":"Disk","description":"Disk definition based on size and storage type."},"Gpu":{"properties":{"manufacturer":{"type":"string","title":"Manufacturer"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"memory":{"type":"integer","title":"Memory"},"firmware_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firmware Version"},"bios_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bios Version"},"graphics_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Graphics Clock"},"sm_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sm Clock"},"mem_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Mem Clock"},"video_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Video Clock"}},"type":"object","required":["manufacturer","memory"],"title":"Gpu","description":"GPU accelerator details."},"GpuFamilies":{"type":"string","enum":["Ada Lovelace","Ampere","Gaudi","Hopper","Kepler","Maxwell","Radeon Pro Navi","Turing","Volta"],"title":"GpuFamilies"},"GpuManufacturers":{"type":"string","enum":["AMD","Habana","NVIDIA"],"title":"GpuManufacturers"},"GpuModels":{"type":"string","enum":["A100","A10G","H100","H200","HL-205","K80","L4","L40S","M60","T4","T4G","V100","V520"],"title":"GpuModels"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HealthcheckResponse":{"properties":{"packages":{"type":"object","title":"Packages"},"database_last_updated":{"type":"number","title":"Database Last Updated"},"database_hash":{"type":"string","title":"Database Hash"},"database_alembic_version":{"type":"string","title":"Database Alembic Version"}},"type":"object","required":["packages","database_last_updated","database_hash","database_alembic_version"],"title":"HealthcheckResponse","examples":[{"database_alembic_version":"bar","database_hash":"foo","database_last_updated":1727124024.1530275,"packages":{"sparecores-crawler":"1.0.0"}}]},"IdNameAndDescriptionAndCategory":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"id":{"type":"string","title":"Id"},"category":{"type":"string","title":"Category"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"}},"type":"object","required":["name","description","id","category","unit"],"title":"IdNameAndDescriptionAndCategory"},"NameAndDescription":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"}},"type":"object","required":["name","description"],"title":"NameAndDescription"},"OrderDir":{"type":"string","enum":["asc","desc"],"title":"OrderDir"},"PriceTier":{"properties":{"lower":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Lower"},"upper":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Upper"},"price":{"type":"number","title":"Price"}},"type":"object","required":["lower","upper","price"],"title":"PriceTier","description":"Price tier definition.\n\nAs standard JSON does not support Inf, NaN etc values,\nthose should be passed as string, e.g. for the upper bound.\n\nSee [float_inf_to_str][sc_crawler.utils.float_inf_to_str] for\nconverting an infinite numeric value into \"Infinity\"."},"PriceUnit":{"type":"string","enum":["year","month","hour","GiB","GB","GB/month"],"title":"PriceUnit","description":"Supported units for the price tables."},"Region":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id"],"title":"Region","description":"Regions of Vendors.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n aliases (typing.List[str]): List of other commonly used names for the same Region.\n country_id (str): Reference to the Country, where the Region is located.\n state (typing.Optional[str]): Optional state/administrative area of the Region's location within the Country.\n city (typing.Optional[str]): Optional city name of the Region's location.\n address_line (typing.Optional[str]): Optional address line of the Region's location.\n zip_code (typing.Optional[str]): Optional ZIP code of the Region's location.\n lon (typing.Optional[float]): Longitude coordinate of the Region's known or approximate location.\n lat (typing.Optional[float]): Latitude coordinate of the Region's known or approximate location.\n founding_year (typing.Optional[int]): 4-digit year when the Region was founded.\n green_energy (typing.Optional[bool]): If the Region is 100% powered by renewable energy.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-23T19:19:49.228830","region_id":"af-south-1","status":"active","vendor_id":"aws"}]},"RegionBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id"],"title":"RegionBase"},"RegionBaseWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"country":{"$ref":"#/components/schemas/CountryBase"}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id","country"],"title":"RegionBaseWithPKs"},"RegionPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"vendor":{"$ref":"#/components/schemas/VendorBase"}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id","vendor"],"title":"RegionPKs","examples":[{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-23T19:19:49.228830","region_id":"af-south-1","status":"active","vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-23T20:08:42.847929","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws"}]},"Regions":{"type":"string","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"],"title":"Regions"},"Server":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"$ref":"#/components/schemas/CpuAllocation","description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"$ref":"#/components/schemas/CpuArchitecture","description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"Server","description":"Server types.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n server_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n description (typing.Optional[str]): Short description.\n family (typing.Optional[str]): Server family, e.g. General-purpose machine (GCP), or M5g (AWS).\n vcpus (int): Default number of virtual CPUs (vCPU) of the server.\n hypervisor (typing.Optional[str]): Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated.\n cpu_allocation (CpuAllocation): Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated.\n cpu_cores (typing.Optional[int]): Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled.\n cpu_speed (typing.Optional[float]): Vendor-reported maximum CPU clock speed (GHz).\n cpu_architecture (CpuArchitecture): CPU architecture (arm64, arm64_mac, i386, or x86_64).\n cpu_manufacturer (typing.Optional[str]): The manufacturer of the primary processor, e.g. Intel or AMD.\n cpu_family (typing.Optional[str]): The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9.\n cpu_model (typing.Optional[str]): The model number of the primary processor, e.g. 9750H.\n cpu_l1_cache (typing.Optional[int]): L1 cache size (byte).\n cpu_l2_cache (typing.Optional[int]): L2 cache size (byte).\n cpu_l3_cache (typing.Optional[int]): L3 cache size (byte).\n cpu_flags (typing.List[str]): CPU features/flags.\n cpus (typing.List[sc_crawler.table_fields.Cpu]): JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.\n memory_amount (int): RAM amount (MiB).\n memory_generation (typing.Optional[sc_crawler.table_fields.DdrGeneration]): Generation of the DDR SDRAM, e.g. DDR4 or DDR5.\n memory_speed (typing.Optional[int]): DDR SDRAM clock rate (Mhz).\n memory_ecc (typing.Optional[bool]): If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption.\n gpu_count (int): Number of GPU accelerator(s).\n gpu_memory_min (typing.Optional[int]): Memory (MiB) allocated to the lowest-end GPU accelerator.\n gpu_memory_total (typing.Optional[int]): Overall memory (MiB) allocated to all the GPU accelerator(s).\n gpu_manufacturer (typing.Optional[str]): The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD.\n gpu_family (typing.Optional[str]): The product family of the primary GPU accelerator, e.g. Turing.\n gpu_model (typing.Optional[str]): The model number of the primary GPU accelerator, e.g. Tesla T4.\n gpus (typing.List[sc_crawler.table_fields.Gpu]): JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.\n storage_size (int): Overall size (GB) of the disk(s).\n storage_type (typing.Optional[sc_crawler.table_fields.StorageType]): Primary disk type, e.g. HDD, SSD, NVMe SSD, or network).\n storages (typing.List[sc_crawler.table_fields.Disk]): JSON array of disks attached to the server, including the size (MiB) and type of each disk.\n network_speed (typing.Optional[float]): The baseline network performance (Gbps) of the network card.\n inbound_traffic (float): Amount of complimentary inbound traffic (GB) per month.\n outbound_traffic (float): Amount of complimentary outbound traffic (GB) per month.\n ipv4 (int): Number of complimentary IPv4 address(es).\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-23T19:20:41.547852","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"}]},"ServerBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"$ref":"#/components/schemas/CpuAllocation","description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"$ref":"#/components/schemas/CpuArchitecture","description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"ServerBase"},"ServerPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"$ref":"#/components/schemas/CpuAllocation","description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"$ref":"#/components/schemas/CpuArchitecture","description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"},"vendor":{"$ref":"#/components/schemas/VendorBase"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description","vendor"],"title":"ServerPKs","examples":[{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-23T19:20:41.547852","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"}]},"ServerPKsWithPrices":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"$ref":"#/components/schemas/CpuAllocation","description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"$ref":"#/components/schemas/CpuArchitecture","description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"prices":{"items":{"$ref":"#/components/schemas/ServerPricePKs"},"type":"array","title":"Prices"},"benchmark_scores":{"items":{"$ref":"#/components/schemas/BenchmarkScoreBase"},"type":"array","title":"Benchmark Scores"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description","vendor","prices","benchmark_scores"],"title":"ServerPKsWithPrices","examples":[{"api_reference":"a1.2xlarge","benchmark_scores":[{"benchmark_id":"geekbench:hdr","config_fields":{"cores":"Single-Core or Multi-Core peformance tests.","framework_version":"Version number of geekbench."},"description":"Blends six 16MP SDR photos to create a single HDR photo, using a recovery process and radiance map construction (Debevec and Malik 1997), and a tone mapping algorithm (Reinhard and Devlin 2005).The score is calibrated against a baseline score of 2,500 (Dell Precision 3460 with a Core i7-12700 processor) as per the Geekbench 6 Benchmark Internals.","framework":"geekbench","higher_is_better":true,"measurement":"hdr","name":"Geekbench: HDR","observed_at":"2024-09-23T20:08:42.846488","status":"active"}],"cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-23T19:20:41.547852","outbound_traffic":0.0,"price":7,"prices":[{"allocation":"spot","currency":"USD","observed_at":"2024-09-23T13:02:41","operating_system":"Linux","price":0.0723,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-23T19:19:49.228830","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-west-2","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-23T19:19:52.252262","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"usw2-az3"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-23T18:32:21","operating_system":"Linux","price":0.0749,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-23T19:19:49.228830","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-west-2","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-23T19:19:52.252262","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"usw2-az2"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-23T13:01:39","operating_system":"Linux","price":0.0907,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-23T19:19:49.228830","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"eu-central-1","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-23T19:19:52.252262","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"euc1-az2"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-23T16:46:06","operating_system":"Linux","price":0.0953,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-23T19:19:49.228830","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"ap-northeast-1","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-23T19:19:52.252262","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"apne1-az4"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-23T17:46:30","operating_system":"Linux","price":0.0967,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-23T19:19:49.228830","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"eu-central-1","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-23T19:19:52.252262","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"euc1-az3"}],"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-23T20:08:42.847929","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws"}]},"ServerPrice":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"$ref":"#/components/schemas/Allocation","description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"$ref":"#/components/schemas/PriceUnit","description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price"],"title":"ServerPrice","description":"Server type prices per Region and Allocation method.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Reference to the Region.\n zone_id (str): Reference to the Zone.\n server_id (str): Reference to the Server.\n operating_system (str): Operating System.\n allocation (Allocation): Allocation method, e.g. on-demand or spot.\n unit (PriceUnit): Billing unit of the pricing model.\n price (float): Actual price of a billing unit.\n price_upfront (float): Price to be paid when setting up the resource.\n price_tiered (typing.List[sc_crawler.table_fields.PriceTier]): List of pricing tiers with min/max thresholds and actual prices.\n currency (str): Currency of the prices.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation."},"ServerPricePKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"$ref":"#/components/schemas/Allocation","description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"$ref":"#/components/schemas/PriceUnit","description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBase"},"zone":{"$ref":"#/components/schemas/ZoneBase"}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price","region","zone"],"title":"ServerPricePKs"},"ServerPriceWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"$ref":"#/components/schemas/Allocation","description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"$ref":"#/components/schemas/PriceUnit","description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"vendor":{"$ref":"#/components/schemas/VendorBase"},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"zone":{"$ref":"#/components/schemas/ZoneBase"},"server":{"$ref":"#/components/schemas/ServerWithScore"}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price","vendor","region","zone","server"],"title":"ServerPriceWithPKs","examples":[{"allocation":"spot","currency":"USD","observed_at":"2024-09-23T13:02:41","operating_system":"Linux","price":0.0723,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country":{"continent":"Asia","country_id":"AE","observed_at":"2024-09-23T20:08:42.842686","status":"active"},"country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-23T19:19:49.228830","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-west-2","server":{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-23T19:20:41.547852","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"},"server_id":"a1.2xlarge","status":"active","unit":"hour","vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-23T20:08:42.847929","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-23T19:19:52.252262","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"usw2-az3"}]},"ServerTableMetaData":{"properties":{"table":{"$ref":"#/components/schemas/NameAndDescription"},"fields":{"items":{"$ref":"#/components/schemas/IdNameAndDescriptionAndCategory"},"type":"array","title":"Fields"}},"type":"object","required":["table","fields"],"title":"ServerTableMetaData"},"ServerWithScore":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"$ref":"#/components/schemas/CpuAllocation","description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"$ref":"#/components/schemas/CpuArchitecture","description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"ServerWithScore"},"Status":{"type":"string","enum":["active","inactive"],"title":"Status","description":"Last known status of a resource, e.g. active or inactive."},"Storage":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"storage_id":{"type":"string","title":"Storage Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"storage_type":{"$ref":"#/components/schemas/StorageType","description":"High-level category of the storage, e.g. HDD or SDD."},"max_iops":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Iops","description":"Maximum Input/Output Operations Per Second."},"max_throughput":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Throughput","description":"Maximum Throughput (MiB/s)."},"min_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Size","description":"Minimum required size (GiB)."},"max_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Size","description":"Maximum possible size (GiB)."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","storage_id","name","description","storage_type"],"title":"Storage","description":"Flexible storage options that can be attached to a Server.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n storage_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n description (typing.Optional[str]): Short description.\n storage_type (StorageType): High-level category of the storage, e.g. HDD or SDD.\n max_iops (typing.Optional[int]): Maximum Input/Output Operations Per Second.\n max_throughput (typing.Optional[int]): Maximum Throughput (MiB/s).\n min_size (typing.Optional[int]): Minimum required size (GiB).\n max_size (typing.Optional[int]): Maximum possible size (GiB).\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"description":"SSD-backed","max_iops":16000,"max_size":16384,"max_throughput":250,"min_size":1,"name":"General Purpose","observed_at":"2024-09-23T19:22:56.648017","status":"active","storage_id":"gp2","storage_type":"ssd","vendor_id":"aws"}]},"StorageBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"storage_id":{"type":"string","title":"Storage Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"storage_type":{"$ref":"#/components/schemas/StorageType","description":"High-level category of the storage, e.g. HDD or SDD."},"max_iops":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Iops","description":"Maximum Input/Output Operations Per Second."},"max_throughput":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Throughput","description":"Maximum Throughput (MiB/s)."},"min_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Size","description":"Minimum required size (GiB)."},"max_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Size","description":"Maximum possible size (GiB)."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","storage_id","name","description","storage_type"],"title":"StorageBase"},"StoragePriceWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"storage_id":{"type":"string","title":"Storage Id","description":"Reference to the Storage."},"unit":{"$ref":"#/components/schemas/PriceUnit","description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"storage":{"$ref":"#/components/schemas/StorageBase"}},"type":"object","required":["vendor_id","region_id","storage_id","unit","price","region","vendor","storage"],"title":"StoragePriceWithPKs"},"StorageType":{"type":"string","enum":["hdd","ssd","nvme ssd","network"],"title":"StorageType","description":"Type of a storage, e.g. HDD or SSD."},"TrafficDirection":{"type":"string","enum":["inbound","outbound"],"title":"TrafficDirection","description":"Direction of the network traffic."},"TrafficPriceWithPKsWithMonthlyTraffic":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"direction":{"$ref":"#/components/schemas/TrafficDirection","description":"Direction of the traffic: inbound or outbound."},"unit":{"$ref":"#/components/schemas/PriceUnit","description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"price_monthly_traffic":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price Monthly Traffic"}},"type":"object","required":["vendor_id","region_id","direction","unit","price","region","vendor"],"title":"TrafficPriceWithPKsWithMonthlyTraffic"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"Vendor":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Vendor's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage of the Vendor."},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Vendor's main headquarter is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Vendor's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Vendor's main location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Vendor's main location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Vendor's main location."},"founding_year":{"type":"integer","title":"Founding Year","description":"4-digit year when the Vendor was founded."},"status_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Page","description":"Public status page of the Vendor."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","name","country_id","founding_year"],"title":"Vendor","description":"Compute resource vendors, such as cloud and server providers.\n\n Examples:\n >>> from sc_crawler.tables import Vendor\n >>> from sc_crawler.lookup import countries\n >>> aws = Vendor(vendor_id='aws', name='Amazon Web Services', homepage='https://aws.amazon.com', country=countries[\"US\"], founding_year=2002)\n >>> aws\n Vendor(vendor_id='aws'...\n >>> from sc_crawler import vendors\n >>> vendors.aws\n Vendor(vendor_id='aws'...\n \n\nAttributes:\n vendor_id (str): Unique identifier.\n name (str): Human-friendly name.\n logo (typing.Optional[str]): Publicly accessible URL to the image of the Vendor's logo.\n homepage (typing.Optional[str]): Public homepage of the Vendor.\n country_id (str): Reference to the Country, where the Vendor's main headquarter is located.\n state (typing.Optional[str]): Optional state/administrative area of the Vendor's location within the Country.\n city (typing.Optional[str]): Optional city name of the Vendor's main location.\n address_line (typing.Optional[str]): Optional address line of the Vendor's main location.\n zip_code (typing.Optional[str]): Optional ZIP code of the Vendor's main location.\n founding_year (int): 4-digit year when the Vendor was founded.\n status_page (typing.Optional[str]): Public status page of the Vendor.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-23T20:08:42.847929","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"}]},"VendorBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Vendor's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage of the Vendor."},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Vendor's main headquarter is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Vendor's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Vendor's main location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Vendor's main location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Vendor's main location."},"founding_year":{"type":"integer","title":"Founding Year","description":"4-digit year when the Vendor was founded."},"status_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Page","description":"Public status page of the Vendor."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","name","country_id","founding_year"],"title":"VendorBase"},"Vendors":{"type":"string","enum":["aws","azure","gcp","hcloud"],"title":"Vendors"},"Zone":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","name","api_reference","display_name"],"title":"Zone","description":"Availability zones of Regions.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Reference to the Region.\n zone_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-23T19:19:52.252262","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"}]},"ZoneBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","name","api_reference","display_name"],"title":"ZoneBase"}}}} diff --git a/src/app/components/search-bar/search-bar.component.html b/src/app/components/search-bar/search-bar.component.html index d5f414f9..d8714962 100644 --- a/src/app/components/search-bar/search-bar.component.html +++ b/src/app/components/search-bar/search-bar.component.html @@ -34,6 +34,7 @@
    {{parameter.modelValue}} {{parameter.schema.unit}}
    +
    - {{parameter.schema.unit}}
    diff --git a/src/app/components/search-bar/search-bar.component.ts b/src/app/components/search-bar/search-bar.component.ts index c6473d5a..d76055ee 100644 --- a/src/app/components/search-bar/search-bar.component.ts +++ b/src/app/components/search-bar/search-bar.component.ts @@ -107,6 +107,18 @@ export class SearchBarComponent implements OnInit, OnChanges{ this.searchParameters?.forEach((item: any) => { let value = this.query[item.name] || item.schema.default || null; + //optional integer array + let integerAnyOf = item.schema.anyOf?.find((item: any) => item.type === 'integer'); + if(integerAnyOf) { + if(integerAnyOf.minimum && integerAnyOf.maximum) { + item.schema.minimum = 0; // can be null + item.schema.maximum = integerAnyOf.maximum; + if(value === null) { + value = 0; + } + } + } + // if type is a string try split by , if(typeof this.query[item.name] === 'string') { value = this.query[item.name].indexOf(',') !== -1 ? this.query[item.name].split(',') : this.query[item.name]; @@ -198,6 +210,9 @@ export class SearchBarComponent implements OnInit, OnChanges{ const type = parameter.schema.type || parameter.schema.anyOf?.find((item: any) => item.type !== 'null')?.type || 'text'; const name = parameter.name; + //if(name === 'vcpus_max') + // console.log('type', type, name, parameter); + if(name === 'countries') { return 'country'; } @@ -222,7 +237,7 @@ export class SearchBarComponent implements OnInit, OnChanges{ return 'storage_id'; } - if((type === 'integer' || type === 'number') && parameter.schema.minimum && parameter.schema.maximum) { + if((type === 'integer' || type === 'number') && (parameter.schema.minimum || parameter.schema.minimum === 0) && parameter.schema.maximum) { return 'range'; } @@ -244,7 +259,19 @@ export class SearchBarComponent implements OnInit, OnChanges{ return 'text'; } - valueChanged() { + valueChanged(item?: any) { + if(item && item.name === 'vcpus_min') { + let vcpu_max = this.searchParameters.find((param: any) => param.name === 'vcpus_max'); + if(vcpu_max.modelValue && vcpu_max.modelValue < item.modelValue) { + vcpu_max.modelValue = item.modelValue; + } + } + if(item && item.name === 'vcpus_max') { + let vcpu_min = this.searchParameters.find((param: any) => param.name === 'vcpus_min'); + if(vcpu_min.modelValue && vcpu_min.modelValue > item.modelValue) { + vcpu_min.modelValue = item.modelValue; + } + } this.valueChangeDebouncer.next(0); } diff --git a/src/app/pages/server-listing/server-listing.component.html b/src/app/pages/server-listing/server-listing.component.html index 447c3277..11ad050f 100644 --- a/src/app/pages/server-listing/server-listing.component.html +++ b/src/app/pages/server-listing/server-listing.component.html @@ -188,6 +188,20 @@

    Cloud Compute Resources

    {{item.gpu_model}}
    + +
    +
    {{item.cpu_manufacturer}}
    +
    {{item.cpu_family}}
    +
    {{item.cpu_model}}
    +
    + + +
    +
    {{item.gpu_manufacturer}}
    +
    {{item.gpu_family}}
    +
    {{item.gpu_model}}
    +
    + {{getField(item, column.key)}} diff --git a/src/app/pages/server-listing/server-listing.component.ts b/src/app/pages/server-listing/server-listing.component.ts index ed19c60b..2d046494 100644 --- a/src/app/pages/server-listing/server-listing.component.ts +++ b/src/app/pages/server-listing/server-listing.component.ts @@ -98,8 +98,10 @@ export class ServerListingComponent implements OnInit, OnDestroy { { name: 'BEST PRICE', show: true, type: 'price' }, { name: 'GPU MIN MEMORY', show: false, type: 'gpu_memory_min', orderField: 'gpu_memory_min' }, { name: 'GPU TOTAL MEMORY', show: false, type: 'gpu_memory_total', orderField: 'gpu_memory_total' }, + { name: 'GPU MODEL', show: false, type: 'gpu_model' }, { name: 'ARCHITECTURE', show: false, type: 'text', key: 'cpu_architecture' }, { name: 'CPU ALLOCATION', show: false, type: 'text', key: 'cpu_allocation' }, + { name: 'CPU MODEL', show: false, type: 'cpu_model' }, { name: 'STATUS', show: false, type: 'text', key: 'status' }, { name: 'VENDOR', show: false, type: 'vendor' }, ]; diff --git a/src/app/pages/server-prices/server-prices.component.html b/src/app/pages/server-prices/server-prices.component.html index a153b72f..35a6fbce 100644 --- a/src/app/pages/server-prices/server-prices.component.html +++ b/src/app/pages/server-prices/server-prices.component.html @@ -197,6 +197,20 @@

    Cloud Compute Prices

    {{item.server.gpu_model}}
    + +
    +
    {{item.cpu_manufacturer}}
    +
    {{item.cpu_family}}
    +
    {{item.cpu_model}}
    +
    + + +
    +
    {{item.gpu_manufacturer}}
    +
    {{item.gpu_family}}
    +
    {{item.gpu_model}}
    +
    + {{getField(item, column.key)}} diff --git a/src/app/pages/server-prices/server-prices.component.ts b/src/app/pages/server-prices/server-prices.component.ts index 239c03a4..77d8e8f4 100644 --- a/src/app/pages/server-prices/server-prices.component.ts +++ b/src/app/pages/server-prices/server-prices.component.ts @@ -97,9 +97,11 @@ export class ServerPricesComponent implements OnInit { { name: 'GPUs', show: true, type: 'gpu', orderField: 'server.gpu_count' }, { name: 'GPU MIN MEMORY', show: false, type: 'gpu_memory', key: 'server.gpu_memory_min' }, { name: 'GPU TOTAL MEMORY', show: false, type: 'gpu_memory', key: 'server.gpu_memory_total' }, + { name: 'GPU MODEL', show: false, type: 'gpu_model' }, { name: 'PRICE', show: true, type: 'price', orderField: 'price' }, { name: 'ARCHITECTURE', show: false, type: 'text', key: 'server.cpu_architecture' }, { name: 'CPU ALLOCATION', show: false, type: 'text', key: 'server.cpu_allocation' }, + { name: 'CPU MODEL', show: false, type: 'cpu_model' }, { name: 'REGION', show: false, type: 'region' }, { name: 'STATUS', show: false, type: 'text', key: 'server.status' }, { name: 'VENDOR', show: false, type: 'vendor' }, From 734883cb03132d3d2b83f0eb035c8616fdf9210a Mon Sep 17 00:00:00 2001 From: Palabola Date: Tue, 24 Sep 2024 15:26:27 +0200 Subject: [PATCH 35/66] e2e --- cypress/e2e/servers_details.cy.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cypress/e2e/servers_details.cy.ts b/cypress/e2e/servers_details.cy.ts index 0614f7eb..cff945d2 100644 --- a/cypress/e2e/servers_details.cy.ts +++ b/cypress/e2e/servers_details.cy.ts @@ -39,7 +39,7 @@ describe('Server Details', () => { }); it('Server without price and charts', () => { - E2EEvent.visitURL('/server/gcp/c4-standard-192', 4000); + E2EEvent.visitURL('/server/gcp/x4-megamem-1440-metal', 4000); E2EEvent.checkBreadcrumbs(); From 3d3dc08255f2e349fb828c7267aee6983c4c2777 Mon Sep 17 00:00:00 2001 From: "Gergely Daroczi (@daroczig)" Date: Wed, 25 Sep 2024 00:27:12 +0200 Subject: [PATCH 36/66] do not require POSTHOG env vars to be defined as empty --- src/app/services/analytics.service.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app/services/analytics.service.ts b/src/app/services/analytics.service.ts index e41693ea..0991f6ba 100644 --- a/src/app/services/analytics.service.ts +++ b/src/app/services/analytics.service.ts @@ -3,8 +3,8 @@ import { Inject, Injectable, PLATFORM_ID } from '@angular/core'; import posthog from 'posthog-js' import * as Sentry from "@sentry/angular"; -const POSTHOG_KEY = import.meta.env['NG_APP_POSTHOG_KEY']; -const POSTHOG_HOST = import.meta.env['NG_APP_POSTHOG_HOST']; +const POSTHOG_KEY = import.meta?.env?.NG_APP_POSTHOG_KEY; +const POSTHOG_HOST = import.meta?.env?.NG_APP_POSTHOG_HOST; const SENTRY_DSN = import.meta?.env?.NG_APP_SENTRY_DSN; From 345ac2bf45a78a92c6334ec969b97b1c80621162 Mon Sep 17 00:00:00 2001 From: "Gergely Daroczi (@daroczig)" Date: Wed, 25 Sep 2024 00:27:41 +0200 Subject: [PATCH 37/66] optionally enable SSR profiler --- README.md | 5 ++++- server.ts | 4 +++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 888e754d..a076f65a 100644 --- a/README.md +++ b/README.md @@ -41,6 +41,7 @@ following environment variable(s): - NG_APP_SENTRY_TRACE_SAMPLE_RATE (default to 0) - NG_APP_SENTRY_PROFILE_SAMPLE_RATE (default to 0) - NG_APP_SENTRY_ENVIRONMENT (default to "development") +- NG_APP_SENTRY_RELEASE If you need to update the Keeper SDK, use the `generate-api(-prod)` script. @@ -58,7 +59,9 @@ Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Note that the project heavily relies on SSR, so you will need a -node.js backend running to serve requests. +node.js backend running to serve requests. You can set the +`ENABLE_PERFORMANCE_PROFILER` env var to `true` to get performance +metrics on the SSR steps. ## Linting tools diff --git a/server.ts b/server.ts index 7870061a..97183d8e 100644 --- a/server.ts +++ b/server.ts @@ -30,7 +30,9 @@ export function app(): express.Express { const browserDistFolder = resolve(serverDistFolder, './static'); const indexHtml = join(serverDistFolder, 'index.server.html'); - const commonEngine = new CommonEngine(); + const commonEngine = new CommonEngine({ + enablePerformanceProfiler: process.env['ENABLE_PERFORMANCE_PROFILER'] === "true", + }); server.set('view engine', 'html'); server.set('views', browserDistFolder); From 09699640686ec0688eb5499010dc9fb112f96947 Mon Sep 17 00:00:00 2001 From: Palabola Date: Wed, 25 Sep 2024 09:43:31 +0200 Subject: [PATCH 38/66] SDK update --- sdk/ServerPricesRoute.ts | 5 ++++- sdk/ServersRoute.ts | 6 +++++- sdk/StoragePricesRoute.ts | 1 + sdk/TrafficPricesRoute.ts | 1 + sdk/data-contracts.ts | 13 +++++++++++-- sdk/openapi.json | 2 +- 6 files changed, 23 insertions(+), 5 deletions(-) diff --git a/sdk/ServerPricesRoute.ts b/sdk/ServerPricesRoute.ts index b017fc29..ddd3ca15 100644 --- a/sdk/ServerPricesRoute.ts +++ b/sdk/ServerPricesRoute.ts @@ -38,8 +38,10 @@ export namespace ServerPrices { /** * Maximum vCPUs * Maximum number of virtual CPUs. + * @min 1 + * @max 256 */ - vcpus_max?: number | null; + vcpus_max?: number; /** * Processor architecture * Processor architecture. @@ -337,6 +339,7 @@ export namespace ServerPrices { */ order_by?: string; /** + * Order Dir * Order direction. * @default "asc" */ diff --git a/sdk/ServersRoute.ts b/sdk/ServersRoute.ts index b99a3e7c..637ecad0 100644 --- a/sdk/ServersRoute.ts +++ b/sdk/ServersRoute.ts @@ -38,8 +38,11 @@ export namespace Servers { /** * Maximum vCPUs * Maximum number of virtual CPUs. + * @min 1 + * @max 256 + * @default 256 */ - vcpus_max?: number | null; + vcpus_max?: number; /** * Processor architecture * Processor architecture. @@ -146,6 +149,7 @@ export namespace Servers { */ order_by?: string; /** + * Order Dir * Order direction. * @default "asc" */ diff --git a/sdk/StoragePricesRoute.ts b/sdk/StoragePricesRoute.ts index 60cc2c94..7c5e95d9 100644 --- a/sdk/StoragePricesRoute.ts +++ b/sdk/StoragePricesRoute.ts @@ -240,6 +240,7 @@ export namespace StoragePrices { */ order_by?: string; /** + * Order Dir * Order direction. * @default "asc" */ diff --git a/sdk/TrafficPricesRoute.ts b/sdk/TrafficPricesRoute.ts index 471beefe..ae993bd6 100644 --- a/sdk/TrafficPricesRoute.ts +++ b/sdk/TrafficPricesRoute.ts @@ -242,6 +242,7 @@ export namespace TrafficPrices { */ order_by?: string; /** + * Order Dir * Order direction. * @default "asc" */ diff --git a/sdk/data-contracts.ts b/sdk/data-contracts.ts index edbe06ef..e640f36b 100644 --- a/sdk/data-contracts.ts +++ b/sdk/data-contracts.ts @@ -3205,8 +3205,11 @@ export interface SearchServersServersGetParams { /** * Maximum vCPUs * Maximum number of virtual CPUs. + * @min 1 + * @max 256 + * @default 256 */ - vcpus_max?: number | null; + vcpus_max?: number; /** * Processor architecture * Processor architecture. @@ -3313,6 +3316,7 @@ export interface SearchServersServersGetParams { */ order_by?: string; /** + * Order Dir * Order direction. * @default "asc" */ @@ -3345,8 +3349,10 @@ export interface SearchServerPricesServerPricesGetParams { /** * Maximum vCPUs * Maximum number of virtual CPUs. + * @min 1 + * @max 256 */ - vcpus_max?: number | null; + vcpus_max?: number; /** * Processor architecture * Processor architecture. @@ -3644,6 +3650,7 @@ export interface SearchServerPricesServerPricesGetParams { */ order_by?: string; /** + * Order Dir * Order direction. * @default "asc" */ @@ -3884,6 +3891,7 @@ export interface SearchStoragePricesStoragePricesGetParams { */ order_by?: string; /** + * Order Dir * Order direction. * @default "asc" */ @@ -4126,6 +4134,7 @@ export interface SearchTrafficPricesTrafficPricesGetParams { */ order_by?: string; /** + * Order Dir * Order direction. * @default "asc" */ diff --git a/sdk/openapi.json b/sdk/openapi.json index af17ff19..f927e5f1 100644 --- a/sdk/openapi.json +++ b/sdk/openapi.json @@ -1 +1 @@ -{"openapi":"3.1.0","info":{"title":"Spare Cores (SC) Keeper","description":"\nAPI to search and serve data collected on cloud compute resources.\n\n## Licensing\n\nThis is a free service provided by the Spare Cores team, without any warranty.\nThe source code of the API is licensed under MPL-2.0, find more details at\n.\n\n## References\n\n- Spare Cores: \n- SC Keeper: \n- SC Crawler: \n- SC Data: \n","termsOfService":"https://sparecores.com/legal/terms-of-service","contact":{"name":"Spare Cores Team","email":"social@sparecores.com"},"license":{"name":"Mozilla Public License 2.0 (MPL 2.0)","url":"http://mozilla.org/MPL/2.0/"},"version":"0.3.0"},"paths":{"/healthcheck":{"get":{"tags":["Administrative endpoints"],"summary":"Healthcheck","description":"Quickly return package and database version information.","operationId":"healthcheck_healthcheck_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthcheckResponse"}}}}}}},"/table/benchmark":{"get":{"tags":["Table dumps"],"summary":"Table Benchmark","description":"Return the Benchmark table as-is, without filtering options or relationships resolved.","operationId":"table_benchmark_table_benchmark_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Benchmark"},"type":"array","title":"Response Table Benchmark Table Benchmark Get"}}}}}}},"/table/country":{"get":{"tags":["Table dumps"],"summary":"Table Country","description":"Return the Country table as-is, without filtering options or relationships resolved.","operationId":"table_country_table_country_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Country"},"type":"array","title":"Response Table Country Table Country Get"}}}}}}},"/table/compliance_framework":{"get":{"tags":["Table dumps"],"summary":"Table Compliance Frameworks","description":"Return the ComplianceFramework table as-is, without filtering options or relationships resolved.","operationId":"table_compliance_frameworks_table_compliance_framework_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ComplianceFramework"},"type":"array","title":"Response Table Compliance Frameworks Table Compliance Framework Get"}}}}}}},"/table/vendor":{"get":{"tags":["Table dumps"],"summary":"Table Vendor","description":"Return the Vendor table as-is, without filtering options or relationships resolved.","operationId":"table_vendor_table_vendor_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Vendor"},"type":"array","title":"Response Table Vendor Table Vendor Get"}}}}}}},"/table/region":{"get":{"tags":["Table dumps"],"summary":"Table Region","description":"Return the Region table as-is, without filtering options or relationships resolved.","operationId":"table_region_table_region_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Region"},"type":"array","title":"Response Table Region Table Region Get"}}}}}}},"/table/zone":{"get":{"tags":["Table dumps"],"summary":"Table Zone","description":"Return the Zone table as-is, without filtering options or relationships resolved.","operationId":"table_zone_table_zone_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Zone"},"type":"array","title":"Response Table Zone Table Zone Get"}}}}}}},"/table/server":{"get":{"tags":["Table dumps"],"summary":"Table Server","description":"Return the Server table as-is, without filtering options or relationships resolved.","operationId":"table_server_table_server_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Server"},"type":"array","title":"Response Table Server Table Server Get"}}}}}}},"/table/storage":{"get":{"tags":["Table dumps"],"summary":"Table Storage","description":"Return the Storage table as-is, without filtering options or relationships resolved.","operationId":"table_storage_table_storage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Storage"},"type":"array","title":"Response Table Storage Table Storage Get"}}}}}}},"/table/server/meta":{"get":{"tags":["Table metadata"],"summary":"Table Metadata Server","description":"Server table and column names and comments.","operationId":"table_metadata_server_table_server_meta_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerTableMetaData"}}}}}}},"/server/{vendor}/{server}":{"get":{"tags":["Server Details"],"summary":"Get Server","description":"Query a single server by its vendor id and either the server or, or its API reference.\n\nReturn dictionary includes all server fields, along\nwith the current prices per zone, and\nthe available benchmark scores.","operationId":"get_server_server__vendor___server__get","deprecated":true,"parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"Vendor ID.","title":"Vendor"},"description":"Vendor ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"Server ID or API reference.","title":"Server"},"description":"Server ID or API reference."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","title":"Currency"},"description":"Currency used for prices."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerPKsWithPrices"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v2/server/{vendor}/{server}":{"get":{"tags":["Server Details"],"summary":"Get Server Without Relations","description":"Query a single server by its vendor id and either the server id or its API reference.","operationId":"get_server_without_relations_v2_server__vendor___server__get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"A Vendor's ID.","title":"Vendor"},"description":"A Vendor's ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"A Server's ID or API reference.","title":"Server"},"description":"A Server's ID or API reference."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerBase"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}/similar_servers/{by}/{num}":{"get":{"tags":["Server Details"],"summary":"Get Similar Servers","description":"Search similar servers to the provided one.\n\nThe \"family\" method returns all servers from the same family of\nthe same vendor.\n\nThe \"specs\" approach will prioritize the number of\nGPUs, then CPUs, lastly the amount of memory.\n\nThe \"score\" method will find the servers with the closest\nperformance using the multi-core SCore.","operationId":"get_similar_servers_server__vendor___server__similar_servers__by___num__get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"Vendor ID.","title":"Vendor"},"description":"Vendor ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"Server ID or API reference.","title":"Server"},"description":"Server ID or API reference."},{"name":"by","in":"path","required":true,"schema":{"enum":["family","specs","score"],"type":"string","description":"Algorithm to look for similar servers.","title":"By"},"description":"Algorithm to look for similar servers."},{"name":"num","in":"path","required":true,"schema":{"type":"integer","maximum":100,"description":"Number of servers to get.","title":"Num"},"description":"Number of servers to get."},{"name":"benchmark_id","in":"query","required":false,"schema":{"type":"string","description":"Benchmark id to use as the main score for the server.","default":"stress_ng:cpu_all","title":"Benchmark Id"},"description":"Benchmark id to use as the main score for the server."},{"name":"benchmark_config","in":"query","required":false,"schema":{"type":"string","description":"Benchmark id to use as the main score for the server.","default":"","title":"Benchmark Config"},"description":"Benchmark id to use as the main score for the server."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPKs"},"title":"Response Get Similar Servers Server Vendor Server Similar Servers By Num Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}/prices":{"get":{"tags":["Server Details"],"summary":"Get Server Prices","description":"Query the current prices of a single server by its vendor id and server id.","operationId":"get_server_prices_server__vendor___server__prices_get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"A Vendor's ID.","title":"Vendor"},"description":"A Vendor's ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"A Server's ID or API reference.","title":"Server"},"description":"A Server's ID or API reference."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","title":"Currency"},"description":"Currency used for prices."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPrice"},"title":"Response Get Server Prices Server Vendor Server Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}/benchmarks":{"get":{"tags":["Server Details"],"summary":"Get Server Benchmarks","description":"Query the current benchmark scores of a single server.","operationId":"get_server_benchmarks_server__vendor___server__benchmarks_get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"A Vendor's ID.","title":"Vendor"},"description":"A Vendor's ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"A Server's ID or API reference.","title":"Server"},"description":"A Server's ID or API reference."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BenchmarkScore"},"title":"Response Get Server Benchmarks Server Vendor Server Benchmarks Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_server_filters":{"get":{"tags":["AI"],"summary":"Assist Server Filters","description":"Extract Server JSON filters from freetext.","operationId":"assist_server_filters_ai_assist_server_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Server Filters Ai Assist Server Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_server_price_filters":{"get":{"tags":["AI"],"summary":"Assist Server Price Filters","description":"Extract ServerPrice JSON filters from freetext.","operationId":"assist_server_price_filters_ai_assist_server_price_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Server Price Filters Ai Assist Server Price Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_storage_price_filters":{"get":{"tags":["AI"],"summary":"Assist Storage Price Filters","description":"Extract StoragePrice JSON filters from freetext.","operationId":"assist_storage_price_filters_ai_assist_storage_price_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Storage Price Filters Ai Assist Storage Price Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_traffic_price_filters":{"get":{"tags":["AI"],"summary":"Assist Traffic Price Filters","description":"Extract TrafficPrice JSON filters from freetext.","operationId":"assist_traffic_price_filters_ai_assist_traffic_price_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Traffic Price Filters Ai Assist Traffic Price Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/regions":{"get":{"tags":["Query Resources"],"summary":"Search Regions","operationId":"search_regions_regions_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RegionPKs"},"title":"Response Search Regions Regions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/servers":{"get":{"tags":["Query Resources"],"summary":"Search Servers","operationId":"search_servers_servers_get","parameters":[{"name":"partial_name_or_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partial name or id","description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name.","category_id":"basic"},"description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name."},{"name":"vcpus_min","in":"query","required":false,"schema":{"type":"integer","maximum":256,"minimum":1,"title":"Minimum vCPUs","description":"Minimum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","default":1},"description":"Minimum number of virtual CPUs."},{"name":"vcpus_max","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":256,"minimum":1},{"type":"null"}],"title":"Maximum vCPUs","description":"Maximum number of virtual CPUs.","category_id":"processor","unit":"vCPUs"},"description":"Maximum number of virtual CPUs."},{"name":"architecture","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuArchitecture"}},{"type":"null"}],"title":"Processor architecture","description":"Processor architecture.","category_id":"processor","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"]},"description":"Processor architecture."},{"name":"cpu_manufacturer","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuManufacturers"}},{"type":"null"}],"title":"Processor manufacturer","category_id":"processor","enum":["AMD","AWS","Ampere(R)","Apple","Intel"]}},{"name":"cpu_family","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuFamilies"}},{"type":"null"}],"title":"Processor family","category_id":"processor","enum":["ARMv8","Ampere Altra","EPYC","Xeon"]}},{"name":"benchmark_score_stressng_cpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"SCore","description":"Minimum stress-ng CPU workload score.","category_id":"processor"},"description":"Minimum stress-ng CPU workload score."},{"name":"memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum memory","description":"Minimum amount of memory in GBs.","category_id":"memory","unit":"GB","step":0.1},"description":"Minimum amount of memory in GBs."},{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active only","description":"Filter for active servers only.","category_id":"basic","default":true},"description":"Filter for active servers only."},{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"storage_size","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs).","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs)."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"gpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"GPU count","description":"Minimum number of GPUs.","category_id":"gpu","unit":"GPUs"},"description":"Minimum number of GPUs."},{"name":"gpu_memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum GPU memory","description":"Minimum amount of GPU memory (GB) in each GPU.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of GPU memory (GB) in each GPU."},{"name":"gpu_memory_total","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total GPU memory","description":"Minimum amount of total GPU memory (GBs) in all GPUs.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of total GPU memory (GBs) in all GPUs."},{"name":"gpu_manufacturer","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/GpuManufacturers"}},{"type":"null"}],"title":"GPU manufacturer","category_id":"gpu","enum":["AMD","Habana","NVIDIA"]}},{"name":"gpu_family","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/GpuFamilies"}},{"type":"null"}],"title":"GPU family","category_id":"gpu","enum":["Ada Lovelace","Ampere","Gaudi","Hopper","Kepler","Maxwell","Radeon Pro Navi","Turing","Volta"]}},{"name":"gpu_model","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/GpuModels"}},{"type":"null"}],"title":"GPU model","category_id":"gpu","enum":["A100","A10G","H100","H200","HL-205","K80","L4","L40S","M60","T4","T4G","V100","V520"]}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited.","default":25,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"vcpus","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderDir","description":"Order direction.","default":"asc"},"description":"Order direction."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPKs"},"title":"Response Search Servers Servers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server_prices":{"get":{"tags":["Query Resources"],"summary":"Search Server Prices","operationId":"search_server_prices_server_prices_get","parameters":[{"name":"partial_name_or_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partial name or id","description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name.","category_id":"basic"},"description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name."},{"name":"vcpus_min","in":"query","required":false,"schema":{"type":"integer","maximum":256,"minimum":1,"title":"Minimum vCPUs","description":"Minimum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","default":1},"description":"Minimum number of virtual CPUs."},{"name":"vcpus_max","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":256,"minimum":1},{"type":"null"}],"title":"Maximum vCPUs","description":"Maximum number of virtual CPUs.","category_id":"processor","unit":"vCPUs"},"description":"Maximum number of virtual CPUs."},{"name":"architecture","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuArchitecture"}},{"type":"null"}],"title":"Processor architecture","description":"Processor architecture.","category_id":"processor","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"]},"description":"Processor architecture."},{"name":"cpu_manufacturer","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuManufacturers"}},{"type":"null"}],"title":"Processor manufacturer","category_id":"processor","enum":["AMD","AWS","Ampere(R)","Apple","Intel"]}},{"name":"cpu_family","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuFamilies"}},{"type":"null"}],"title":"Processor family","category_id":"processor","enum":["ARMv8","Ampere Altra","EPYC","Xeon"]}},{"name":"benchmark_score_stressng_cpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"SCore","description":"Minimum stress-ng CPU workload score.","category_id":"processor"},"description":"Minimum stress-ng CPU workload score."},{"name":"memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum memory","description":"Minimum amount of memory in GBs.","category_id":"memory","unit":"GB","step":0.1},"description":"Minimum amount of memory in GBs."},{"name":"price_max","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Maximum price","description":"Maximum price (USD/hr).","category_id":"price","step":0.0001},"description":"Maximum price (USD/hr)."},{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active only","description":"Filter for active servers only.","category_id":"basic","default":true},"description":"Filter for active servers only."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"allocation","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/Allocation"},{"type":"null"}],"title":"Allocation","description":"Server allocation method.","enum":["ondemand","reserved","spot"]},"description":"Server allocation method."},{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"Region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"storage_size","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs).","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs)."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Countries"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"gpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"GPU count","description":"Minimum number of GPUs.","category_id":"gpu","unit":"GPUs"},"description":"Minimum number of GPUs."},{"name":"gpu_memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum GPU memory","description":"Minimum amount of GPU memory (GB) in each GPU.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of GPU memory (GB) in each GPU."},{"name":"gpu_memory_total","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total GPU memory","description":"Minimum amount of total GPU memory (GBs) in all GPUs.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of total GPU memory (GBs) in all GPUs."},{"name":"gpu_manufacturer","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/GpuManufacturers"}},{"type":"null"}],"title":"GPU manufacturer","category_id":"gpu","enum":["AMD","Habana","NVIDIA"]}},{"name":"gpu_family","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/GpuFamilies"}},{"type":"null"}],"title":"GPU family","category_id":"gpu","enum":["Ada Lovelace","Ampere","Gaudi","Hopper","Kepler","Maxwell","Radeon Pro Navi","Turing","Volta"]}},{"name":"gpu_model","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/GpuModels"}},{"type":"null"}],"title":"GPU model","category_id":"gpu","enum":["A100","A10G","H100","H200","HL-205","K80","L4","L40S","M60","T4","T4G","V100","V520"]}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":250,"description":"Maximum number of results.","default":25,"title":"Limit"},"description":"Maximum number of results."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderDir","description":"Order direction.","default":"asc"},"description":"Order direction."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","default":"USD","title":"Currency"},"description":"Currency used for prices."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPriceWithPKs"},"title":"Response Search Server Prices Server Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/storage_prices":{"get":{"tags":["Query Resources"],"summary":"Search Storage Prices","operationId":"search_storage_prices_storage_prices_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"storage_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs).","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs)."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"Region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Countries"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited.","default":10,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderDir","description":"Order direction.","default":"asc"},"description":"Order direction."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","default":"USD","title":"Currency"},"description":"Currency used for prices."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StoragePriceWithPKs"},"title":"Response Search Storage Prices Storage Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/traffic_prices":{"get":{"tags":["Query Resources"],"summary":"Search Traffic Prices","operationId":"search_traffic_prices_traffic_prices_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"Region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Countries"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"direction","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/TrafficDirection"}},{"type":"null"}],"title":"Direction","description":"Direction of the Internet traffic.","category_id":"traffic","enum":["inbound","outbound"],"default":["outbound"]},"description":"Direction of the Internet traffic."},{"name":"monthly_traffic","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Monthly Overall Traffic","description":"Overall amount of monthly traffic (GBs).","category_id":"traffic","unit":"GB","step":1,"default":1},"description":"Overall amount of monthly traffic (GBs)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited.","default":10,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderDir","description":"Order direction.","default":"asc"},"description":"Order direction."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","default":"USD","title":"Currency"},"description":"Currency used for prices."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TrafficPriceWithPKsWithMonthlyTraffic"},"title":"Response Search Traffic Prices Traffic Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Allocation":{"type":"string","enum":["ondemand","reserved","spot"],"title":"Allocation","description":"Server allocation options."},"Benchmark":{"properties":{"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Unique identifier of a specific Benchmark."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"framework":{"type":"string","title":"Framework","description":"The name of the benchmark framework/software/tool used."},"config_fields":{"type":"object","title":"Config Fields","description":"A dictionary of descriptions on the framework-specific config options, e.g. {\"bandwidth\": \"Memory amount to use for compression in MB.\"}.","default":{}},"measurement":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Measurement","description":"The name of measurement recoreded in the benchmark."},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit","description":"Optional unit of measurement for the benchmark score."},"higher_is_better":{"type":"boolean","title":"Higher Is Better","description":"If higher benchmark score means better performance, or vica versa.","default":true},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["benchmark_id","name","description","framework"],"title":"Benchmark","description":"Benchmark scenario definitions.\n\nAttributes:\n benchmark_id (str): Unique identifier of a specific Benchmark.\n name (str): Human-friendly name.\n description (typing.Optional[str]): Short description.\n framework (str): The name of the benchmark framework/software/tool used.\n config_fields (dict): A dictionary of descriptions on the framework-specific config options, e.g. {\"bandwidth\": \"Memory amount to use for compression in MB.\"}.\n measurement (typing.Optional[str]): The name of measurement recoreded in the benchmark.\n unit (typing.Optional[str]): Optional unit of measurement for the benchmark score.\n higher_is_better (bool): If higher benchmark score means better performance, or vica versa.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"benchmark_id":"geekbench:hdr","config_fields":{"cores":"Single-Core or Multi-Core peformance tests.","framework_version":"Version number of geekbench."},"description":"Blends six 16MP SDR photos to create a single HDR photo, using a recovery process and radiance map construction (Debevec and Malik 1997), and a tone mapping algorithm (Reinhard and Devlin 2005).The score is calibrated against a baseline score of 2,500 (Dell Precision 3460 with a Core i7-12700 processor) as per the Geekbench 6 Benchmark Internals.","framework":"geekbench","higher_is_better":true,"measurement":"hdr","name":"Geekbench: HDR","observed_at":"2024-09-23T20:08:42.846488","status":"active"}]},"BenchmarkScore":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Reference to the Benchmark."},"config":{"type":"object","title":"Config","description":"Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}","default":{}},"score":{"type":"number","title":"Score","description":"The resulting score of the benchmark."},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Optional note, comment or context on the benchmark score."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","benchmark_id","score"],"title":"BenchmarkScore","description":"Results of running Benchmark scenarios on Servers.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n server_id (str): Reference to the Server.\n benchmark_id (str): Reference to the Benchmark.\n config (sc_crawler.table_fields.HashableDict | dict): Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}\n score (float): The resulting score of the benchmark.\n note (typing.Optional[str]): Optional note, comment or context on the benchmark score.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation."},"BenchmarkScoreBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Reference to the Benchmark."},"config":{"type":"object","title":"Config","description":"Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}","default":{}},"score":{"type":"number","title":"Score","description":"The resulting score of the benchmark."},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Optional note, comment or context on the benchmark score."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","benchmark_id","score"],"title":"BenchmarkScoreBase"},"ComplianceFramework":{"properties":{"compliance_framework_id":{"type":"string","title":"Compliance Framework Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"abbreviation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abbreviation","description":"Short abbreviation of the Framework name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Description of the framework in a few paragrahs, outlining key features and characteristics for reference."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Framework's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage with more information on the Framework."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["compliance_framework_id","name","abbreviation","description"],"title":"ComplianceFramework","description":"List of Compliance Frameworks, such as HIPAA or SOC 2 Type 1.\n\nAttributes:\n compliance_framework_id (str): Unique identifier.\n name (str): Human-friendly name.\n abbreviation (typing.Optional[str]): Short abbreviation of the Framework name.\n description (typing.Optional[str]): Description of the framework in a few paragrahs, outlining key features and characteristics for reference.\n logo (typing.Optional[str]): Publicly accessible URL to the image of the Framework's logo.\n homepage (typing.Optional[str]): Public homepage with more information on the Framework.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"abbreviation":"HIPAA","compliance_framework_id":"hipaa","description":"HIPAA (Health Insurance Portability and Accountability Act) is a U.S. federal law designed to safeguard the privacy and security of individuals' health information, establishing standards for its protection and regulating its use in the healthcare industry.","homepage":"https://www.cdc.gov/phlp/publications/topic/hipaa.html","name":"The Health Insurance Portability and Accountability Act","observed_at":"2024-09-23T20:08:42.844405","status":"active"}]},"ComplianceFrameworks":{"type":"string","enum":["hipaa","iso27001","soc2t2"],"title":"ComplianceFrameworks"},"Countries":{"type":"string","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"],"title":"Countries"},"Country":{"properties":{"country_id":{"type":"string","title":"Country Id","description":"Country code by ISO 3166 alpha-2."},"continent":{"type":"string","title":"Continent","description":"Continent name."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["country_id","continent"],"title":"Country","description":"Country and continent mapping.\n\nAttributes:\n country_id (str): Country code by ISO 3166 alpha-2.\n continent (str): Continent name.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"continent":"Asia","country_id":"AE","observed_at":"2024-09-23T20:08:42.842686","status":"active"}]},"CountryBase":{"properties":{"country_id":{"type":"string","title":"Country Id","description":"Country code by ISO 3166 alpha-2."},"continent":{"type":"string","title":"Continent","description":"Continent name."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["country_id","continent"],"title":"CountryBase"},"Cpu":{"properties":{"manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Manufacturer"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cores"},"threads":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Threads"},"l1_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L1 Cache Size"},"l2_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L2 Cache Size"},"l3_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L3 Cache Size"},"microcode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Microcode"},"capabilities":{"items":{"type":"string"},"type":"array","title":"Capabilities","default":[]},"bugs":{"items":{"type":"string"},"type":"array","title":"Bugs","default":[]},"bogomips":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Bogomips"}},"type":"object","title":"Cpu","description":"CPU details."},"CpuAllocation":{"type":"string","enum":["Shared","Burstable","Dedicated"],"title":"CpuAllocation","description":"CPU allocation methods at cloud vendors."},"CpuArchitecture":{"type":"string","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"],"title":"CpuArchitecture","description":"CPU architectures."},"CpuFamilies":{"type":"string","enum":["ARMv8","Ampere Altra","EPYC","Xeon"],"title":"CpuFamilies"},"CpuManufacturers":{"type":"string","enum":["AMD","AWS","Ampere(R)","Apple","Intel"],"title":"CpuManufacturers"},"DdrGeneration":{"type":"string","enum":["DDR3","DDR4","DDR5"],"title":"DdrGeneration","description":"Generation of the DDR SDRAM."},"Disk":{"properties":{"size":{"type":"integer","title":"Size","default":0},"storage_type":{"$ref":"#/components/schemas/StorageType"}},"type":"object","required":["storage_type"],"title":"Disk","description":"Disk definition based on size and storage type."},"Gpu":{"properties":{"manufacturer":{"type":"string","title":"Manufacturer"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"memory":{"type":"integer","title":"Memory"},"firmware_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firmware Version"},"bios_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bios Version"},"graphics_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Graphics Clock"},"sm_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sm Clock"},"mem_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Mem Clock"},"video_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Video Clock"}},"type":"object","required":["manufacturer","memory"],"title":"Gpu","description":"GPU accelerator details."},"GpuFamilies":{"type":"string","enum":["Ada Lovelace","Ampere","Gaudi","Hopper","Kepler","Maxwell","Radeon Pro Navi","Turing","Volta"],"title":"GpuFamilies"},"GpuManufacturers":{"type":"string","enum":["AMD","Habana","NVIDIA"],"title":"GpuManufacturers"},"GpuModels":{"type":"string","enum":["A100","A10G","H100","H200","HL-205","K80","L4","L40S","M60","T4","T4G","V100","V520"],"title":"GpuModels"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HealthcheckResponse":{"properties":{"packages":{"type":"object","title":"Packages"},"database_last_updated":{"type":"number","title":"Database Last Updated"},"database_hash":{"type":"string","title":"Database Hash"},"database_alembic_version":{"type":"string","title":"Database Alembic Version"}},"type":"object","required":["packages","database_last_updated","database_hash","database_alembic_version"],"title":"HealthcheckResponse","examples":[{"database_alembic_version":"bar","database_hash":"foo","database_last_updated":1727124024.1530275,"packages":{"sparecores-crawler":"1.0.0"}}]},"IdNameAndDescriptionAndCategory":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"id":{"type":"string","title":"Id"},"category":{"type":"string","title":"Category"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"}},"type":"object","required":["name","description","id","category","unit"],"title":"IdNameAndDescriptionAndCategory"},"NameAndDescription":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"}},"type":"object","required":["name","description"],"title":"NameAndDescription"},"OrderDir":{"type":"string","enum":["asc","desc"],"title":"OrderDir"},"PriceTier":{"properties":{"lower":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Lower"},"upper":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Upper"},"price":{"type":"number","title":"Price"}},"type":"object","required":["lower","upper","price"],"title":"PriceTier","description":"Price tier definition.\n\nAs standard JSON does not support Inf, NaN etc values,\nthose should be passed as string, e.g. for the upper bound.\n\nSee [float_inf_to_str][sc_crawler.utils.float_inf_to_str] for\nconverting an infinite numeric value into \"Infinity\"."},"PriceUnit":{"type":"string","enum":["year","month","hour","GiB","GB","GB/month"],"title":"PriceUnit","description":"Supported units for the price tables."},"Region":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id"],"title":"Region","description":"Regions of Vendors.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n aliases (typing.List[str]): List of other commonly used names for the same Region.\n country_id (str): Reference to the Country, where the Region is located.\n state (typing.Optional[str]): Optional state/administrative area of the Region's location within the Country.\n city (typing.Optional[str]): Optional city name of the Region's location.\n address_line (typing.Optional[str]): Optional address line of the Region's location.\n zip_code (typing.Optional[str]): Optional ZIP code of the Region's location.\n lon (typing.Optional[float]): Longitude coordinate of the Region's known or approximate location.\n lat (typing.Optional[float]): Latitude coordinate of the Region's known or approximate location.\n founding_year (typing.Optional[int]): 4-digit year when the Region was founded.\n green_energy (typing.Optional[bool]): If the Region is 100% powered by renewable energy.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-23T19:19:49.228830","region_id":"af-south-1","status":"active","vendor_id":"aws"}]},"RegionBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id"],"title":"RegionBase"},"RegionBaseWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"country":{"$ref":"#/components/schemas/CountryBase"}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id","country"],"title":"RegionBaseWithPKs"},"RegionPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"vendor":{"$ref":"#/components/schemas/VendorBase"}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id","vendor"],"title":"RegionPKs","examples":[{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-23T19:19:49.228830","region_id":"af-south-1","status":"active","vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-23T20:08:42.847929","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws"}]},"Regions":{"type":"string","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"],"title":"Regions"},"Server":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"$ref":"#/components/schemas/CpuAllocation","description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"$ref":"#/components/schemas/CpuArchitecture","description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"Server","description":"Server types.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n server_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n description (typing.Optional[str]): Short description.\n family (typing.Optional[str]): Server family, e.g. General-purpose machine (GCP), or M5g (AWS).\n vcpus (int): Default number of virtual CPUs (vCPU) of the server.\n hypervisor (typing.Optional[str]): Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated.\n cpu_allocation (CpuAllocation): Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated.\n cpu_cores (typing.Optional[int]): Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled.\n cpu_speed (typing.Optional[float]): Vendor-reported maximum CPU clock speed (GHz).\n cpu_architecture (CpuArchitecture): CPU architecture (arm64, arm64_mac, i386, or x86_64).\n cpu_manufacturer (typing.Optional[str]): The manufacturer of the primary processor, e.g. Intel or AMD.\n cpu_family (typing.Optional[str]): The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9.\n cpu_model (typing.Optional[str]): The model number of the primary processor, e.g. 9750H.\n cpu_l1_cache (typing.Optional[int]): L1 cache size (byte).\n cpu_l2_cache (typing.Optional[int]): L2 cache size (byte).\n cpu_l3_cache (typing.Optional[int]): L3 cache size (byte).\n cpu_flags (typing.List[str]): CPU features/flags.\n cpus (typing.List[sc_crawler.table_fields.Cpu]): JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.\n memory_amount (int): RAM amount (MiB).\n memory_generation (typing.Optional[sc_crawler.table_fields.DdrGeneration]): Generation of the DDR SDRAM, e.g. DDR4 or DDR5.\n memory_speed (typing.Optional[int]): DDR SDRAM clock rate (Mhz).\n memory_ecc (typing.Optional[bool]): If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption.\n gpu_count (int): Number of GPU accelerator(s).\n gpu_memory_min (typing.Optional[int]): Memory (MiB) allocated to the lowest-end GPU accelerator.\n gpu_memory_total (typing.Optional[int]): Overall memory (MiB) allocated to all the GPU accelerator(s).\n gpu_manufacturer (typing.Optional[str]): The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD.\n gpu_family (typing.Optional[str]): The product family of the primary GPU accelerator, e.g. Turing.\n gpu_model (typing.Optional[str]): The model number of the primary GPU accelerator, e.g. Tesla T4.\n gpus (typing.List[sc_crawler.table_fields.Gpu]): JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.\n storage_size (int): Overall size (GB) of the disk(s).\n storage_type (typing.Optional[sc_crawler.table_fields.StorageType]): Primary disk type, e.g. HDD, SSD, NVMe SSD, or network).\n storages (typing.List[sc_crawler.table_fields.Disk]): JSON array of disks attached to the server, including the size (MiB) and type of each disk.\n network_speed (typing.Optional[float]): The baseline network performance (Gbps) of the network card.\n inbound_traffic (float): Amount of complimentary inbound traffic (GB) per month.\n outbound_traffic (float): Amount of complimentary outbound traffic (GB) per month.\n ipv4 (int): Number of complimentary IPv4 address(es).\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-23T19:20:41.547852","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"}]},"ServerBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"$ref":"#/components/schemas/CpuAllocation","description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"$ref":"#/components/schemas/CpuArchitecture","description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"ServerBase"},"ServerPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"$ref":"#/components/schemas/CpuAllocation","description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"$ref":"#/components/schemas/CpuArchitecture","description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"},"vendor":{"$ref":"#/components/schemas/VendorBase"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description","vendor"],"title":"ServerPKs","examples":[{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-23T19:20:41.547852","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"}]},"ServerPKsWithPrices":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"$ref":"#/components/schemas/CpuAllocation","description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"$ref":"#/components/schemas/CpuArchitecture","description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"prices":{"items":{"$ref":"#/components/schemas/ServerPricePKs"},"type":"array","title":"Prices"},"benchmark_scores":{"items":{"$ref":"#/components/schemas/BenchmarkScoreBase"},"type":"array","title":"Benchmark Scores"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description","vendor","prices","benchmark_scores"],"title":"ServerPKsWithPrices","examples":[{"api_reference":"a1.2xlarge","benchmark_scores":[{"benchmark_id":"geekbench:hdr","config_fields":{"cores":"Single-Core or Multi-Core peformance tests.","framework_version":"Version number of geekbench."},"description":"Blends six 16MP SDR photos to create a single HDR photo, using a recovery process and radiance map construction (Debevec and Malik 1997), and a tone mapping algorithm (Reinhard and Devlin 2005).The score is calibrated against a baseline score of 2,500 (Dell Precision 3460 with a Core i7-12700 processor) as per the Geekbench 6 Benchmark Internals.","framework":"geekbench","higher_is_better":true,"measurement":"hdr","name":"Geekbench: HDR","observed_at":"2024-09-23T20:08:42.846488","status":"active"}],"cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-23T19:20:41.547852","outbound_traffic":0.0,"price":7,"prices":[{"allocation":"spot","currency":"USD","observed_at":"2024-09-23T13:02:41","operating_system":"Linux","price":0.0723,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-23T19:19:49.228830","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-west-2","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-23T19:19:52.252262","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"usw2-az3"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-23T18:32:21","operating_system":"Linux","price":0.0749,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-23T19:19:49.228830","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-west-2","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-23T19:19:52.252262","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"usw2-az2"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-23T13:01:39","operating_system":"Linux","price":0.0907,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-23T19:19:49.228830","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"eu-central-1","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-23T19:19:52.252262","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"euc1-az2"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-23T16:46:06","operating_system":"Linux","price":0.0953,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-23T19:19:49.228830","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"ap-northeast-1","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-23T19:19:52.252262","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"apne1-az4"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-23T17:46:30","operating_system":"Linux","price":0.0967,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-23T19:19:49.228830","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"eu-central-1","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-23T19:19:52.252262","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"euc1-az3"}],"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-23T20:08:42.847929","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws"}]},"ServerPrice":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"$ref":"#/components/schemas/Allocation","description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"$ref":"#/components/schemas/PriceUnit","description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price"],"title":"ServerPrice","description":"Server type prices per Region and Allocation method.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Reference to the Region.\n zone_id (str): Reference to the Zone.\n server_id (str): Reference to the Server.\n operating_system (str): Operating System.\n allocation (Allocation): Allocation method, e.g. on-demand or spot.\n unit (PriceUnit): Billing unit of the pricing model.\n price (float): Actual price of a billing unit.\n price_upfront (float): Price to be paid when setting up the resource.\n price_tiered (typing.List[sc_crawler.table_fields.PriceTier]): List of pricing tiers with min/max thresholds and actual prices.\n currency (str): Currency of the prices.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation."},"ServerPricePKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"$ref":"#/components/schemas/Allocation","description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"$ref":"#/components/schemas/PriceUnit","description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBase"},"zone":{"$ref":"#/components/schemas/ZoneBase"}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price","region","zone"],"title":"ServerPricePKs"},"ServerPriceWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"$ref":"#/components/schemas/Allocation","description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"$ref":"#/components/schemas/PriceUnit","description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"vendor":{"$ref":"#/components/schemas/VendorBase"},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"zone":{"$ref":"#/components/schemas/ZoneBase"},"server":{"$ref":"#/components/schemas/ServerWithScore"}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price","vendor","region","zone","server"],"title":"ServerPriceWithPKs","examples":[{"allocation":"spot","currency":"USD","observed_at":"2024-09-23T13:02:41","operating_system":"Linux","price":0.0723,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country":{"continent":"Asia","country_id":"AE","observed_at":"2024-09-23T20:08:42.842686","status":"active"},"country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-23T19:19:49.228830","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-west-2","server":{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-23T19:20:41.547852","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"},"server_id":"a1.2xlarge","status":"active","unit":"hour","vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-23T20:08:42.847929","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-23T19:19:52.252262","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"usw2-az3"}]},"ServerTableMetaData":{"properties":{"table":{"$ref":"#/components/schemas/NameAndDescription"},"fields":{"items":{"$ref":"#/components/schemas/IdNameAndDescriptionAndCategory"},"type":"array","title":"Fields"}},"type":"object","required":["table","fields"],"title":"ServerTableMetaData"},"ServerWithScore":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"$ref":"#/components/schemas/CpuAllocation","description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"$ref":"#/components/schemas/CpuArchitecture","description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"ServerWithScore"},"Status":{"type":"string","enum":["active","inactive"],"title":"Status","description":"Last known status of a resource, e.g. active or inactive."},"Storage":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"storage_id":{"type":"string","title":"Storage Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"storage_type":{"$ref":"#/components/schemas/StorageType","description":"High-level category of the storage, e.g. HDD or SDD."},"max_iops":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Iops","description":"Maximum Input/Output Operations Per Second."},"max_throughput":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Throughput","description":"Maximum Throughput (MiB/s)."},"min_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Size","description":"Minimum required size (GiB)."},"max_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Size","description":"Maximum possible size (GiB)."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","storage_id","name","description","storage_type"],"title":"Storage","description":"Flexible storage options that can be attached to a Server.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n storage_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n description (typing.Optional[str]): Short description.\n storage_type (StorageType): High-level category of the storage, e.g. HDD or SDD.\n max_iops (typing.Optional[int]): Maximum Input/Output Operations Per Second.\n max_throughput (typing.Optional[int]): Maximum Throughput (MiB/s).\n min_size (typing.Optional[int]): Minimum required size (GiB).\n max_size (typing.Optional[int]): Maximum possible size (GiB).\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"description":"SSD-backed","max_iops":16000,"max_size":16384,"max_throughput":250,"min_size":1,"name":"General Purpose","observed_at":"2024-09-23T19:22:56.648017","status":"active","storage_id":"gp2","storage_type":"ssd","vendor_id":"aws"}]},"StorageBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"storage_id":{"type":"string","title":"Storage Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"storage_type":{"$ref":"#/components/schemas/StorageType","description":"High-level category of the storage, e.g. HDD or SDD."},"max_iops":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Iops","description":"Maximum Input/Output Operations Per Second."},"max_throughput":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Throughput","description":"Maximum Throughput (MiB/s)."},"min_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Size","description":"Minimum required size (GiB)."},"max_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Size","description":"Maximum possible size (GiB)."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","storage_id","name","description","storage_type"],"title":"StorageBase"},"StoragePriceWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"storage_id":{"type":"string","title":"Storage Id","description":"Reference to the Storage."},"unit":{"$ref":"#/components/schemas/PriceUnit","description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"storage":{"$ref":"#/components/schemas/StorageBase"}},"type":"object","required":["vendor_id","region_id","storage_id","unit","price","region","vendor","storage"],"title":"StoragePriceWithPKs"},"StorageType":{"type":"string","enum":["hdd","ssd","nvme ssd","network"],"title":"StorageType","description":"Type of a storage, e.g. HDD or SSD."},"TrafficDirection":{"type":"string","enum":["inbound","outbound"],"title":"TrafficDirection","description":"Direction of the network traffic."},"TrafficPriceWithPKsWithMonthlyTraffic":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"direction":{"$ref":"#/components/schemas/TrafficDirection","description":"Direction of the traffic: inbound or outbound."},"unit":{"$ref":"#/components/schemas/PriceUnit","description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"price_monthly_traffic":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price Monthly Traffic"}},"type":"object","required":["vendor_id","region_id","direction","unit","price","region","vendor"],"title":"TrafficPriceWithPKsWithMonthlyTraffic"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"Vendor":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Vendor's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage of the Vendor."},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Vendor's main headquarter is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Vendor's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Vendor's main location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Vendor's main location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Vendor's main location."},"founding_year":{"type":"integer","title":"Founding Year","description":"4-digit year when the Vendor was founded."},"status_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Page","description":"Public status page of the Vendor."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","name","country_id","founding_year"],"title":"Vendor","description":"Compute resource vendors, such as cloud and server providers.\n\n Examples:\n >>> from sc_crawler.tables import Vendor\n >>> from sc_crawler.lookup import countries\n >>> aws = Vendor(vendor_id='aws', name='Amazon Web Services', homepage='https://aws.amazon.com', country=countries[\"US\"], founding_year=2002)\n >>> aws\n Vendor(vendor_id='aws'...\n >>> from sc_crawler import vendors\n >>> vendors.aws\n Vendor(vendor_id='aws'...\n \n\nAttributes:\n vendor_id (str): Unique identifier.\n name (str): Human-friendly name.\n logo (typing.Optional[str]): Publicly accessible URL to the image of the Vendor's logo.\n homepage (typing.Optional[str]): Public homepage of the Vendor.\n country_id (str): Reference to the Country, where the Vendor's main headquarter is located.\n state (typing.Optional[str]): Optional state/administrative area of the Vendor's location within the Country.\n city (typing.Optional[str]): Optional city name of the Vendor's main location.\n address_line (typing.Optional[str]): Optional address line of the Vendor's main location.\n zip_code (typing.Optional[str]): Optional ZIP code of the Vendor's main location.\n founding_year (int): 4-digit year when the Vendor was founded.\n status_page (typing.Optional[str]): Public status page of the Vendor.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-23T20:08:42.847929","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"}]},"VendorBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Vendor's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage of the Vendor."},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Vendor's main headquarter is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Vendor's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Vendor's main location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Vendor's main location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Vendor's main location."},"founding_year":{"type":"integer","title":"Founding Year","description":"4-digit year when the Vendor was founded."},"status_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Page","description":"Public status page of the Vendor."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","name","country_id","founding_year"],"title":"VendorBase"},"Vendors":{"type":"string","enum":["aws","azure","gcp","hcloud"],"title":"Vendors"},"Zone":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","name","api_reference","display_name"],"title":"Zone","description":"Availability zones of Regions.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Reference to the Region.\n zone_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-23T19:19:52.252262","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"}]},"ZoneBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"status":{"$ref":"#/components/schemas/Status","description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","name","api_reference","display_name"],"title":"ZoneBase"}}}} +{"openapi":"3.1.0","info":{"title":"Spare Cores (SC) Keeper","description":"\nAPI to search and serve data collected on cloud compute resources.\n\n## Licensing\n\nThis is a free service provided by the Spare Cores team, without any warranty.\nThe source code of the API is licensed under MPL-2.0, find more details at\n.\n\n## References\n\n- Spare Cores: \n- SC Keeper: \n- SC Crawler: \n- SC Data: \n","termsOfService":"https://sparecores.com/legal/terms-of-service","contact":{"name":"Spare Cores Team","email":"social@sparecores.com"},"license":{"name":"Mozilla Public License 2.0 (MPL 2.0)","url":"http://mozilla.org/MPL/2.0/"},"version":"0.3.0"},"paths":{"/healthcheck":{"get":{"tags":["Administrative endpoints"],"summary":"Healthcheck","description":"Quickly return package and database version information.","operationId":"healthcheck_healthcheck_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthcheckResponse"}}}}}}},"/table/benchmark":{"get":{"tags":["Table dumps"],"summary":"Table Benchmark","description":"Return the Benchmark table as-is, without filtering options or relationships resolved.","operationId":"table_benchmark_table_benchmark_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Benchmark"},"type":"array","title":"Response Table Benchmark Table Benchmark Get"}}}}}}},"/table/country":{"get":{"tags":["Table dumps"],"summary":"Table Country","description":"Return the Country table as-is, without filtering options or relationships resolved.","operationId":"table_country_table_country_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Country"},"type":"array","title":"Response Table Country Table Country Get"}}}}}}},"/table/compliance_framework":{"get":{"tags":["Table dumps"],"summary":"Table Compliance Frameworks","description":"Return the ComplianceFramework table as-is, without filtering options or relationships resolved.","operationId":"table_compliance_frameworks_table_compliance_framework_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ComplianceFramework"},"type":"array","title":"Response Table Compliance Frameworks Table Compliance Framework Get"}}}}}}},"/table/vendor":{"get":{"tags":["Table dumps"],"summary":"Table Vendor","description":"Return the Vendor table as-is, without filtering options or relationships resolved.","operationId":"table_vendor_table_vendor_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Vendor"},"type":"array","title":"Response Table Vendor Table Vendor Get"}}}}}}},"/table/region":{"get":{"tags":["Table dumps"],"summary":"Table Region","description":"Return the Region table as-is, without filtering options or relationships resolved.","operationId":"table_region_table_region_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Region"},"type":"array","title":"Response Table Region Table Region Get"}}}}}}},"/table/zone":{"get":{"tags":["Table dumps"],"summary":"Table Zone","description":"Return the Zone table as-is, without filtering options or relationships resolved.","operationId":"table_zone_table_zone_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Zone"},"type":"array","title":"Response Table Zone Table Zone Get"}}}}}}},"/table/server":{"get":{"tags":["Table dumps"],"summary":"Table Server","description":"Return the Server table as-is, without filtering options or relationships resolved.","operationId":"table_server_table_server_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Server"},"type":"array","title":"Response Table Server Table Server Get"}}}}}}},"/table/storage":{"get":{"tags":["Table dumps"],"summary":"Table Storage","description":"Return the Storage table as-is, without filtering options or relationships resolved.","operationId":"table_storage_table_storage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Storage"},"type":"array","title":"Response Table Storage Table Storage Get"}}}}}}},"/table/server/meta":{"get":{"tags":["Table metadata"],"summary":"Table Metadata Server","description":"Server table and column names and comments.","operationId":"table_metadata_server_table_server_meta_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerTableMetaData"}}}}}}},"/server/{vendor}/{server}":{"get":{"tags":["Server Details"],"summary":"Get Server","description":"Query a single server by its vendor id and either the server or, or its API reference.\n\nReturn dictionary includes all server fields, along\nwith the current prices per zone, and\nthe available benchmark scores.","operationId":"get_server_server__vendor___server__get","deprecated":true,"parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"Vendor ID.","title":"Vendor"},"description":"Vendor ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"Server ID or API reference.","title":"Server"},"description":"Server ID or API reference."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","title":"Currency"},"description":"Currency used for prices."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerPKsWithPrices"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v2/server/{vendor}/{server}":{"get":{"tags":["Server Details"],"summary":"Get Server Without Relations","description":"Query a single server by its vendor id and either the server id or its API reference.","operationId":"get_server_without_relations_v2_server__vendor___server__get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"A Vendor's ID.","title":"Vendor"},"description":"A Vendor's ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"A Server's ID or API reference.","title":"Server"},"description":"A Server's ID or API reference."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerBase"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}/similar_servers/{by}/{num}":{"get":{"tags":["Server Details"],"summary":"Get Similar Servers","description":"Search similar servers to the provided one.\n\nThe \"family\" method returns all servers from the same family of\nthe same vendor.\n\nThe \"specs\" approach will prioritize the number of\nGPUs, then CPUs, lastly the amount of memory.\n\nThe \"score\" method will find the servers with the closest\nperformance using the multi-core SCore.","operationId":"get_similar_servers_server__vendor___server__similar_servers__by___num__get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"Vendor ID.","title":"Vendor"},"description":"Vendor ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"Server ID or API reference.","title":"Server"},"description":"Server ID or API reference."},{"name":"by","in":"path","required":true,"schema":{"enum":["family","specs","score"],"type":"string","description":"Algorithm to look for similar servers.","title":"By"},"description":"Algorithm to look for similar servers."},{"name":"num","in":"path","required":true,"schema":{"type":"integer","maximum":100,"description":"Number of servers to get.","title":"Num"},"description":"Number of servers to get."},{"name":"benchmark_id","in":"query","required":false,"schema":{"type":"string","description":"Benchmark id to use as the main score for the server.","default":"stress_ng:cpu_all","title":"Benchmark Id"},"description":"Benchmark id to use as the main score for the server."},{"name":"benchmark_config","in":"query","required":false,"schema":{"type":"string","description":"Benchmark id to use as the main score for the server.","default":"","title":"Benchmark Config"},"description":"Benchmark id to use as the main score for the server."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPKs"},"title":"Response Get Similar Servers Server Vendor Server Similar Servers By Num Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}/prices":{"get":{"tags":["Server Details"],"summary":"Get Server Prices","description":"Query the current prices of a single server by its vendor id and server id.","operationId":"get_server_prices_server__vendor___server__prices_get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"A Vendor's ID.","title":"Vendor"},"description":"A Vendor's ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"A Server's ID or API reference.","title":"Server"},"description":"A Server's ID or API reference."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","title":"Currency"},"description":"Currency used for prices."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPrice"},"title":"Response Get Server Prices Server Vendor Server Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}/benchmarks":{"get":{"tags":["Server Details"],"summary":"Get Server Benchmarks","description":"Query the current benchmark scores of a single server.","operationId":"get_server_benchmarks_server__vendor___server__benchmarks_get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"A Vendor's ID.","title":"Vendor"},"description":"A Vendor's ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"A Server's ID or API reference.","title":"Server"},"description":"A Server's ID or API reference."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BenchmarkScore"},"title":"Response Get Server Benchmarks Server Vendor Server Benchmarks Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_server_filters":{"get":{"tags":["AI"],"summary":"Assist Server Filters","description":"Extract Server JSON filters from freetext.","operationId":"assist_server_filters_ai_assist_server_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Server Filters Ai Assist Server Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_server_price_filters":{"get":{"tags":["AI"],"summary":"Assist Server Price Filters","description":"Extract ServerPrice JSON filters from freetext.","operationId":"assist_server_price_filters_ai_assist_server_price_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Server Price Filters Ai Assist Server Price Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_storage_price_filters":{"get":{"tags":["AI"],"summary":"Assist Storage Price Filters","description":"Extract StoragePrice JSON filters from freetext.","operationId":"assist_storage_price_filters_ai_assist_storage_price_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Storage Price Filters Ai Assist Storage Price Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_traffic_price_filters":{"get":{"tags":["AI"],"summary":"Assist Traffic Price Filters","description":"Extract TrafficPrice JSON filters from freetext.","operationId":"assist_traffic_price_filters_ai_assist_traffic_price_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Traffic Price Filters Ai Assist Traffic Price Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/regions":{"get":{"tags":["Query Resources"],"summary":"Search Regions","operationId":"search_regions_regions_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RegionPKs"},"title":"Response Search Regions Regions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/servers":{"get":{"tags":["Query Resources"],"summary":"Search Servers","operationId":"search_servers_servers_get","parameters":[{"name":"partial_name_or_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partial name or id","description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name.","category_id":"basic"},"description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name."},{"name":"vcpus_min","in":"query","required":false,"schema":{"type":"integer","maximum":256,"minimum":1,"title":"Minimum vCPUs","description":"Minimum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","default":1},"description":"Minimum number of virtual CPUs."},{"name":"vcpus_max","in":"query","required":false,"schema":{"type":"integer","maximum":256,"minimum":1,"title":"Maximum vCPUs","description":"Maximum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","default":256},"description":"Maximum number of virtual CPUs."},{"name":"architecture","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuArchitecture"}},{"type":"null"}],"title":"Processor architecture","description":"Processor architecture.","category_id":"processor","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"]},"description":"Processor architecture."},{"name":"cpu_manufacturer","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuManufacturers"}},{"type":"null"}],"title":"Processor manufacturer","category_id":"processor","enum":["AMD","AWS","Ampere","Apple","Intel"]}},{"name":"cpu_family","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuFamilies"}},{"type":"null"}],"title":"Processor family","category_id":"processor","enum":["ARMv8","Ampere Altra","EPYC","Xeon"]}},{"name":"benchmark_score_stressng_cpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"SCore","description":"Minimum stress-ng CPU workload score.","category_id":"processor"},"description":"Minimum stress-ng CPU workload score."},{"name":"memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum memory","description":"Minimum amount of memory in GBs.","category_id":"memory","unit":"GB","step":0.1},"description":"Minimum amount of memory in GBs."},{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active only","description":"Filter for active servers only.","category_id":"basic","default":true},"description":"Filter for active servers only."},{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"storage_size","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs).","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs)."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"gpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"GPU count","description":"Minimum number of GPUs.","category_id":"gpu","unit":"GPUs"},"description":"Minimum number of GPUs."},{"name":"gpu_memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum GPU memory","description":"Minimum amount of GPU memory (GB) in each GPU.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of GPU memory (GB) in each GPU."},{"name":"gpu_memory_total","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total GPU memory","description":"Minimum amount of total GPU memory (GBs) in all GPUs.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of total GPU memory (GBs) in all GPUs."},{"name":"gpu_manufacturer","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/GpuManufacturers"}},{"type":"null"}],"title":"GPU manufacturer","category_id":"gpu","enum":["AMD","Habana","NVIDIA"]}},{"name":"gpu_family","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/GpuFamilies"}},{"type":"null"}],"title":"GPU family","category_id":"gpu","enum":["Ada Lovelace","Ampere","Gaudi","Hopper","Kepler","Maxwell","Radeon Pro Navi","Turing","Volta"]}},{"name":"gpu_model","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/GpuModels"}},{"type":"null"}],"title":"GPU model","category_id":"gpu","enum":["A100","A10G","H100","H200","HL-205","K80","L4","L40S","M60","T4","T4G","V100","V520"]}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited.","default":25,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"vcpus","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPKs"},"title":"Response Search Servers Servers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server_prices":{"get":{"tags":["Query Resources"],"summary":"Search Server Prices","operationId":"search_server_prices_server_prices_get","parameters":[{"name":"partial_name_or_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partial name or id","description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name.","category_id":"basic"},"description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name."},{"name":"vcpus_min","in":"query","required":false,"schema":{"type":"integer","maximum":256,"minimum":1,"title":"Minimum vCPUs","description":"Minimum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","default":1},"description":"Minimum number of virtual CPUs."},{"name":"vcpus_max","in":"query","required":false,"schema":{"type":"integer","maximum":256,"minimum":1,"title":"Maximum vCPUs","description":"Maximum number of virtual CPUs.","category_id":"processor","unit":"vCPUs"},"description":"Maximum number of virtual CPUs."},{"name":"architecture","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuArchitecture"}},{"type":"null"}],"title":"Processor architecture","description":"Processor architecture.","category_id":"processor","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"]},"description":"Processor architecture."},{"name":"cpu_manufacturer","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuManufacturers"}},{"type":"null"}],"title":"Processor manufacturer","category_id":"processor","enum":["AMD","AWS","Ampere","Apple","Intel"]}},{"name":"cpu_family","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuFamilies"}},{"type":"null"}],"title":"Processor family","category_id":"processor","enum":["ARMv8","Ampere Altra","EPYC","Xeon"]}},{"name":"benchmark_score_stressng_cpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"SCore","description":"Minimum stress-ng CPU workload score.","category_id":"processor"},"description":"Minimum stress-ng CPU workload score."},{"name":"memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum memory","description":"Minimum amount of memory in GBs.","category_id":"memory","unit":"GB","step":0.1},"description":"Minimum amount of memory in GBs."},{"name":"price_max","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Maximum price","description":"Maximum price (USD/hr).","category_id":"price","step":0.0001},"description":"Maximum price (USD/hr)."},{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active only","description":"Filter for active servers only.","category_id":"basic","default":true},"description":"Filter for active servers only."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"allocation","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/Allocation"},{"type":"null"}],"title":"Allocation","description":"Server allocation method.","enum":["ondemand","reserved","spot"]},"description":"Server allocation method."},{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"Region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"storage_size","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs).","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs)."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Countries"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"gpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"GPU count","description":"Minimum number of GPUs.","category_id":"gpu","unit":"GPUs"},"description":"Minimum number of GPUs."},{"name":"gpu_memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum GPU memory","description":"Minimum amount of GPU memory (GB) in each GPU.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of GPU memory (GB) in each GPU."},{"name":"gpu_memory_total","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total GPU memory","description":"Minimum amount of total GPU memory (GBs) in all GPUs.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of total GPU memory (GBs) in all GPUs."},{"name":"gpu_manufacturer","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/GpuManufacturers"}},{"type":"null"}],"title":"GPU manufacturer","category_id":"gpu","enum":["AMD","Habana","NVIDIA"]}},{"name":"gpu_family","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/GpuFamilies"}},{"type":"null"}],"title":"GPU family","category_id":"gpu","enum":["Ada Lovelace","Ampere","Gaudi","Hopper","Kepler","Maxwell","Radeon Pro Navi","Turing","Volta"]}},{"name":"gpu_model","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/GpuModels"}},{"type":"null"}],"title":"GPU model","category_id":"gpu","enum":["A100","A10G","H100","H200","HL-205","K80","L4","L40S","M60","T4","T4G","V100","V520"]}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":250,"description":"Maximum number of results.","default":25,"title":"Limit"},"description":"Maximum number of results."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","default":"USD","title":"Currency"},"description":"Currency used for prices."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPriceWithPKs"},"title":"Response Search Server Prices Server Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/storage_prices":{"get":{"tags":["Query Resources"],"summary":"Search Storage Prices","operationId":"search_storage_prices_storage_prices_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"storage_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs).","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs)."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"Region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Countries"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited.","default":10,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","default":"USD","title":"Currency"},"description":"Currency used for prices."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StoragePriceWithPKs"},"title":"Response Search Storage Prices Storage Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/traffic_prices":{"get":{"tags":["Query Resources"],"summary":"Search Traffic Prices","operationId":"search_traffic_prices_traffic_prices_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"Region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Countries"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"direction","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/TrafficDirection"}},{"type":"null"}],"title":"Direction","description":"Direction of the Internet traffic.","category_id":"traffic","enum":["inbound","outbound"],"default":["outbound"]},"description":"Direction of the Internet traffic."},{"name":"monthly_traffic","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Monthly Overall Traffic","description":"Overall amount of monthly traffic (GBs).","category_id":"traffic","unit":"GB","step":1,"default":1},"description":"Overall amount of monthly traffic (GBs)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited.","default":10,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","default":"USD","title":"Currency"},"description":"Currency used for prices."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TrafficPriceWithPKsWithMonthlyTraffic"},"title":"Response Search Traffic Prices Traffic Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Allocation":{"type":"string","enum":["ondemand","reserved","spot"],"title":"Allocation","description":"Server allocation options."},"Benchmark":{"properties":{"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Unique identifier of a specific Benchmark."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"framework":{"type":"string","title":"Framework","description":"The name of the benchmark framework/software/tool used."},"config_fields":{"type":"object","title":"Config Fields","description":"A dictionary of descriptions on the framework-specific config options, e.g. {\"bandwidth\": \"Memory amount to use for compression in MB.\"}.","default":{}},"measurement":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Measurement","description":"The name of measurement recoreded in the benchmark."},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit","description":"Optional unit of measurement for the benchmark score."},"higher_is_better":{"type":"boolean","title":"Higher Is Better","description":"If higher benchmark score means better performance, or vica versa.","default":true},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["benchmark_id","name","description","framework"],"title":"Benchmark","description":"Benchmark scenario definitions.\n\nAttributes:\n benchmark_id (str): Unique identifier of a specific Benchmark.\n name (str): Human-friendly name.\n description (typing.Optional[str]): Short description.\n framework (str): The name of the benchmark framework/software/tool used.\n config_fields (dict): A dictionary of descriptions on the framework-specific config options, e.g. {\"bandwidth\": \"Memory amount to use for compression in MB.\"}.\n measurement (typing.Optional[str]): The name of measurement recoreded in the benchmark.\n unit (typing.Optional[str]): Optional unit of measurement for the benchmark score.\n higher_is_better (bool): If higher benchmark score means better performance, or vica versa.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"benchmark_id":"geekbench:hdr","config_fields":{"cores":"Single-Core or Multi-Core peformance tests.","framework_version":"Version number of geekbench."},"description":"Blends six 16MP SDR photos to create a single HDR photo, using a recovery process and radiance map construction (Debevec and Malik 1997), and a tone mapping algorithm (Reinhard and Devlin 2005).The score is calibrated against a baseline score of 2,500 (Dell Precision 3460 with a Core i7-12700 processor) as per the Geekbench 6 Benchmark Internals.","framework":"geekbench","higher_is_better":true,"measurement":"hdr","name":"Geekbench: HDR","observed_at":"2024-09-25T07:07:53.359891","status":"active"}]},"BenchmarkScore":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Reference to the Benchmark."},"config":{"type":"object","title":"Config","description":"Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}","default":{}},"score":{"type":"number","title":"Score","description":"The resulting score of the benchmark."},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Optional note, comment or context on the benchmark score."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","benchmark_id","score"],"title":"BenchmarkScore","description":"Results of running Benchmark scenarios on Servers.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n server_id (str): Reference to the Server.\n benchmark_id (str): Reference to the Benchmark.\n config (sc_crawler.table_fields.HashableDict | dict): Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}\n score (float): The resulting score of the benchmark.\n note (typing.Optional[str]): Optional note, comment or context on the benchmark score.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation."},"BenchmarkScoreBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Reference to the Benchmark."},"config":{"type":"object","title":"Config","description":"Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}","default":{}},"score":{"type":"number","title":"Score","description":"The resulting score of the benchmark."},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Optional note, comment or context on the benchmark score."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","benchmark_id","score"],"title":"BenchmarkScoreBase"},"ComplianceFramework":{"properties":{"compliance_framework_id":{"type":"string","title":"Compliance Framework Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"abbreviation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abbreviation","description":"Short abbreviation of the Framework name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Description of the framework in a few paragrahs, outlining key features and characteristics for reference."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Framework's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage with more information on the Framework."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["compliance_framework_id","name","abbreviation","description"],"title":"ComplianceFramework","description":"List of Compliance Frameworks, such as HIPAA or SOC 2 Type 1.\n\nAttributes:\n compliance_framework_id (str): Unique identifier.\n name (str): Human-friendly name.\n abbreviation (typing.Optional[str]): Short abbreviation of the Framework name.\n description (typing.Optional[str]): Description of the framework in a few paragrahs, outlining key features and characteristics for reference.\n logo (typing.Optional[str]): Publicly accessible URL to the image of the Framework's logo.\n homepage (typing.Optional[str]): Public homepage with more information on the Framework.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"abbreviation":"HIPAA","compliance_framework_id":"hipaa","description":"HIPAA (Health Insurance Portability and Accountability Act) is a U.S. federal law designed to safeguard the privacy and security of individuals' health information, establishing standards for its protection and regulating its use in the healthcare industry.","homepage":"https://www.cdc.gov/phlp/publications/topic/hipaa.html","name":"The Health Insurance Portability and Accountability Act","observed_at":"2024-09-25T07:07:53.357771","status":"active"}]},"ComplianceFrameworks":{"type":"string","enum":["hipaa","iso27001","soc2t2"],"title":"ComplianceFrameworks"},"Countries":{"type":"string","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"],"title":"Countries"},"Country":{"properties":{"country_id":{"type":"string","title":"Country Id","description":"Country code by ISO 3166 alpha-2."},"continent":{"type":"string","title":"Continent","description":"Continent name."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["country_id","continent"],"title":"Country","description":"Country and continent mapping.\n\nAttributes:\n country_id (str): Country code by ISO 3166 alpha-2.\n continent (str): Continent name.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"continent":"Asia","country_id":"AE","observed_at":"2024-09-25T07:07:53.355940","status":"active"}]},"CountryBase":{"properties":{"country_id":{"type":"string","title":"Country Id","description":"Country code by ISO 3166 alpha-2."},"continent":{"type":"string","title":"Continent","description":"Continent name."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["country_id","continent"],"title":"CountryBase"},"Cpu":{"properties":{"manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Manufacturer"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cores"},"threads":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Threads"},"l1_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L1 Cache Size"},"l2_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L2 Cache Size"},"l3_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L3 Cache Size"},"microcode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Microcode"},"capabilities":{"items":{"type":"string"},"type":"array","title":"Capabilities","default":[]},"bugs":{"items":{"type":"string"},"type":"array","title":"Bugs","default":[]},"bogomips":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Bogomips"}},"type":"object","title":"Cpu","description":"CPU details."},"CpuAllocation":{"type":"string","enum":["Shared","Burstable","Dedicated"],"title":"CpuAllocation","description":"CPU allocation methods at cloud vendors."},"CpuArchitecture":{"type":"string","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"],"title":"CpuArchitecture","description":"CPU architectures."},"CpuFamilies":{"type":"string","enum":["ARMv8","Ampere Altra","EPYC","Xeon"],"title":"CpuFamilies"},"CpuManufacturers":{"type":"string","enum":["AMD","AWS","Ampere","Apple","Intel"],"title":"CpuManufacturers"},"DdrGeneration":{"type":"string","enum":["DDR3","DDR4","DDR5"],"title":"DdrGeneration","description":"Generation of the DDR SDRAM."},"Disk":{"properties":{"size":{"type":"integer","title":"Size","default":0},"storage_type":{"$ref":"#/components/schemas/StorageType"}},"type":"object","required":["storage_type"],"title":"Disk","description":"Disk definition based on size and storage type."},"Gpu":{"properties":{"manufacturer":{"type":"string","title":"Manufacturer"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"memory":{"type":"integer","title":"Memory"},"firmware_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firmware Version"},"bios_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bios Version"},"graphics_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Graphics Clock"},"sm_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sm Clock"},"mem_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Mem Clock"},"video_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Video Clock"}},"type":"object","required":["manufacturer","memory"],"title":"Gpu","description":"GPU accelerator details."},"GpuFamilies":{"type":"string","enum":["Ada Lovelace","Ampere","Gaudi","Hopper","Kepler","Maxwell","Radeon Pro Navi","Turing","Volta"],"title":"GpuFamilies"},"GpuManufacturers":{"type":"string","enum":["AMD","Habana","NVIDIA"],"title":"GpuManufacturers"},"GpuModels":{"type":"string","enum":["A100","A10G","H100","H200","HL-205","K80","L4","L40S","M60","T4","T4G","V100","V520"],"title":"GpuModels"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HealthcheckResponse":{"properties":{"packages":{"type":"object","title":"Packages"},"database_last_updated":{"type":"number","title":"Database Last Updated"},"database_hash":{"type":"string","title":"Database Hash"},"database_alembic_version":{"type":"string","title":"Database Alembic Version"}},"type":"object","required":["packages","database_last_updated","database_hash","database_alembic_version"],"title":"HealthcheckResponse","examples":[{"database_alembic_version":"bar","database_hash":"foo","database_last_updated":1727249161.445799,"packages":{"sparecores-crawler":"1.0.0"}}]},"IdNameAndDescriptionAndCategory":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"id":{"type":"string","title":"Id"},"category":{"type":"string","title":"Category"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"}},"type":"object","required":["name","description","id","category","unit"],"title":"IdNameAndDescriptionAndCategory"},"NameAndDescription":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"}},"type":"object","required":["name","description"],"title":"NameAndDescription"},"OrderDir":{"type":"string","enum":["asc","desc"],"title":"OrderDir"},"PriceTier":{"properties":{"lower":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Lower"},"upper":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Upper"},"price":{"type":"number","title":"Price"}},"type":"object","required":["lower","upper","price"],"title":"PriceTier","description":"Price tier definition.\n\nAs standard JSON does not support Inf, NaN etc values,\nthose should be passed as string, e.g. for the upper bound.\n\nSee [float_inf_to_str][sc_crawler.utils.float_inf_to_str] for\nconverting an infinite numeric value into \"Infinity\"."},"PriceUnit":{"type":"string","enum":["year","month","hour","GiB","GB","GB/month"],"title":"PriceUnit","description":"Supported units for the price tables."},"Region":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id"],"title":"Region","description":"Regions of Vendors.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n aliases (typing.List[str]): List of other commonly used names for the same Region.\n country_id (str): Reference to the Country, where the Region is located.\n state (typing.Optional[str]): Optional state/administrative area of the Region's location within the Country.\n city (typing.Optional[str]): Optional city name of the Region's location.\n address_line (typing.Optional[str]): Optional address line of the Region's location.\n zip_code (typing.Optional[str]): Optional ZIP code of the Region's location.\n lon (typing.Optional[float]): Longitude coordinate of the Region's known or approximate location.\n lat (typing.Optional[float]): Latitude coordinate of the Region's known or approximate location.\n founding_year (typing.Optional[int]): 4-digit year when the Region was founded.\n green_energy (typing.Optional[bool]): If the Region is 100% powered by renewable energy.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-25T06:19:49.171469","region_id":"af-south-1","status":"active","vendor_id":"aws"}]},"RegionBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id"],"title":"RegionBase"},"RegionBaseWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"country":{"$ref":"#/components/schemas/CountryBase"}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id","country"],"title":"RegionBaseWithPKs"},"RegionPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"vendor":{"$ref":"#/components/schemas/VendorBase"}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id","vendor"],"title":"RegionPKs","examples":[{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-25T06:19:49.171469","region_id":"af-south-1","status":"active","vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-25T07:07:53.361320","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws"}]},"Regions":{"type":"string","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"],"title":"Regions"},"Server":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"Server","description":"Server types.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n server_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n description (typing.Optional[str]): Short description.\n family (typing.Optional[str]): Server family, e.g. General-purpose machine (GCP), or M5g (AWS).\n vcpus (int): Default number of virtual CPUs (vCPU) of the server.\n hypervisor (typing.Optional[str]): Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated.\n cpu_allocation (CpuAllocation): Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated.\n cpu_cores (typing.Optional[int]): Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled.\n cpu_speed (typing.Optional[float]): Vendor-reported maximum CPU clock speed (GHz).\n cpu_architecture (CpuArchitecture): CPU architecture (arm64, arm64_mac, i386, or x86_64).\n cpu_manufacturer (typing.Optional[str]): The manufacturer of the primary processor, e.g. Intel or AMD.\n cpu_family (typing.Optional[str]): The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9.\n cpu_model (typing.Optional[str]): The model number of the primary processor, e.g. 9750H.\n cpu_l1_cache (typing.Optional[int]): L1 cache size (byte).\n cpu_l2_cache (typing.Optional[int]): L2 cache size (byte).\n cpu_l3_cache (typing.Optional[int]): L3 cache size (byte).\n cpu_flags (typing.List[str]): CPU features/flags.\n cpus (typing.List[sc_crawler.table_fields.Cpu]): JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.\n memory_amount (int): RAM amount (MiB).\n memory_generation (typing.Optional[sc_crawler.table_fields.DdrGeneration]): Generation of the DDR SDRAM, e.g. DDR4 or DDR5.\n memory_speed (typing.Optional[int]): DDR SDRAM clock rate (Mhz).\n memory_ecc (typing.Optional[bool]): If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption.\n gpu_count (int): Number of GPU accelerator(s).\n gpu_memory_min (typing.Optional[int]): Memory (MiB) allocated to the lowest-end GPU accelerator.\n gpu_memory_total (typing.Optional[int]): Overall memory (MiB) allocated to all the GPU accelerator(s).\n gpu_manufacturer (typing.Optional[str]): The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD.\n gpu_family (typing.Optional[str]): The product family of the primary GPU accelerator, e.g. Turing.\n gpu_model (typing.Optional[str]): The model number of the primary GPU accelerator, e.g. Tesla T4.\n gpus (typing.List[sc_crawler.table_fields.Gpu]): JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.\n storage_size (int): Overall size (GB) of the disk(s).\n storage_type (typing.Optional[sc_crawler.table_fields.StorageType]): Primary disk type, e.g. HDD, SSD, NVMe SSD, or network).\n storages (typing.List[sc_crawler.table_fields.Disk]): JSON array of disks attached to the server, including the size (MiB) and type of each disk.\n network_speed (typing.Optional[float]): The baseline network performance (Gbps) of the network card.\n inbound_traffic (float): Amount of complimentary inbound traffic (GB) per month.\n outbound_traffic (float): Amount of complimentary outbound traffic (GB) per month.\n ipv4 (int): Number of complimentary IPv4 address(es).\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-25T06:20:44.562240","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"}]},"ServerBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"ServerBase"},"ServerPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"},"vendor":{"$ref":"#/components/schemas/VendorBase"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description","vendor"],"title":"ServerPKs","examples":[{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-25T06:20:44.562240","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"}]},"ServerPKsWithPrices":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"prices":{"items":{"$ref":"#/components/schemas/ServerPricePKs"},"type":"array","title":"Prices"},"benchmark_scores":{"items":{"$ref":"#/components/schemas/BenchmarkScoreBase"},"type":"array","title":"Benchmark Scores"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description","vendor","prices","benchmark_scores"],"title":"ServerPKsWithPrices","examples":[{"api_reference":"a1.2xlarge","benchmark_scores":[{"benchmark_id":"geekbench:hdr","config_fields":{"cores":"Single-Core or Multi-Core peformance tests.","framework_version":"Version number of geekbench."},"description":"Blends six 16MP SDR photos to create a single HDR photo, using a recovery process and radiance map construction (Debevec and Malik 1997), and a tone mapping algorithm (Reinhard and Devlin 2005).The score is calibrated against a baseline score of 2,500 (Dell Precision 3460 with a Core i7-12700 processor) as per the Geekbench 6 Benchmark Internals.","framework":"geekbench","higher_is_better":true,"measurement":"hdr","name":"Geekbench: HDR","observed_at":"2024-09-25T07:07:53.359891","status":"active"}],"cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-25T06:20:44.562240","outbound_traffic":0.0,"price":7,"prices":[{"allocation":"spot","currency":"USD","observed_at":"2024-09-24T21:03:27","operating_system":"Linux","price":0.0751,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-25T06:19:49.171469","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-west-2","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-25T06:19:52.561433","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"usw2-az3"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-25T02:47:37","operating_system":"Linux","price":0.0757,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-25T06:19:49.171469","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-west-2","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-25T06:19:52.561433","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"usw2-az2"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-25T05:27:06","operating_system":"Linux","price":0.0942,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-25T06:19:49.171469","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"eu-central-1","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-25T06:19:52.561433","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"euc1-az2"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-25T02:46:09","operating_system":"Linux","price":0.0957,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-25T06:19:49.171469","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"ap-northeast-1","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-25T06:19:52.561433","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"apne1-az4"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-25T05:35:23","operating_system":"Linux","price":0.0988,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-25T06:19:49.171469","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-east-1","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-25T06:19:52.561433","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"use1-az2"}],"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-25T07:07:53.361320","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws"}]},"ServerPrice":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"allOf":[{"$ref":"#/components/schemas/Allocation"}],"description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price"],"title":"ServerPrice","description":"Server type prices per Region and Allocation method.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Reference to the Region.\n zone_id (str): Reference to the Zone.\n server_id (str): Reference to the Server.\n operating_system (str): Operating System.\n allocation (Allocation): Allocation method, e.g. on-demand or spot.\n unit (PriceUnit): Billing unit of the pricing model.\n price (float): Actual price of a billing unit.\n price_upfront (float): Price to be paid when setting up the resource.\n price_tiered (typing.List[sc_crawler.table_fields.PriceTier]): List of pricing tiers with min/max thresholds and actual prices.\n currency (str): Currency of the prices.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation."},"ServerPricePKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"allOf":[{"$ref":"#/components/schemas/Allocation"}],"description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBase"},"zone":{"$ref":"#/components/schemas/ZoneBase"}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price","region","zone"],"title":"ServerPricePKs"},"ServerPriceWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"allOf":[{"$ref":"#/components/schemas/Allocation"}],"description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"vendor":{"$ref":"#/components/schemas/VendorBase"},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"zone":{"$ref":"#/components/schemas/ZoneBase"},"server":{"$ref":"#/components/schemas/ServerWithScore"}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price","vendor","region","zone","server"],"title":"ServerPriceWithPKs","examples":[{"allocation":"spot","currency":"USD","observed_at":"2024-09-24T21:03:27","operating_system":"Linux","price":0.0751,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country":{"continent":"Asia","country_id":"AE","observed_at":"2024-09-25T07:07:53.355940","status":"active"},"country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-25T06:19:49.171469","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-west-2","server":{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-25T06:20:44.562240","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"},"server_id":"a1.2xlarge","status":"active","unit":"hour","vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-25T07:07:53.361320","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-25T06:19:52.561433","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"usw2-az3"}]},"ServerTableMetaData":{"properties":{"table":{"$ref":"#/components/schemas/NameAndDescription"},"fields":{"items":{"$ref":"#/components/schemas/IdNameAndDescriptionAndCategory"},"type":"array","title":"Fields"}},"type":"object","required":["table","fields"],"title":"ServerTableMetaData"},"ServerWithScore":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"ServerWithScore"},"Status":{"type":"string","enum":["active","inactive"],"title":"Status","description":"Last known status of a resource, e.g. active or inactive."},"Storage":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"storage_id":{"type":"string","title":"Storage Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"storage_type":{"allOf":[{"$ref":"#/components/schemas/StorageType"}],"description":"High-level category of the storage, e.g. HDD or SDD."},"max_iops":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Iops","description":"Maximum Input/Output Operations Per Second."},"max_throughput":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Throughput","description":"Maximum Throughput (MiB/s)."},"min_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Size","description":"Minimum required size (GiB)."},"max_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Size","description":"Maximum possible size (GiB)."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","storage_id","name","description","storage_type"],"title":"Storage","description":"Flexible storage options that can be attached to a Server.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n storage_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n description (typing.Optional[str]): Short description.\n storage_type (StorageType): High-level category of the storage, e.g. HDD or SDD.\n max_iops (typing.Optional[int]): Maximum Input/Output Operations Per Second.\n max_throughput (typing.Optional[int]): Maximum Throughput (MiB/s).\n min_size (typing.Optional[int]): Minimum required size (GiB).\n max_size (typing.Optional[int]): Maximum possible size (GiB).\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"description":"SSD-backed","max_iops":16000,"max_size":16384,"max_throughput":250,"min_size":1,"name":"General Purpose","observed_at":"2024-09-25T06:23:07.459043","status":"active","storage_id":"gp2","storage_type":"ssd","vendor_id":"aws"}]},"StorageBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"storage_id":{"type":"string","title":"Storage Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"storage_type":{"allOf":[{"$ref":"#/components/schemas/StorageType"}],"description":"High-level category of the storage, e.g. HDD or SDD."},"max_iops":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Iops","description":"Maximum Input/Output Operations Per Second."},"max_throughput":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Throughput","description":"Maximum Throughput (MiB/s)."},"min_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Size","description":"Minimum required size (GiB)."},"max_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Size","description":"Maximum possible size (GiB)."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","storage_id","name","description","storage_type"],"title":"StorageBase"},"StoragePriceWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"storage_id":{"type":"string","title":"Storage Id","description":"Reference to the Storage."},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"storage":{"$ref":"#/components/schemas/StorageBase"}},"type":"object","required":["vendor_id","region_id","storage_id","unit","price","region","vendor","storage"],"title":"StoragePriceWithPKs"},"StorageType":{"type":"string","enum":["hdd","ssd","nvme ssd","network"],"title":"StorageType","description":"Type of a storage, e.g. HDD or SSD."},"TrafficDirection":{"type":"string","enum":["inbound","outbound"],"title":"TrafficDirection","description":"Direction of the network traffic."},"TrafficPriceWithPKsWithMonthlyTraffic":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"direction":{"allOf":[{"$ref":"#/components/schemas/TrafficDirection"}],"description":"Direction of the traffic: inbound or outbound."},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"price_monthly_traffic":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price Monthly Traffic"}},"type":"object","required":["vendor_id","region_id","direction","unit","price","region","vendor"],"title":"TrafficPriceWithPKsWithMonthlyTraffic"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"Vendor":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Vendor's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage of the Vendor."},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Vendor's main headquarter is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Vendor's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Vendor's main location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Vendor's main location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Vendor's main location."},"founding_year":{"type":"integer","title":"Founding Year","description":"4-digit year when the Vendor was founded."},"status_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Page","description":"Public status page of the Vendor."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","name","country_id","founding_year"],"title":"Vendor","description":"Compute resource vendors, such as cloud and server providers.\n\n Examples:\n >>> from sc_crawler.tables import Vendor\n >>> from sc_crawler.lookup import countries\n >>> aws = Vendor(vendor_id='aws', name='Amazon Web Services', homepage='https://aws.amazon.com', country=countries[\"US\"], founding_year=2002)\n >>> aws\n Vendor(vendor_id='aws'...\n >>> from sc_crawler import vendors\n >>> vendors.aws\n Vendor(vendor_id='aws'...\n \n\nAttributes:\n vendor_id (str): Unique identifier.\n name (str): Human-friendly name.\n logo (typing.Optional[str]): Publicly accessible URL to the image of the Vendor's logo.\n homepage (typing.Optional[str]): Public homepage of the Vendor.\n country_id (str): Reference to the Country, where the Vendor's main headquarter is located.\n state (typing.Optional[str]): Optional state/administrative area of the Vendor's location within the Country.\n city (typing.Optional[str]): Optional city name of the Vendor's main location.\n address_line (typing.Optional[str]): Optional address line of the Vendor's main location.\n zip_code (typing.Optional[str]): Optional ZIP code of the Vendor's main location.\n founding_year (int): 4-digit year when the Vendor was founded.\n status_page (typing.Optional[str]): Public status page of the Vendor.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-25T07:07:53.361320","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"}]},"VendorBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Vendor's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage of the Vendor."},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Vendor's main headquarter is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Vendor's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Vendor's main location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Vendor's main location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Vendor's main location."},"founding_year":{"type":"integer","title":"Founding Year","description":"4-digit year when the Vendor was founded."},"status_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Page","description":"Public status page of the Vendor."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","name","country_id","founding_year"],"title":"VendorBase"},"Vendors":{"type":"string","enum":["aws","azure","gcp","hcloud"],"title":"Vendors"},"Zone":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","name","api_reference","display_name"],"title":"Zone","description":"Availability zones of Regions.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Reference to the Region.\n zone_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-25T06:19:52.561433","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"}]},"ZoneBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","name","api_reference","display_name"],"title":"ZoneBase"}}}} From 9729f46af38f8e75c317556a52d3c9223d95e35e Mon Sep 17 00:00:00 2001 From: Palabola Date: Wed, 25 Sep 2024 09:44:24 +0200 Subject: [PATCH 39/66] update vpcus_max handling --- .../components/search-bar/search-bar.component.html | 12 ++++++++++-- .../components/search-bar/search-bar.component.ts | 12 ------------ 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/src/app/components/search-bar/search-bar.component.html b/src/app/components/search-bar/search-bar.component.html index d8714962..c16e5d53 100644 --- a/src/app/components/search-bar/search-bar.component.html +++ b/src/app/components/search-bar/search-bar.component.html @@ -33,8 +33,16 @@
    -
    {{parameter.modelValue}} {{parameter.schema.unit}}
    -
    - {{parameter.schema.unit}}
    +
    {{parameter.modelValue}} {{parameter.schema.unit}}
    +
    ∞ {{parameter.schema.unit}}
    { let value = this.query[item.name] || item.schema.default || null; - //optional integer array - let integerAnyOf = item.schema.anyOf?.find((item: any) => item.type === 'integer'); - if(integerAnyOf) { - if(integerAnyOf.minimum && integerAnyOf.maximum) { - item.schema.minimum = 0; // can be null - item.schema.maximum = integerAnyOf.maximum; - if(value === null) { - value = 0; - } - } - } - // if type is a string try split by , if(typeof this.query[item.name] === 'string') { value = this.query[item.name].indexOf(',') !== -1 ? this.query[item.name].split(',') : this.query[item.name]; From d66ca3980318f6ef631eed0c1f315c40101c3cb0 Mon Sep 17 00:00:00 2001 From: Palabola Date: Thu, 26 Sep 2024 12:12:05 +0200 Subject: [PATCH 40/66] use specific additional values to define min-max range slider limits and 'ignore' value --- sdk/ServerPricesRoute.ts | 4 +--- sdk/ServersRoute.ts | 5 +---- sdk/data-contracts.ts | 9 ++------- sdk/openapi.json | 2 +- .../components/search-bar/search-bar.component.html | 10 +++++----- src/app/components/search-bar/search-bar.component.ts | 11 +++++++++-- 6 files changed, 19 insertions(+), 22 deletions(-) diff --git a/sdk/ServerPricesRoute.ts b/sdk/ServerPricesRoute.ts index ddd3ca15..fd876197 100644 --- a/sdk/ServerPricesRoute.ts +++ b/sdk/ServerPricesRoute.ts @@ -38,10 +38,8 @@ export namespace ServerPrices { /** * Maximum vCPUs * Maximum number of virtual CPUs. - * @min 1 - * @max 256 */ - vcpus_max?: number; + vcpus_max?: number | null; /** * Processor architecture * Processor architecture. diff --git a/sdk/ServersRoute.ts b/sdk/ServersRoute.ts index 637ecad0..e37e02c0 100644 --- a/sdk/ServersRoute.ts +++ b/sdk/ServersRoute.ts @@ -38,11 +38,8 @@ export namespace Servers { /** * Maximum vCPUs * Maximum number of virtual CPUs. - * @min 1 - * @max 256 - * @default 256 */ - vcpus_max?: number; + vcpus_max?: number | null; /** * Processor architecture * Processor architecture. diff --git a/sdk/data-contracts.ts b/sdk/data-contracts.ts index e640f36b..a4801594 100644 --- a/sdk/data-contracts.ts +++ b/sdk/data-contracts.ts @@ -3205,11 +3205,8 @@ export interface SearchServersServersGetParams { /** * Maximum vCPUs * Maximum number of virtual CPUs. - * @min 1 - * @max 256 - * @default 256 */ - vcpus_max?: number; + vcpus_max?: number | null; /** * Processor architecture * Processor architecture. @@ -3349,10 +3346,8 @@ export interface SearchServerPricesServerPricesGetParams { /** * Maximum vCPUs * Maximum number of virtual CPUs. - * @min 1 - * @max 256 */ - vcpus_max?: number; + vcpus_max?: number | null; /** * Processor architecture * Processor architecture. diff --git a/sdk/openapi.json b/sdk/openapi.json index f927e5f1..ccd3cda3 100644 --- a/sdk/openapi.json +++ b/sdk/openapi.json @@ -1 +1 @@ -{"openapi":"3.1.0","info":{"title":"Spare Cores (SC) Keeper","description":"\nAPI to search and serve data collected on cloud compute resources.\n\n## Licensing\n\nThis is a free service provided by the Spare Cores team, without any warranty.\nThe source code of the API is licensed under MPL-2.0, find more details at\n.\n\n## References\n\n- Spare Cores: \n- SC Keeper: \n- SC Crawler: \n- SC Data: \n","termsOfService":"https://sparecores.com/legal/terms-of-service","contact":{"name":"Spare Cores Team","email":"social@sparecores.com"},"license":{"name":"Mozilla Public License 2.0 (MPL 2.0)","url":"http://mozilla.org/MPL/2.0/"},"version":"0.3.0"},"paths":{"/healthcheck":{"get":{"tags":["Administrative endpoints"],"summary":"Healthcheck","description":"Quickly return package and database version information.","operationId":"healthcheck_healthcheck_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthcheckResponse"}}}}}}},"/table/benchmark":{"get":{"tags":["Table dumps"],"summary":"Table Benchmark","description":"Return the Benchmark table as-is, without filtering options or relationships resolved.","operationId":"table_benchmark_table_benchmark_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Benchmark"},"type":"array","title":"Response Table Benchmark Table Benchmark Get"}}}}}}},"/table/country":{"get":{"tags":["Table dumps"],"summary":"Table Country","description":"Return the Country table as-is, without filtering options or relationships resolved.","operationId":"table_country_table_country_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Country"},"type":"array","title":"Response Table Country Table Country Get"}}}}}}},"/table/compliance_framework":{"get":{"tags":["Table dumps"],"summary":"Table Compliance Frameworks","description":"Return the ComplianceFramework table as-is, without filtering options or relationships resolved.","operationId":"table_compliance_frameworks_table_compliance_framework_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ComplianceFramework"},"type":"array","title":"Response Table Compliance Frameworks Table Compliance Framework Get"}}}}}}},"/table/vendor":{"get":{"tags":["Table dumps"],"summary":"Table Vendor","description":"Return the Vendor table as-is, without filtering options or relationships resolved.","operationId":"table_vendor_table_vendor_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Vendor"},"type":"array","title":"Response Table Vendor Table Vendor Get"}}}}}}},"/table/region":{"get":{"tags":["Table dumps"],"summary":"Table Region","description":"Return the Region table as-is, without filtering options or relationships resolved.","operationId":"table_region_table_region_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Region"},"type":"array","title":"Response Table Region Table Region Get"}}}}}}},"/table/zone":{"get":{"tags":["Table dumps"],"summary":"Table Zone","description":"Return the Zone table as-is, without filtering options or relationships resolved.","operationId":"table_zone_table_zone_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Zone"},"type":"array","title":"Response Table Zone Table Zone Get"}}}}}}},"/table/server":{"get":{"tags":["Table dumps"],"summary":"Table Server","description":"Return the Server table as-is, without filtering options or relationships resolved.","operationId":"table_server_table_server_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Server"},"type":"array","title":"Response Table Server Table Server Get"}}}}}}},"/table/storage":{"get":{"tags":["Table dumps"],"summary":"Table Storage","description":"Return the Storage table as-is, without filtering options or relationships resolved.","operationId":"table_storage_table_storage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Storage"},"type":"array","title":"Response Table Storage Table Storage Get"}}}}}}},"/table/server/meta":{"get":{"tags":["Table metadata"],"summary":"Table Metadata Server","description":"Server table and column names and comments.","operationId":"table_metadata_server_table_server_meta_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerTableMetaData"}}}}}}},"/server/{vendor}/{server}":{"get":{"tags":["Server Details"],"summary":"Get Server","description":"Query a single server by its vendor id and either the server or, or its API reference.\n\nReturn dictionary includes all server fields, along\nwith the current prices per zone, and\nthe available benchmark scores.","operationId":"get_server_server__vendor___server__get","deprecated":true,"parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"Vendor ID.","title":"Vendor"},"description":"Vendor ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"Server ID or API reference.","title":"Server"},"description":"Server ID or API reference."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","title":"Currency"},"description":"Currency used for prices."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerPKsWithPrices"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v2/server/{vendor}/{server}":{"get":{"tags":["Server Details"],"summary":"Get Server Without Relations","description":"Query a single server by its vendor id and either the server id or its API reference.","operationId":"get_server_without_relations_v2_server__vendor___server__get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"A Vendor's ID.","title":"Vendor"},"description":"A Vendor's ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"A Server's ID or API reference.","title":"Server"},"description":"A Server's ID or API reference."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerBase"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}/similar_servers/{by}/{num}":{"get":{"tags":["Server Details"],"summary":"Get Similar Servers","description":"Search similar servers to the provided one.\n\nThe \"family\" method returns all servers from the same family of\nthe same vendor.\n\nThe \"specs\" approach will prioritize the number of\nGPUs, then CPUs, lastly the amount of memory.\n\nThe \"score\" method will find the servers with the closest\nperformance using the multi-core SCore.","operationId":"get_similar_servers_server__vendor___server__similar_servers__by___num__get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"Vendor ID.","title":"Vendor"},"description":"Vendor ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"Server ID or API reference.","title":"Server"},"description":"Server ID or API reference."},{"name":"by","in":"path","required":true,"schema":{"enum":["family","specs","score"],"type":"string","description":"Algorithm to look for similar servers.","title":"By"},"description":"Algorithm to look for similar servers."},{"name":"num","in":"path","required":true,"schema":{"type":"integer","maximum":100,"description":"Number of servers to get.","title":"Num"},"description":"Number of servers to get."},{"name":"benchmark_id","in":"query","required":false,"schema":{"type":"string","description":"Benchmark id to use as the main score for the server.","default":"stress_ng:cpu_all","title":"Benchmark Id"},"description":"Benchmark id to use as the main score for the server."},{"name":"benchmark_config","in":"query","required":false,"schema":{"type":"string","description":"Benchmark id to use as the main score for the server.","default":"","title":"Benchmark Config"},"description":"Benchmark id to use as the main score for the server."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPKs"},"title":"Response Get Similar Servers Server Vendor Server Similar Servers By Num Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}/prices":{"get":{"tags":["Server Details"],"summary":"Get Server Prices","description":"Query the current prices of a single server by its vendor id and server id.","operationId":"get_server_prices_server__vendor___server__prices_get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"A Vendor's ID.","title":"Vendor"},"description":"A Vendor's ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"A Server's ID or API reference.","title":"Server"},"description":"A Server's ID or API reference."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","title":"Currency"},"description":"Currency used for prices."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPrice"},"title":"Response Get Server Prices Server Vendor Server Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}/benchmarks":{"get":{"tags":["Server Details"],"summary":"Get Server Benchmarks","description":"Query the current benchmark scores of a single server.","operationId":"get_server_benchmarks_server__vendor___server__benchmarks_get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"A Vendor's ID.","title":"Vendor"},"description":"A Vendor's ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"A Server's ID or API reference.","title":"Server"},"description":"A Server's ID or API reference."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BenchmarkScore"},"title":"Response Get Server Benchmarks Server Vendor Server Benchmarks Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_server_filters":{"get":{"tags":["AI"],"summary":"Assist Server Filters","description":"Extract Server JSON filters from freetext.","operationId":"assist_server_filters_ai_assist_server_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Server Filters Ai Assist Server Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_server_price_filters":{"get":{"tags":["AI"],"summary":"Assist Server Price Filters","description":"Extract ServerPrice JSON filters from freetext.","operationId":"assist_server_price_filters_ai_assist_server_price_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Server Price Filters Ai Assist Server Price Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_storage_price_filters":{"get":{"tags":["AI"],"summary":"Assist Storage Price Filters","description":"Extract StoragePrice JSON filters from freetext.","operationId":"assist_storage_price_filters_ai_assist_storage_price_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Storage Price Filters Ai Assist Storage Price Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_traffic_price_filters":{"get":{"tags":["AI"],"summary":"Assist Traffic Price Filters","description":"Extract TrafficPrice JSON filters from freetext.","operationId":"assist_traffic_price_filters_ai_assist_traffic_price_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Traffic Price Filters Ai Assist Traffic Price Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/regions":{"get":{"tags":["Query Resources"],"summary":"Search Regions","operationId":"search_regions_regions_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RegionPKs"},"title":"Response Search Regions Regions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/servers":{"get":{"tags":["Query Resources"],"summary":"Search Servers","operationId":"search_servers_servers_get","parameters":[{"name":"partial_name_or_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partial name or id","description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name.","category_id":"basic"},"description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name."},{"name":"vcpus_min","in":"query","required":false,"schema":{"type":"integer","maximum":256,"minimum":1,"title":"Minimum vCPUs","description":"Minimum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","default":1},"description":"Minimum number of virtual CPUs."},{"name":"vcpus_max","in":"query","required":false,"schema":{"type":"integer","maximum":256,"minimum":1,"title":"Maximum vCPUs","description":"Maximum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","default":256},"description":"Maximum number of virtual CPUs."},{"name":"architecture","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuArchitecture"}},{"type":"null"}],"title":"Processor architecture","description":"Processor architecture.","category_id":"processor","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"]},"description":"Processor architecture."},{"name":"cpu_manufacturer","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuManufacturers"}},{"type":"null"}],"title":"Processor manufacturer","category_id":"processor","enum":["AMD","AWS","Ampere","Apple","Intel"]}},{"name":"cpu_family","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuFamilies"}},{"type":"null"}],"title":"Processor family","category_id":"processor","enum":["ARMv8","Ampere Altra","EPYC","Xeon"]}},{"name":"benchmark_score_stressng_cpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"SCore","description":"Minimum stress-ng CPU workload score.","category_id":"processor"},"description":"Minimum stress-ng CPU workload score."},{"name":"memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum memory","description":"Minimum amount of memory in GBs.","category_id":"memory","unit":"GB","step":0.1},"description":"Minimum amount of memory in GBs."},{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active only","description":"Filter for active servers only.","category_id":"basic","default":true},"description":"Filter for active servers only."},{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"storage_size","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs).","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs)."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"gpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"GPU count","description":"Minimum number of GPUs.","category_id":"gpu","unit":"GPUs"},"description":"Minimum number of GPUs."},{"name":"gpu_memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum GPU memory","description":"Minimum amount of GPU memory (GB) in each GPU.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of GPU memory (GB) in each GPU."},{"name":"gpu_memory_total","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total GPU memory","description":"Minimum amount of total GPU memory (GBs) in all GPUs.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of total GPU memory (GBs) in all GPUs."},{"name":"gpu_manufacturer","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/GpuManufacturers"}},{"type":"null"}],"title":"GPU manufacturer","category_id":"gpu","enum":["AMD","Habana","NVIDIA"]}},{"name":"gpu_family","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/GpuFamilies"}},{"type":"null"}],"title":"GPU family","category_id":"gpu","enum":["Ada Lovelace","Ampere","Gaudi","Hopper","Kepler","Maxwell","Radeon Pro Navi","Turing","Volta"]}},{"name":"gpu_model","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/GpuModels"}},{"type":"null"}],"title":"GPU model","category_id":"gpu","enum":["A100","A10G","H100","H200","HL-205","K80","L4","L40S","M60","T4","T4G","V100","V520"]}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited.","default":25,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"vcpus","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPKs"},"title":"Response Search Servers Servers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server_prices":{"get":{"tags":["Query Resources"],"summary":"Search Server Prices","operationId":"search_server_prices_server_prices_get","parameters":[{"name":"partial_name_or_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partial name or id","description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name.","category_id":"basic"},"description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name."},{"name":"vcpus_min","in":"query","required":false,"schema":{"type":"integer","maximum":256,"minimum":1,"title":"Minimum vCPUs","description":"Minimum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","default":1},"description":"Minimum number of virtual CPUs."},{"name":"vcpus_max","in":"query","required":false,"schema":{"type":"integer","maximum":256,"minimum":1,"title":"Maximum vCPUs","description":"Maximum number of virtual CPUs.","category_id":"processor","unit":"vCPUs"},"description":"Maximum number of virtual CPUs."},{"name":"architecture","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuArchitecture"}},{"type":"null"}],"title":"Processor architecture","description":"Processor architecture.","category_id":"processor","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"]},"description":"Processor architecture."},{"name":"cpu_manufacturer","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuManufacturers"}},{"type":"null"}],"title":"Processor manufacturer","category_id":"processor","enum":["AMD","AWS","Ampere","Apple","Intel"]}},{"name":"cpu_family","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuFamilies"}},{"type":"null"}],"title":"Processor family","category_id":"processor","enum":["ARMv8","Ampere Altra","EPYC","Xeon"]}},{"name":"benchmark_score_stressng_cpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"SCore","description":"Minimum stress-ng CPU workload score.","category_id":"processor"},"description":"Minimum stress-ng CPU workload score."},{"name":"memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum memory","description":"Minimum amount of memory in GBs.","category_id":"memory","unit":"GB","step":0.1},"description":"Minimum amount of memory in GBs."},{"name":"price_max","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Maximum price","description":"Maximum price (USD/hr).","category_id":"price","step":0.0001},"description":"Maximum price (USD/hr)."},{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active only","description":"Filter for active servers only.","category_id":"basic","default":true},"description":"Filter for active servers only."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"allocation","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/Allocation"},{"type":"null"}],"title":"Allocation","description":"Server allocation method.","enum":["ondemand","reserved","spot"]},"description":"Server allocation method."},{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"Region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"storage_size","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs).","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs)."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Countries"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"gpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"GPU count","description":"Minimum number of GPUs.","category_id":"gpu","unit":"GPUs"},"description":"Minimum number of GPUs."},{"name":"gpu_memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum GPU memory","description":"Minimum amount of GPU memory (GB) in each GPU.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of GPU memory (GB) in each GPU."},{"name":"gpu_memory_total","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total GPU memory","description":"Minimum amount of total GPU memory (GBs) in all GPUs.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of total GPU memory (GBs) in all GPUs."},{"name":"gpu_manufacturer","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/GpuManufacturers"}},{"type":"null"}],"title":"GPU manufacturer","category_id":"gpu","enum":["AMD","Habana","NVIDIA"]}},{"name":"gpu_family","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/GpuFamilies"}},{"type":"null"}],"title":"GPU family","category_id":"gpu","enum":["Ada Lovelace","Ampere","Gaudi","Hopper","Kepler","Maxwell","Radeon Pro Navi","Turing","Volta"]}},{"name":"gpu_model","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/GpuModels"}},{"type":"null"}],"title":"GPU model","category_id":"gpu","enum":["A100","A10G","H100","H200","HL-205","K80","L4","L40S","M60","T4","T4G","V100","V520"]}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":250,"description":"Maximum number of results.","default":25,"title":"Limit"},"description":"Maximum number of results."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","default":"USD","title":"Currency"},"description":"Currency used for prices."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPriceWithPKs"},"title":"Response Search Server Prices Server Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/storage_prices":{"get":{"tags":["Query Resources"],"summary":"Search Storage Prices","operationId":"search_storage_prices_storage_prices_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"storage_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs).","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs)."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"Region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Countries"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited.","default":10,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","default":"USD","title":"Currency"},"description":"Currency used for prices."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StoragePriceWithPKs"},"title":"Response Search Storage Prices Storage Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/traffic_prices":{"get":{"tags":["Query Resources"],"summary":"Search Traffic Prices","operationId":"search_traffic_prices_traffic_prices_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"Region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Countries"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"direction","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/TrafficDirection"}},{"type":"null"}],"title":"Direction","description":"Direction of the Internet traffic.","category_id":"traffic","enum":["inbound","outbound"],"default":["outbound"]},"description":"Direction of the Internet traffic."},{"name":"monthly_traffic","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Monthly Overall Traffic","description":"Overall amount of monthly traffic (GBs).","category_id":"traffic","unit":"GB","step":1,"default":1},"description":"Overall amount of monthly traffic (GBs)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited.","default":10,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","default":"USD","title":"Currency"},"description":"Currency used for prices."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TrafficPriceWithPKsWithMonthlyTraffic"},"title":"Response Search Traffic Prices Traffic Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Allocation":{"type":"string","enum":["ondemand","reserved","spot"],"title":"Allocation","description":"Server allocation options."},"Benchmark":{"properties":{"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Unique identifier of a specific Benchmark."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"framework":{"type":"string","title":"Framework","description":"The name of the benchmark framework/software/tool used."},"config_fields":{"type":"object","title":"Config Fields","description":"A dictionary of descriptions on the framework-specific config options, e.g. {\"bandwidth\": \"Memory amount to use for compression in MB.\"}.","default":{}},"measurement":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Measurement","description":"The name of measurement recoreded in the benchmark."},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit","description":"Optional unit of measurement for the benchmark score."},"higher_is_better":{"type":"boolean","title":"Higher Is Better","description":"If higher benchmark score means better performance, or vica versa.","default":true},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["benchmark_id","name","description","framework"],"title":"Benchmark","description":"Benchmark scenario definitions.\n\nAttributes:\n benchmark_id (str): Unique identifier of a specific Benchmark.\n name (str): Human-friendly name.\n description (typing.Optional[str]): Short description.\n framework (str): The name of the benchmark framework/software/tool used.\n config_fields (dict): A dictionary of descriptions on the framework-specific config options, e.g. {\"bandwidth\": \"Memory amount to use for compression in MB.\"}.\n measurement (typing.Optional[str]): The name of measurement recoreded in the benchmark.\n unit (typing.Optional[str]): Optional unit of measurement for the benchmark score.\n higher_is_better (bool): If higher benchmark score means better performance, or vica versa.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"benchmark_id":"geekbench:hdr","config_fields":{"cores":"Single-Core or Multi-Core peformance tests.","framework_version":"Version number of geekbench."},"description":"Blends six 16MP SDR photos to create a single HDR photo, using a recovery process and radiance map construction (Debevec and Malik 1997), and a tone mapping algorithm (Reinhard and Devlin 2005).The score is calibrated against a baseline score of 2,500 (Dell Precision 3460 with a Core i7-12700 processor) as per the Geekbench 6 Benchmark Internals.","framework":"geekbench","higher_is_better":true,"measurement":"hdr","name":"Geekbench: HDR","observed_at":"2024-09-25T07:07:53.359891","status":"active"}]},"BenchmarkScore":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Reference to the Benchmark."},"config":{"type":"object","title":"Config","description":"Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}","default":{}},"score":{"type":"number","title":"Score","description":"The resulting score of the benchmark."},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Optional note, comment or context on the benchmark score."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","benchmark_id","score"],"title":"BenchmarkScore","description":"Results of running Benchmark scenarios on Servers.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n server_id (str): Reference to the Server.\n benchmark_id (str): Reference to the Benchmark.\n config (sc_crawler.table_fields.HashableDict | dict): Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}\n score (float): The resulting score of the benchmark.\n note (typing.Optional[str]): Optional note, comment or context on the benchmark score.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation."},"BenchmarkScoreBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Reference to the Benchmark."},"config":{"type":"object","title":"Config","description":"Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}","default":{}},"score":{"type":"number","title":"Score","description":"The resulting score of the benchmark."},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Optional note, comment or context on the benchmark score."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","benchmark_id","score"],"title":"BenchmarkScoreBase"},"ComplianceFramework":{"properties":{"compliance_framework_id":{"type":"string","title":"Compliance Framework Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"abbreviation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abbreviation","description":"Short abbreviation of the Framework name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Description of the framework in a few paragrahs, outlining key features and characteristics for reference."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Framework's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage with more information on the Framework."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["compliance_framework_id","name","abbreviation","description"],"title":"ComplianceFramework","description":"List of Compliance Frameworks, such as HIPAA or SOC 2 Type 1.\n\nAttributes:\n compliance_framework_id (str): Unique identifier.\n name (str): Human-friendly name.\n abbreviation (typing.Optional[str]): Short abbreviation of the Framework name.\n description (typing.Optional[str]): Description of the framework in a few paragrahs, outlining key features and characteristics for reference.\n logo (typing.Optional[str]): Publicly accessible URL to the image of the Framework's logo.\n homepage (typing.Optional[str]): Public homepage with more information on the Framework.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"abbreviation":"HIPAA","compliance_framework_id":"hipaa","description":"HIPAA (Health Insurance Portability and Accountability Act) is a U.S. federal law designed to safeguard the privacy and security of individuals' health information, establishing standards for its protection and regulating its use in the healthcare industry.","homepage":"https://www.cdc.gov/phlp/publications/topic/hipaa.html","name":"The Health Insurance Portability and Accountability Act","observed_at":"2024-09-25T07:07:53.357771","status":"active"}]},"ComplianceFrameworks":{"type":"string","enum":["hipaa","iso27001","soc2t2"],"title":"ComplianceFrameworks"},"Countries":{"type":"string","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"],"title":"Countries"},"Country":{"properties":{"country_id":{"type":"string","title":"Country Id","description":"Country code by ISO 3166 alpha-2."},"continent":{"type":"string","title":"Continent","description":"Continent name."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["country_id","continent"],"title":"Country","description":"Country and continent mapping.\n\nAttributes:\n country_id (str): Country code by ISO 3166 alpha-2.\n continent (str): Continent name.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"continent":"Asia","country_id":"AE","observed_at":"2024-09-25T07:07:53.355940","status":"active"}]},"CountryBase":{"properties":{"country_id":{"type":"string","title":"Country Id","description":"Country code by ISO 3166 alpha-2."},"continent":{"type":"string","title":"Continent","description":"Continent name."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["country_id","continent"],"title":"CountryBase"},"Cpu":{"properties":{"manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Manufacturer"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cores"},"threads":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Threads"},"l1_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L1 Cache Size"},"l2_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L2 Cache Size"},"l3_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L3 Cache Size"},"microcode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Microcode"},"capabilities":{"items":{"type":"string"},"type":"array","title":"Capabilities","default":[]},"bugs":{"items":{"type":"string"},"type":"array","title":"Bugs","default":[]},"bogomips":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Bogomips"}},"type":"object","title":"Cpu","description":"CPU details."},"CpuAllocation":{"type":"string","enum":["Shared","Burstable","Dedicated"],"title":"CpuAllocation","description":"CPU allocation methods at cloud vendors."},"CpuArchitecture":{"type":"string","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"],"title":"CpuArchitecture","description":"CPU architectures."},"CpuFamilies":{"type":"string","enum":["ARMv8","Ampere Altra","EPYC","Xeon"],"title":"CpuFamilies"},"CpuManufacturers":{"type":"string","enum":["AMD","AWS","Ampere","Apple","Intel"],"title":"CpuManufacturers"},"DdrGeneration":{"type":"string","enum":["DDR3","DDR4","DDR5"],"title":"DdrGeneration","description":"Generation of the DDR SDRAM."},"Disk":{"properties":{"size":{"type":"integer","title":"Size","default":0},"storage_type":{"$ref":"#/components/schemas/StorageType"}},"type":"object","required":["storage_type"],"title":"Disk","description":"Disk definition based on size and storage type."},"Gpu":{"properties":{"manufacturer":{"type":"string","title":"Manufacturer"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"memory":{"type":"integer","title":"Memory"},"firmware_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firmware Version"},"bios_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bios Version"},"graphics_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Graphics Clock"},"sm_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sm Clock"},"mem_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Mem Clock"},"video_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Video Clock"}},"type":"object","required":["manufacturer","memory"],"title":"Gpu","description":"GPU accelerator details."},"GpuFamilies":{"type":"string","enum":["Ada Lovelace","Ampere","Gaudi","Hopper","Kepler","Maxwell","Radeon Pro Navi","Turing","Volta"],"title":"GpuFamilies"},"GpuManufacturers":{"type":"string","enum":["AMD","Habana","NVIDIA"],"title":"GpuManufacturers"},"GpuModels":{"type":"string","enum":["A100","A10G","H100","H200","HL-205","K80","L4","L40S","M60","T4","T4G","V100","V520"],"title":"GpuModels"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HealthcheckResponse":{"properties":{"packages":{"type":"object","title":"Packages"},"database_last_updated":{"type":"number","title":"Database Last Updated"},"database_hash":{"type":"string","title":"Database Hash"},"database_alembic_version":{"type":"string","title":"Database Alembic Version"}},"type":"object","required":["packages","database_last_updated","database_hash","database_alembic_version"],"title":"HealthcheckResponse","examples":[{"database_alembic_version":"bar","database_hash":"foo","database_last_updated":1727249161.445799,"packages":{"sparecores-crawler":"1.0.0"}}]},"IdNameAndDescriptionAndCategory":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"id":{"type":"string","title":"Id"},"category":{"type":"string","title":"Category"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"}},"type":"object","required":["name","description","id","category","unit"],"title":"IdNameAndDescriptionAndCategory"},"NameAndDescription":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"}},"type":"object","required":["name","description"],"title":"NameAndDescription"},"OrderDir":{"type":"string","enum":["asc","desc"],"title":"OrderDir"},"PriceTier":{"properties":{"lower":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Lower"},"upper":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Upper"},"price":{"type":"number","title":"Price"}},"type":"object","required":["lower","upper","price"],"title":"PriceTier","description":"Price tier definition.\n\nAs standard JSON does not support Inf, NaN etc values,\nthose should be passed as string, e.g. for the upper bound.\n\nSee [float_inf_to_str][sc_crawler.utils.float_inf_to_str] for\nconverting an infinite numeric value into \"Infinity\"."},"PriceUnit":{"type":"string","enum":["year","month","hour","GiB","GB","GB/month"],"title":"PriceUnit","description":"Supported units for the price tables."},"Region":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id"],"title":"Region","description":"Regions of Vendors.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n aliases (typing.List[str]): List of other commonly used names for the same Region.\n country_id (str): Reference to the Country, where the Region is located.\n state (typing.Optional[str]): Optional state/administrative area of the Region's location within the Country.\n city (typing.Optional[str]): Optional city name of the Region's location.\n address_line (typing.Optional[str]): Optional address line of the Region's location.\n zip_code (typing.Optional[str]): Optional ZIP code of the Region's location.\n lon (typing.Optional[float]): Longitude coordinate of the Region's known or approximate location.\n lat (typing.Optional[float]): Latitude coordinate of the Region's known or approximate location.\n founding_year (typing.Optional[int]): 4-digit year when the Region was founded.\n green_energy (typing.Optional[bool]): If the Region is 100% powered by renewable energy.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-25T06:19:49.171469","region_id":"af-south-1","status":"active","vendor_id":"aws"}]},"RegionBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id"],"title":"RegionBase"},"RegionBaseWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"country":{"$ref":"#/components/schemas/CountryBase"}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id","country"],"title":"RegionBaseWithPKs"},"RegionPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"vendor":{"$ref":"#/components/schemas/VendorBase"}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id","vendor"],"title":"RegionPKs","examples":[{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-25T06:19:49.171469","region_id":"af-south-1","status":"active","vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-25T07:07:53.361320","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws"}]},"Regions":{"type":"string","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"],"title":"Regions"},"Server":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"Server","description":"Server types.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n server_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n description (typing.Optional[str]): Short description.\n family (typing.Optional[str]): Server family, e.g. General-purpose machine (GCP), or M5g (AWS).\n vcpus (int): Default number of virtual CPUs (vCPU) of the server.\n hypervisor (typing.Optional[str]): Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated.\n cpu_allocation (CpuAllocation): Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated.\n cpu_cores (typing.Optional[int]): Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled.\n cpu_speed (typing.Optional[float]): Vendor-reported maximum CPU clock speed (GHz).\n cpu_architecture (CpuArchitecture): CPU architecture (arm64, arm64_mac, i386, or x86_64).\n cpu_manufacturer (typing.Optional[str]): The manufacturer of the primary processor, e.g. Intel or AMD.\n cpu_family (typing.Optional[str]): The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9.\n cpu_model (typing.Optional[str]): The model number of the primary processor, e.g. 9750H.\n cpu_l1_cache (typing.Optional[int]): L1 cache size (byte).\n cpu_l2_cache (typing.Optional[int]): L2 cache size (byte).\n cpu_l3_cache (typing.Optional[int]): L3 cache size (byte).\n cpu_flags (typing.List[str]): CPU features/flags.\n cpus (typing.List[sc_crawler.table_fields.Cpu]): JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.\n memory_amount (int): RAM amount (MiB).\n memory_generation (typing.Optional[sc_crawler.table_fields.DdrGeneration]): Generation of the DDR SDRAM, e.g. DDR4 or DDR5.\n memory_speed (typing.Optional[int]): DDR SDRAM clock rate (Mhz).\n memory_ecc (typing.Optional[bool]): If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption.\n gpu_count (int): Number of GPU accelerator(s).\n gpu_memory_min (typing.Optional[int]): Memory (MiB) allocated to the lowest-end GPU accelerator.\n gpu_memory_total (typing.Optional[int]): Overall memory (MiB) allocated to all the GPU accelerator(s).\n gpu_manufacturer (typing.Optional[str]): The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD.\n gpu_family (typing.Optional[str]): The product family of the primary GPU accelerator, e.g. Turing.\n gpu_model (typing.Optional[str]): The model number of the primary GPU accelerator, e.g. Tesla T4.\n gpus (typing.List[sc_crawler.table_fields.Gpu]): JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.\n storage_size (int): Overall size (GB) of the disk(s).\n storage_type (typing.Optional[sc_crawler.table_fields.StorageType]): Primary disk type, e.g. HDD, SSD, NVMe SSD, or network).\n storages (typing.List[sc_crawler.table_fields.Disk]): JSON array of disks attached to the server, including the size (MiB) and type of each disk.\n network_speed (typing.Optional[float]): The baseline network performance (Gbps) of the network card.\n inbound_traffic (float): Amount of complimentary inbound traffic (GB) per month.\n outbound_traffic (float): Amount of complimentary outbound traffic (GB) per month.\n ipv4 (int): Number of complimentary IPv4 address(es).\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-25T06:20:44.562240","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"}]},"ServerBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"ServerBase"},"ServerPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"},"vendor":{"$ref":"#/components/schemas/VendorBase"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description","vendor"],"title":"ServerPKs","examples":[{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-25T06:20:44.562240","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"}]},"ServerPKsWithPrices":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"prices":{"items":{"$ref":"#/components/schemas/ServerPricePKs"},"type":"array","title":"Prices"},"benchmark_scores":{"items":{"$ref":"#/components/schemas/BenchmarkScoreBase"},"type":"array","title":"Benchmark Scores"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description","vendor","prices","benchmark_scores"],"title":"ServerPKsWithPrices","examples":[{"api_reference":"a1.2xlarge","benchmark_scores":[{"benchmark_id":"geekbench:hdr","config_fields":{"cores":"Single-Core or Multi-Core peformance tests.","framework_version":"Version number of geekbench."},"description":"Blends six 16MP SDR photos to create a single HDR photo, using a recovery process and radiance map construction (Debevec and Malik 1997), and a tone mapping algorithm (Reinhard and Devlin 2005).The score is calibrated against a baseline score of 2,500 (Dell Precision 3460 with a Core i7-12700 processor) as per the Geekbench 6 Benchmark Internals.","framework":"geekbench","higher_is_better":true,"measurement":"hdr","name":"Geekbench: HDR","observed_at":"2024-09-25T07:07:53.359891","status":"active"}],"cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-25T06:20:44.562240","outbound_traffic":0.0,"price":7,"prices":[{"allocation":"spot","currency":"USD","observed_at":"2024-09-24T21:03:27","operating_system":"Linux","price":0.0751,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-25T06:19:49.171469","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-west-2","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-25T06:19:52.561433","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"usw2-az3"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-25T02:47:37","operating_system":"Linux","price":0.0757,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-25T06:19:49.171469","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-west-2","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-25T06:19:52.561433","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"usw2-az2"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-25T05:27:06","operating_system":"Linux","price":0.0942,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-25T06:19:49.171469","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"eu-central-1","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-25T06:19:52.561433","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"euc1-az2"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-25T02:46:09","operating_system":"Linux","price":0.0957,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-25T06:19:49.171469","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"ap-northeast-1","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-25T06:19:52.561433","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"apne1-az4"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-25T05:35:23","operating_system":"Linux","price":0.0988,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-25T06:19:49.171469","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-east-1","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-25T06:19:52.561433","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"use1-az2"}],"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-25T07:07:53.361320","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws"}]},"ServerPrice":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"allOf":[{"$ref":"#/components/schemas/Allocation"}],"description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price"],"title":"ServerPrice","description":"Server type prices per Region and Allocation method.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Reference to the Region.\n zone_id (str): Reference to the Zone.\n server_id (str): Reference to the Server.\n operating_system (str): Operating System.\n allocation (Allocation): Allocation method, e.g. on-demand or spot.\n unit (PriceUnit): Billing unit of the pricing model.\n price (float): Actual price of a billing unit.\n price_upfront (float): Price to be paid when setting up the resource.\n price_tiered (typing.List[sc_crawler.table_fields.PriceTier]): List of pricing tiers with min/max thresholds and actual prices.\n currency (str): Currency of the prices.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation."},"ServerPricePKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"allOf":[{"$ref":"#/components/schemas/Allocation"}],"description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBase"},"zone":{"$ref":"#/components/schemas/ZoneBase"}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price","region","zone"],"title":"ServerPricePKs"},"ServerPriceWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"allOf":[{"$ref":"#/components/schemas/Allocation"}],"description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"vendor":{"$ref":"#/components/schemas/VendorBase"},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"zone":{"$ref":"#/components/schemas/ZoneBase"},"server":{"$ref":"#/components/schemas/ServerWithScore"}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price","vendor","region","zone","server"],"title":"ServerPriceWithPKs","examples":[{"allocation":"spot","currency":"USD","observed_at":"2024-09-24T21:03:27","operating_system":"Linux","price":0.0751,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country":{"continent":"Asia","country_id":"AE","observed_at":"2024-09-25T07:07:53.355940","status":"active"},"country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-25T06:19:49.171469","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-west-2","server":{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-25T06:20:44.562240","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"},"server_id":"a1.2xlarge","status":"active","unit":"hour","vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-25T07:07:53.361320","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-25T06:19:52.561433","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"usw2-az3"}]},"ServerTableMetaData":{"properties":{"table":{"$ref":"#/components/schemas/NameAndDescription"},"fields":{"items":{"$ref":"#/components/schemas/IdNameAndDescriptionAndCategory"},"type":"array","title":"Fields"}},"type":"object","required":["table","fields"],"title":"ServerTableMetaData"},"ServerWithScore":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"ServerWithScore"},"Status":{"type":"string","enum":["active","inactive"],"title":"Status","description":"Last known status of a resource, e.g. active or inactive."},"Storage":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"storage_id":{"type":"string","title":"Storage Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"storage_type":{"allOf":[{"$ref":"#/components/schemas/StorageType"}],"description":"High-level category of the storage, e.g. HDD or SDD."},"max_iops":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Iops","description":"Maximum Input/Output Operations Per Second."},"max_throughput":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Throughput","description":"Maximum Throughput (MiB/s)."},"min_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Size","description":"Minimum required size (GiB)."},"max_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Size","description":"Maximum possible size (GiB)."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","storage_id","name","description","storage_type"],"title":"Storage","description":"Flexible storage options that can be attached to a Server.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n storage_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n description (typing.Optional[str]): Short description.\n storage_type (StorageType): High-level category of the storage, e.g. HDD or SDD.\n max_iops (typing.Optional[int]): Maximum Input/Output Operations Per Second.\n max_throughput (typing.Optional[int]): Maximum Throughput (MiB/s).\n min_size (typing.Optional[int]): Minimum required size (GiB).\n max_size (typing.Optional[int]): Maximum possible size (GiB).\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"description":"SSD-backed","max_iops":16000,"max_size":16384,"max_throughput":250,"min_size":1,"name":"General Purpose","observed_at":"2024-09-25T06:23:07.459043","status":"active","storage_id":"gp2","storage_type":"ssd","vendor_id":"aws"}]},"StorageBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"storage_id":{"type":"string","title":"Storage Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"storage_type":{"allOf":[{"$ref":"#/components/schemas/StorageType"}],"description":"High-level category of the storage, e.g. HDD or SDD."},"max_iops":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Iops","description":"Maximum Input/Output Operations Per Second."},"max_throughput":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Throughput","description":"Maximum Throughput (MiB/s)."},"min_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Size","description":"Minimum required size (GiB)."},"max_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Size","description":"Maximum possible size (GiB)."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","storage_id","name","description","storage_type"],"title":"StorageBase"},"StoragePriceWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"storage_id":{"type":"string","title":"Storage Id","description":"Reference to the Storage."},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"storage":{"$ref":"#/components/schemas/StorageBase"}},"type":"object","required":["vendor_id","region_id","storage_id","unit","price","region","vendor","storage"],"title":"StoragePriceWithPKs"},"StorageType":{"type":"string","enum":["hdd","ssd","nvme ssd","network"],"title":"StorageType","description":"Type of a storage, e.g. HDD or SSD."},"TrafficDirection":{"type":"string","enum":["inbound","outbound"],"title":"TrafficDirection","description":"Direction of the network traffic."},"TrafficPriceWithPKsWithMonthlyTraffic":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"direction":{"allOf":[{"$ref":"#/components/schemas/TrafficDirection"}],"description":"Direction of the traffic: inbound or outbound."},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"price_monthly_traffic":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price Monthly Traffic"}},"type":"object","required":["vendor_id","region_id","direction","unit","price","region","vendor"],"title":"TrafficPriceWithPKsWithMonthlyTraffic"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"Vendor":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Vendor's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage of the Vendor."},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Vendor's main headquarter is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Vendor's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Vendor's main location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Vendor's main location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Vendor's main location."},"founding_year":{"type":"integer","title":"Founding Year","description":"4-digit year when the Vendor was founded."},"status_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Page","description":"Public status page of the Vendor."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","name","country_id","founding_year"],"title":"Vendor","description":"Compute resource vendors, such as cloud and server providers.\n\n Examples:\n >>> from sc_crawler.tables import Vendor\n >>> from sc_crawler.lookup import countries\n >>> aws = Vendor(vendor_id='aws', name='Amazon Web Services', homepage='https://aws.amazon.com', country=countries[\"US\"], founding_year=2002)\n >>> aws\n Vendor(vendor_id='aws'...\n >>> from sc_crawler import vendors\n >>> vendors.aws\n Vendor(vendor_id='aws'...\n \n\nAttributes:\n vendor_id (str): Unique identifier.\n name (str): Human-friendly name.\n logo (typing.Optional[str]): Publicly accessible URL to the image of the Vendor's logo.\n homepage (typing.Optional[str]): Public homepage of the Vendor.\n country_id (str): Reference to the Country, where the Vendor's main headquarter is located.\n state (typing.Optional[str]): Optional state/administrative area of the Vendor's location within the Country.\n city (typing.Optional[str]): Optional city name of the Vendor's main location.\n address_line (typing.Optional[str]): Optional address line of the Vendor's main location.\n zip_code (typing.Optional[str]): Optional ZIP code of the Vendor's main location.\n founding_year (int): 4-digit year when the Vendor was founded.\n status_page (typing.Optional[str]): Public status page of the Vendor.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-25T07:07:53.361320","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"}]},"VendorBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Vendor's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage of the Vendor."},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Vendor's main headquarter is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Vendor's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Vendor's main location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Vendor's main location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Vendor's main location."},"founding_year":{"type":"integer","title":"Founding Year","description":"4-digit year when the Vendor was founded."},"status_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Page","description":"Public status page of the Vendor."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","name","country_id","founding_year"],"title":"VendorBase"},"Vendors":{"type":"string","enum":["aws","azure","gcp","hcloud"],"title":"Vendors"},"Zone":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","name","api_reference","display_name"],"title":"Zone","description":"Availability zones of Regions.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Reference to the Region.\n zone_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-25T06:19:52.561433","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"}]},"ZoneBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","name","api_reference","display_name"],"title":"ZoneBase"}}}} +{"openapi":"3.1.0","info":{"title":"Spare Cores (SC) Keeper","description":"\nAPI to search and serve data collected on cloud compute resources.\n\n## Licensing\n\nThis is a free service provided by the Spare Cores team, without any warranty.\nThe source code of the API is licensed under MPL-2.0, find more details at\n.\n\n## References\n\n- Spare Cores: \n- SC Keeper: \n- SC Crawler: \n- SC Data: \n","termsOfService":"https://sparecores.com/legal/terms-of-service","contact":{"name":"Spare Cores Team","email":"social@sparecores.com"},"license":{"name":"Mozilla Public License 2.0 (MPL 2.0)","url":"http://mozilla.org/MPL/2.0/"},"version":"0.3.0"},"paths":{"/healthcheck":{"get":{"tags":["Administrative endpoints"],"summary":"Healthcheck","description":"Quickly return package and database version information.","operationId":"healthcheck_healthcheck_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthcheckResponse"}}}}}}},"/table/benchmark":{"get":{"tags":["Table dumps"],"summary":"Table Benchmark","description":"Return the Benchmark table as-is, without filtering options or relationships resolved.","operationId":"table_benchmark_table_benchmark_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Benchmark"},"type":"array","title":"Response Table Benchmark Table Benchmark Get"}}}}}}},"/table/country":{"get":{"tags":["Table dumps"],"summary":"Table Country","description":"Return the Country table as-is, without filtering options or relationships resolved.","operationId":"table_country_table_country_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Country"},"type":"array","title":"Response Table Country Table Country Get"}}}}}}},"/table/compliance_framework":{"get":{"tags":["Table dumps"],"summary":"Table Compliance Frameworks","description":"Return the ComplianceFramework table as-is, without filtering options or relationships resolved.","operationId":"table_compliance_frameworks_table_compliance_framework_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ComplianceFramework"},"type":"array","title":"Response Table Compliance Frameworks Table Compliance Framework Get"}}}}}}},"/table/vendor":{"get":{"tags":["Table dumps"],"summary":"Table Vendor","description":"Return the Vendor table as-is, without filtering options or relationships resolved.","operationId":"table_vendor_table_vendor_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Vendor"},"type":"array","title":"Response Table Vendor Table Vendor Get"}}}}}}},"/table/region":{"get":{"tags":["Table dumps"],"summary":"Table Region","description":"Return the Region table as-is, without filtering options or relationships resolved.","operationId":"table_region_table_region_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Region"},"type":"array","title":"Response Table Region Table Region Get"}}}}}}},"/table/zone":{"get":{"tags":["Table dumps"],"summary":"Table Zone","description":"Return the Zone table as-is, without filtering options or relationships resolved.","operationId":"table_zone_table_zone_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Zone"},"type":"array","title":"Response Table Zone Table Zone Get"}}}}}}},"/table/server":{"get":{"tags":["Table dumps"],"summary":"Table Server","description":"Return the Server table as-is, without filtering options or relationships resolved.","operationId":"table_server_table_server_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Server"},"type":"array","title":"Response Table Server Table Server Get"}}}}}}},"/table/storage":{"get":{"tags":["Table dumps"],"summary":"Table Storage","description":"Return the Storage table as-is, without filtering options or relationships resolved.","operationId":"table_storage_table_storage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Storage"},"type":"array","title":"Response Table Storage Table Storage Get"}}}}}}},"/table/server/meta":{"get":{"tags":["Table metadata"],"summary":"Table Metadata Server","description":"Server table and column names and comments.","operationId":"table_metadata_server_table_server_meta_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerTableMetaData"}}}}}}},"/server/{vendor}/{server}":{"get":{"tags":["Server Details"],"summary":"Get Server","description":"Query a single server by its vendor id and either the server or, or its API reference.\n\nReturn dictionary includes all server fields, along\nwith the current prices per zone, and\nthe available benchmark scores.","operationId":"get_server_server__vendor___server__get","deprecated":true,"parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"Vendor ID.","title":"Vendor"},"description":"Vendor ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"Server ID or API reference.","title":"Server"},"description":"Server ID or API reference."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","title":"Currency"},"description":"Currency used for prices."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerPKsWithPrices"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v2/server/{vendor}/{server}":{"get":{"tags":["Server Details"],"summary":"Get Server Without Relations","description":"Query a single server by its vendor id and either the server id or its API reference.","operationId":"get_server_without_relations_v2_server__vendor___server__get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"A Vendor's ID.","title":"Vendor"},"description":"A Vendor's ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"A Server's ID or API reference.","title":"Server"},"description":"A Server's ID or API reference."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerBase"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}/similar_servers/{by}/{num}":{"get":{"tags":["Server Details"],"summary":"Get Similar Servers","description":"Search similar servers to the provided one.\n\nThe \"family\" method returns all servers from the same family of\nthe same vendor.\n\nThe \"specs\" approach will prioritize the number of\nGPUs, then CPUs, lastly the amount of memory.\n\nThe \"score\" method will find the servers with the closest\nperformance using the multi-core SCore.","operationId":"get_similar_servers_server__vendor___server__similar_servers__by___num__get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"Vendor ID.","title":"Vendor"},"description":"Vendor ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"Server ID or API reference.","title":"Server"},"description":"Server ID or API reference."},{"name":"by","in":"path","required":true,"schema":{"enum":["family","specs","score"],"type":"string","description":"Algorithm to look for similar servers.","title":"By"},"description":"Algorithm to look for similar servers."},{"name":"num","in":"path","required":true,"schema":{"type":"integer","maximum":100,"description":"Number of servers to get.","title":"Num"},"description":"Number of servers to get."},{"name":"benchmark_id","in":"query","required":false,"schema":{"type":"string","description":"Benchmark id to use as the main score for the server.","default":"stress_ng:cpu_all","title":"Benchmark Id"},"description":"Benchmark id to use as the main score for the server."},{"name":"benchmark_config","in":"query","required":false,"schema":{"type":"string","description":"Benchmark id to use as the main score for the server.","default":"","title":"Benchmark Config"},"description":"Benchmark id to use as the main score for the server."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPKs"},"title":"Response Get Similar Servers Server Vendor Server Similar Servers By Num Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}/prices":{"get":{"tags":["Server Details"],"summary":"Get Server Prices","description":"Query the current prices of a single server by its vendor id and server id.","operationId":"get_server_prices_server__vendor___server__prices_get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"A Vendor's ID.","title":"Vendor"},"description":"A Vendor's ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"A Server's ID or API reference.","title":"Server"},"description":"A Server's ID or API reference."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","title":"Currency"},"description":"Currency used for prices."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPrice"},"title":"Response Get Server Prices Server Vendor Server Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server/{vendor}/{server}/benchmarks":{"get":{"tags":["Server Details"],"summary":"Get Server Benchmarks","description":"Query the current benchmark scores of a single server.","operationId":"get_server_benchmarks_server__vendor___server__benchmarks_get","parameters":[{"name":"vendor","in":"path","required":true,"schema":{"type":"string","description":"A Vendor's ID.","title":"Vendor"},"description":"A Vendor's ID."},{"name":"server","in":"path","required":true,"schema":{"type":"string","description":"A Server's ID or API reference.","title":"Server"},"description":"A Server's ID or API reference."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BenchmarkScore"},"title":"Response Get Server Benchmarks Server Vendor Server Benchmarks Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_server_filters":{"get":{"tags":["AI"],"summary":"Assist Server Filters","description":"Extract Server JSON filters from freetext.","operationId":"assist_server_filters_ai_assist_server_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Server Filters Ai Assist Server Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_server_price_filters":{"get":{"tags":["AI"],"summary":"Assist Server Price Filters","description":"Extract ServerPrice JSON filters from freetext.","operationId":"assist_server_price_filters_ai_assist_server_price_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Server Price Filters Ai Assist Server Price Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_storage_price_filters":{"get":{"tags":["AI"],"summary":"Assist Storage Price Filters","description":"Extract StoragePrice JSON filters from freetext.","operationId":"assist_storage_price_filters_ai_assist_storage_price_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Storage Price Filters Ai Assist Storage Price Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/assist_traffic_price_filters":{"get":{"tags":["AI"],"summary":"Assist Traffic Price Filters","description":"Extract TrafficPrice JSON filters from freetext.","operationId":"assist_traffic_price_filters_ai_assist_traffic_price_filters_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","title":"Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assist Traffic Price Filters Ai Assist Traffic Price Filters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/regions":{"get":{"tags":["Query Resources"],"summary":"Search Regions","operationId":"search_regions_regions_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RegionPKs"},"title":"Response Search Regions Regions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/servers":{"get":{"tags":["Query Resources"],"summary":"Search Servers","operationId":"search_servers_servers_get","parameters":[{"name":"partial_name_or_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partial name or id","description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name.","category_id":"basic"},"description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name."},{"name":"vcpus_min","in":"query","required":false,"schema":{"type":"integer","maximum":256,"minimum":1,"title":"Minimum vCPUs","description":"Minimum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","range_min":1,"range_max":256,"default":1},"description":"Minimum number of virtual CPUs."},{"name":"vcpus_max","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":256,"minimum":1},{"type":"null"}],"title":"Maximum vCPUs","description":"Maximum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","range_min":1,"range_max":256,"null_value":256},"description":"Maximum number of virtual CPUs."},{"name":"architecture","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuArchitecture"}},{"type":"null"}],"title":"Processor architecture","description":"Processor architecture.","category_id":"processor","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"]},"description":"Processor architecture."},{"name":"cpu_manufacturer","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuManufacturers"}},{"type":"null"}],"title":"Processor manufacturer","category_id":"processor","enum":["AMD","AWS","Ampere","Apple","Intel"]}},{"name":"cpu_family","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuFamilies"}},{"type":"null"}],"title":"Processor family","category_id":"processor","enum":["ARMv8","Ampere Altra","EPYC","Xeon"]}},{"name":"benchmark_score_stressng_cpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"SCore","description":"Minimum stress-ng CPU workload score.","category_id":"processor"},"description":"Minimum stress-ng CPU workload score."},{"name":"memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum memory","description":"Minimum amount of memory in GBs.","category_id":"memory","unit":"GB","step":0.1},"description":"Minimum amount of memory in GBs."},{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active only","description":"Filter for active servers only.","category_id":"basic","default":true},"description":"Filter for active servers only."},{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"storage_size","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs).","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs)."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"gpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"GPU count","description":"Minimum number of GPUs.","category_id":"gpu","unit":"GPUs"},"description":"Minimum number of GPUs."},{"name":"gpu_memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum GPU memory","description":"Minimum amount of GPU memory (GB) in each GPU.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of GPU memory (GB) in each GPU."},{"name":"gpu_memory_total","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total GPU memory","description":"Minimum amount of total GPU memory (GBs) in all GPUs.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of total GPU memory (GBs) in all GPUs."},{"name":"gpu_manufacturer","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/GpuManufacturers"}},{"type":"null"}],"title":"GPU manufacturer","category_id":"gpu","enum":["AMD","Habana","NVIDIA"]}},{"name":"gpu_family","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/GpuFamilies"}},{"type":"null"}],"title":"GPU family","category_id":"gpu","enum":["Ada Lovelace","Ampere","Gaudi","Hopper","Kepler","Maxwell","Radeon Pro Navi","Turing","Volta"]}},{"name":"gpu_model","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/GpuModels"}},{"type":"null"}],"title":"GPU model","category_id":"gpu","enum":["A100","A10G","H100","H200","HL-205","K80","L4","L40S","M60","T4","T4G","V100","V520"]}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited.","default":25,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"vcpus","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPKs"},"title":"Response Search Servers Servers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/server_prices":{"get":{"tags":["Query Resources"],"summary":"Search Server Prices","operationId":"search_server_prices_server_prices_get","parameters":[{"name":"partial_name_or_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partial name or id","description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name.","category_id":"basic"},"description":"Freetext, case-insensitive search on the server_id, name, api_reference or display_name."},{"name":"vcpus_min","in":"query","required":false,"schema":{"type":"integer","maximum":256,"minimum":1,"title":"Minimum vCPUs","description":"Minimum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","range_min":1,"range_max":256,"default":1},"description":"Minimum number of virtual CPUs."},{"name":"vcpus_max","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":256,"minimum":1},{"type":"null"}],"title":"Maximum vCPUs","description":"Maximum number of virtual CPUs.","category_id":"processor","unit":"vCPUs","range_min":1,"range_max":256,"null_value":256},"description":"Maximum number of virtual CPUs."},{"name":"architecture","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuArchitecture"}},{"type":"null"}],"title":"Processor architecture","description":"Processor architecture.","category_id":"processor","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"]},"description":"Processor architecture."},{"name":"cpu_manufacturer","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuManufacturers"}},{"type":"null"}],"title":"Processor manufacturer","category_id":"processor","enum":["AMD","AWS","Ampere","Apple","Intel"]}},{"name":"cpu_family","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CpuFamilies"}},{"type":"null"}],"title":"Processor family","category_id":"processor","enum":["ARMv8","Ampere Altra","EPYC","Xeon"]}},{"name":"benchmark_score_stressng_cpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"SCore","description":"Minimum stress-ng CPU workload score.","category_id":"processor"},"description":"Minimum stress-ng CPU workload score."},{"name":"memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum memory","description":"Minimum amount of memory in GBs.","category_id":"memory","unit":"GB","step":0.1},"description":"Minimum amount of memory in GBs."},{"name":"price_max","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Maximum price","description":"Maximum price (USD/hr).","category_id":"price","step":0.0001},"description":"Maximum price (USD/hr)."},{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active only","description":"Filter for active servers only.","category_id":"basic","default":true},"description":"Filter for active servers only."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"allocation","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/Allocation"},{"type":"null"}],"title":"Allocation","description":"Server allocation method.","enum":["ondemand","reserved","spot"]},"description":"Server allocation method."},{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"Region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"storage_size","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs).","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs)."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Countries"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"gpu_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"GPU count","description":"Minimum number of GPUs.","category_id":"gpu","unit":"GPUs"},"description":"Minimum number of GPUs."},{"name":"gpu_memory_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum GPU memory","description":"Minimum amount of GPU memory (GB) in each GPU.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of GPU memory (GB) in each GPU."},{"name":"gpu_memory_total","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total GPU memory","description":"Minimum amount of total GPU memory (GBs) in all GPUs.","category_id":"gpu","unit":"GB","step":0.1},"description":"Minimum amount of total GPU memory (GBs) in all GPUs."},{"name":"gpu_manufacturer","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/GpuManufacturers"}},{"type":"null"}],"title":"GPU manufacturer","category_id":"gpu","enum":["AMD","Habana","NVIDIA"]}},{"name":"gpu_family","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/GpuFamilies"}},{"type":"null"}],"title":"GPU family","category_id":"gpu","enum":["Ada Lovelace","Ampere","Gaudi","Hopper","Kepler","Maxwell","Radeon Pro Navi","Turing","Volta"]}},{"name":"gpu_model","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/GpuModels"}},{"type":"null"}],"title":"GPU model","category_id":"gpu","enum":["A100","A10G","H100","H200","HL-205","K80","L4","L40S","M60","T4","T4G","V100","V520"]}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":250,"description":"Maximum number of results.","default":25,"title":"Limit"},"description":"Maximum number of results."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","default":"USD","title":"Currency"},"description":"Currency used for prices."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServerPriceWithPKs"},"title":"Response Search Server Prices Server Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/storage_prices":{"get":{"tags":["Query Resources"],"summary":"Search Storage Prices","operationId":"search_storage_prices_storage_prices_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"storage_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Storage Size","description":"Minimum amount of storage (GBs).","category_id":"storage","step":0.1,"unit":"GB"},"description":"Minimum amount of storage (GBs)."},{"name":"storage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StorageType"}},{"type":"null"}],"title":"Storage Type","description":"Type of the storage attached to the server.","category_id":"storage","enum":["hdd","ssd","nvme ssd","network"]},"description":"Type of the storage attached to the server."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"Region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Countries"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited.","default":10,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","default":"USD","title":"Currency"},"description":"Currency used for prices."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StoragePriceWithPKs"},"title":"Response Search Storage Prices Storage Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/traffic_prices":{"get":{"tags":["Query Resources"],"summary":"Search Traffic Prices","operationId":"search_traffic_prices_traffic_prices_get","parameters":[{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Vendors"}},{"type":"null"}],"title":"Vendor id","description":"Identifier of the cloud provider vendor.","category_id":"vendor","enum":["aws","azure","gcp","hcloud"]},"description":"Identifier of the cloud provider vendor."},{"name":"green_energy","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green energy","description":"Filter for regions with kow CO2 emission only.","category_id":"region"},"description":"Filter for regions with kow CO2 emission only."},{"name":"compliance_framework","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceFrameworks"}},{"type":"null"}],"title":"Compliance Framework id","description":"Compliance framework implemented at the vendor.","category_id":"vendor","enum":["hipaa","iso27001","soc2t2"]},"description":"Compliance framework implemented at the vendor."},{"name":"regions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Regions"}},{"type":"null"}],"title":"Region id","description":"Identifier of the region.","category_id":"region","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"]},"description":"Identifier of the region."},{"name":"countries","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Countries"}},{"type":"null"}],"title":"Countries","description":"Filter for regions in the provided list of countries.","category_id":"region","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"]},"description":"Filter for regions in the provided list of countries."},{"name":"direction","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/TrafficDirection"}},{"type":"null"}],"title":"Direction","description":"Direction of the Internet traffic.","category_id":"traffic","enum":["inbound","outbound"],"default":["outbound"]},"description":"Direction of the Internet traffic."},{"name":"monthly_traffic","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Monthly Overall Traffic","description":"Overall amount of monthly traffic (GBs).","category_id":"traffic","unit":"GB","step":1,"default":1},"description":"Overall amount of monthly traffic (GBs)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of results. Set to -1 for unlimited.","default":10,"title":"Limit"},"description":"Maximum number of results. Set to -1 for unlimited."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Page number.","title":"Page"},"description":"Page number."},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Order by column.","default":"price","title":"Order By"},"description":"Order by column."},{"name":"order_dir","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/OrderDir"}],"description":"Order direction.","default":"asc","title":"Order Dir"},"description":"Order direction."},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Currency used for prices.","default":"USD","title":"Currency"},"description":"Currency used for prices."},{"name":"add_total_count_header","in":"query","required":false,"schema":{"type":"boolean","description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times.","default":false,"title":"Add Total Count Header"},"description":"Add the X-Total-Count header to the response with the overall number of items (without paging). Note that it might reduce response times."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TrafficPriceWithPKsWithMonthlyTraffic"},"title":"Response Search Traffic Prices Traffic Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Allocation":{"type":"string","enum":["ondemand","reserved","spot"],"title":"Allocation","description":"Server allocation options."},"Benchmark":{"properties":{"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Unique identifier of a specific Benchmark."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"framework":{"type":"string","title":"Framework","description":"The name of the benchmark framework/software/tool used."},"config_fields":{"type":"object","title":"Config Fields","description":"A dictionary of descriptions on the framework-specific config options, e.g. {\"bandwidth\": \"Memory amount to use for compression in MB.\"}.","default":{}},"measurement":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Measurement","description":"The name of measurement recoreded in the benchmark."},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit","description":"Optional unit of measurement for the benchmark score."},"higher_is_better":{"type":"boolean","title":"Higher Is Better","description":"If higher benchmark score means better performance, or vica versa.","default":true},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["benchmark_id","name","description","framework"],"title":"Benchmark","description":"Benchmark scenario definitions.\n\nAttributes:\n benchmark_id (str): Unique identifier of a specific Benchmark.\n name (str): Human-friendly name.\n description (typing.Optional[str]): Short description.\n framework (str): The name of the benchmark framework/software/tool used.\n config_fields (dict): A dictionary of descriptions on the framework-specific config options, e.g. {\"bandwidth\": \"Memory amount to use for compression in MB.\"}.\n measurement (typing.Optional[str]): The name of measurement recoreded in the benchmark.\n unit (typing.Optional[str]): Optional unit of measurement for the benchmark score.\n higher_is_better (bool): If higher benchmark score means better performance, or vica versa.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"benchmark_id":"geekbench:hdr","config_fields":{"cores":"Single-Core or Multi-Core peformance tests.","framework_version":"Version number of geekbench."},"description":"Blends six 16MP SDR photos to create a single HDR photo, using a recovery process and radiance map construction (Debevec and Malik 1997), and a tone mapping algorithm (Reinhard and Devlin 2005).The score is calibrated against a baseline score of 2,500 (Dell Precision 3460 with a Core i7-12700 processor) as per the Geekbench 6 Benchmark Internals.","framework":"geekbench","higher_is_better":true,"measurement":"hdr","name":"Geekbench: HDR","observed_at":"2024-09-26T09:49:06.268033","status":"active"}]},"BenchmarkScore":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Reference to the Benchmark."},"config":{"type":"object","title":"Config","description":"Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}","default":{}},"score":{"type":"number","title":"Score","description":"The resulting score of the benchmark."},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Optional note, comment or context on the benchmark score."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","benchmark_id","score"],"title":"BenchmarkScore","description":"Results of running Benchmark scenarios on Servers.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n server_id (str): Reference to the Server.\n benchmark_id (str): Reference to the Benchmark.\n config (sc_crawler.table_fields.HashableDict | dict): Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}\n score (float): The resulting score of the benchmark.\n note (typing.Optional[str]): Optional note, comment or context on the benchmark score.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation."},"BenchmarkScoreBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"benchmark_id":{"type":"string","title":"Benchmark Id","description":"Reference to the Benchmark."},"config":{"type":"object","title":"Config","description":"Dictionary of config parameters of the specific benchmark, e.g. {\"bandwidth\": 4096}","default":{}},"score":{"type":"number","title":"Score","description":"The resulting score of the benchmark."},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Optional note, comment or context on the benchmark score."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","benchmark_id","score"],"title":"BenchmarkScoreBase"},"ComplianceFramework":{"properties":{"compliance_framework_id":{"type":"string","title":"Compliance Framework Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"abbreviation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abbreviation","description":"Short abbreviation of the Framework name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Description of the framework in a few paragrahs, outlining key features and characteristics for reference."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Framework's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage with more information on the Framework."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["compliance_framework_id","name","abbreviation","description"],"title":"ComplianceFramework","description":"List of Compliance Frameworks, such as HIPAA or SOC 2 Type 1.\n\nAttributes:\n compliance_framework_id (str): Unique identifier.\n name (str): Human-friendly name.\n abbreviation (typing.Optional[str]): Short abbreviation of the Framework name.\n description (typing.Optional[str]): Description of the framework in a few paragrahs, outlining key features and characteristics for reference.\n logo (typing.Optional[str]): Publicly accessible URL to the image of the Framework's logo.\n homepage (typing.Optional[str]): Public homepage with more information on the Framework.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"abbreviation":"HIPAA","compliance_framework_id":"hipaa","description":"HIPAA (Health Insurance Portability and Accountability Act) is a U.S. federal law designed to safeguard the privacy and security of individuals' health information, establishing standards for its protection and regulating its use in the healthcare industry.","homepage":"https://www.cdc.gov/phlp/publications/topic/hipaa.html","name":"The Health Insurance Portability and Accountability Act","observed_at":"2024-09-26T09:49:06.265903","status":"active"}]},"ComplianceFrameworks":{"type":"string","enum":["hipaa","iso27001","soc2t2"],"title":"ComplianceFrameworks"},"Countries":{"type":"string","enum":["AE","AU","BE","BH","BR","CA","CH","CL","CN","DE","ES","FI","FR","GB","HK","ID","IE","IL","IN","IT","JP","KR","NL","NO","PL","QA","SA","SE","SG","TW","US","ZA"],"title":"Countries"},"Country":{"properties":{"country_id":{"type":"string","title":"Country Id","description":"Country code by ISO 3166 alpha-2."},"continent":{"type":"string","title":"Continent","description":"Continent name."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["country_id","continent"],"title":"Country","description":"Country and continent mapping.\n\nAttributes:\n country_id (str): Country code by ISO 3166 alpha-2.\n continent (str): Continent name.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"continent":"Asia","country_id":"AE","observed_at":"2024-09-26T09:49:06.264112","status":"active"}]},"CountryBase":{"properties":{"country_id":{"type":"string","title":"Country Id","description":"Country code by ISO 3166 alpha-2."},"continent":{"type":"string","title":"Continent","description":"Continent name."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["country_id","continent"],"title":"CountryBase"},"Cpu":{"properties":{"manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Manufacturer"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cores"},"threads":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Threads"},"l1_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L1 Cache Size"},"l2_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L2 Cache Size"},"l3_cache_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"L3 Cache Size"},"microcode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Microcode"},"capabilities":{"items":{"type":"string"},"type":"array","title":"Capabilities","default":[]},"bugs":{"items":{"type":"string"},"type":"array","title":"Bugs","default":[]},"bogomips":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Bogomips"}},"type":"object","title":"Cpu","description":"CPU details."},"CpuAllocation":{"type":"string","enum":["Shared","Burstable","Dedicated"],"title":"CpuAllocation","description":"CPU allocation methods at cloud vendors."},"CpuArchitecture":{"type":"string","enum":["arm64","arm64_mac","i386","x86_64","x86_64_mac"],"title":"CpuArchitecture","description":"CPU architectures."},"CpuFamilies":{"type":"string","enum":["ARMv8","Ampere Altra","EPYC","Xeon"],"title":"CpuFamilies"},"CpuManufacturers":{"type":"string","enum":["AMD","AWS","Ampere","Apple","Intel"],"title":"CpuManufacturers"},"DdrGeneration":{"type":"string","enum":["DDR3","DDR4","DDR5"],"title":"DdrGeneration","description":"Generation of the DDR SDRAM."},"Disk":{"properties":{"size":{"type":"integer","title":"Size","default":0},"storage_type":{"$ref":"#/components/schemas/StorageType"}},"type":"object","required":["storage_type"],"title":"Disk","description":"Disk definition based on size and storage type."},"Gpu":{"properties":{"manufacturer":{"type":"string","title":"Manufacturer"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"memory":{"type":"integer","title":"Memory"},"firmware_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firmware Version"},"bios_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bios Version"},"graphics_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Graphics Clock"},"sm_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sm Clock"},"mem_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Mem Clock"},"video_clock":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Video Clock"}},"type":"object","required":["manufacturer","memory"],"title":"Gpu","description":"GPU accelerator details."},"GpuFamilies":{"type":"string","enum":["Ada Lovelace","Ampere","Gaudi","Hopper","Kepler","Maxwell","Radeon Pro Navi","Turing","Volta"],"title":"GpuFamilies"},"GpuManufacturers":{"type":"string","enum":["AMD","Habana","NVIDIA"],"title":"GpuManufacturers"},"GpuModels":{"type":"string","enum":["A100","A10G","H100","H200","HL-205","K80","L4","L40S","M60","T4","T4G","V100","V520"],"title":"GpuModels"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HealthcheckResponse":{"properties":{"packages":{"type":"object","title":"Packages"},"database_last_updated":{"type":"number","title":"Database Last Updated"},"database_hash":{"type":"string","title":"Database Hash"},"database_alembic_version":{"type":"string","title":"Database Alembic Version"}},"type":"object","required":["packages","database_last_updated","database_hash","database_alembic_version"],"title":"HealthcheckResponse","examples":[{"database_alembic_version":"bar","database_hash":"foo","database_last_updated":1727345091.9034474,"packages":{"sparecores-crawler":"1.0.0"}}]},"IdNameAndDescriptionAndCategory":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"id":{"type":"string","title":"Id"},"category":{"type":"string","title":"Category"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"}},"type":"object","required":["name","description","id","category","unit"],"title":"IdNameAndDescriptionAndCategory"},"NameAndDescription":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"}},"type":"object","required":["name","description"],"title":"NameAndDescription"},"OrderDir":{"type":"string","enum":["asc","desc"],"title":"OrderDir"},"PriceTier":{"properties":{"lower":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Lower"},"upper":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Upper"},"price":{"type":"number","title":"Price"}},"type":"object","required":["lower","upper","price"],"title":"PriceTier","description":"Price tier definition.\n\nAs standard JSON does not support Inf, NaN etc values,\nthose should be passed as string, e.g. for the upper bound.\n\nSee [float_inf_to_str][sc_crawler.utils.float_inf_to_str] for\nconverting an infinite numeric value into \"Infinity\"."},"PriceUnit":{"type":"string","enum":["year","month","hour","GiB","GB","GB/month"],"title":"PriceUnit","description":"Supported units for the price tables."},"Region":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id"],"title":"Region","description":"Regions of Vendors.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n aliases (typing.List[str]): List of other commonly used names for the same Region.\n country_id (str): Reference to the Country, where the Region is located.\n state (typing.Optional[str]): Optional state/administrative area of the Region's location within the Country.\n city (typing.Optional[str]): Optional city name of the Region's location.\n address_line (typing.Optional[str]): Optional address line of the Region's location.\n zip_code (typing.Optional[str]): Optional ZIP code of the Region's location.\n lon (typing.Optional[float]): Longitude coordinate of the Region's known or approximate location.\n lat (typing.Optional[float]): Latitude coordinate of the Region's known or approximate location.\n founding_year (typing.Optional[int]): 4-digit year when the Region was founded.\n green_energy (typing.Optional[bool]): If the Region is 100% powered by renewable energy.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-26T09:21:21.766113","region_id":"af-south-1","status":"active","vendor_id":"aws"}]},"RegionBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id"],"title":"RegionBase"},"RegionBaseWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"country":{"$ref":"#/components/schemas/CountryBase"}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id","country"],"title":"RegionBaseWithPKs"},"RegionPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","description":"List of other commonly used names for the same Region.","default":[]},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Region is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Region's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Region's location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Region's location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Region's location."},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon","description":"Longitude coordinate of the Region's known or approximate location."},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat","description":"Latitude coordinate of the Region's known or approximate location."},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year","description":"4-digit year when the Region was founded."},"green_energy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Green Energy","description":"If the Region is 100% powered by renewable energy."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"vendor":{"$ref":"#/components/schemas/VendorBase"}},"type":"object","required":["vendor_id","region_id","name","api_reference","display_name","country_id","vendor"],"title":"RegionPKs","examples":[{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-26T09:21:21.766113","region_id":"af-south-1","status":"active","vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-26T09:49:06.269492","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws"}]},"Regions":{"type":"string","enum":["1000","1100","1210","1220","1230","1250","1260","1270","1280","1290","1300","1310","1320","1330","1340","1350","1360","1370","1380","1390","1410","1420","1430","1440","1450","1460","1470","1480","1490","1510","1520","1530","1540","1550","1560","1570","1580","1590","1600","1610","2","3","4","5","6","7","af-south-1","ap-east-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-south-1","ap-south-2","ap-southeast-1","ap-southeast-2","ap-southeast-3","ap-southeast-4","australiacentral","australiacentral2","australiaeast","australiasoutheast","brazilsouth","brazilsoutheast","brazilus","ca-central-1","canadacentral","canadaeast","ca-west-1","centralindia","centralus","centraluseuap","cn-north-1","cn-northwest-1","eastasia","eastus","eastus2","eastus2euap","eastusstg","eu-central-1","eu-central-2","eu-north-1","eu-south-1","eu-south-2","eu-west-1","eu-west-2","eu-west-3","francecentral","francesouth","germanynorth","germanywestcentral","il-central-1","israelcentral","italynorth","japaneast","japanwest","jioindiacentral","jioindiawest","koreacentral","koreasouth","me-central-1","me-south-1","mexicocentral","northcentralus","northeurope","norwayeast","norwaywest","polandcentral","qatarcentral","sa-east-1","southafricanorth","southafricawest","southcentralus","southcentralusstg","southeastasia","southindia","spaincentral","swedencentral","switzerlandnorth","switzerlandwest","uaecentral","uaenorth","uksouth","ukwest","us-east-1","us-east-2","us-west-1","us-west-2","westcentralus","westeurope","westindia","westus","westus2","westus3"],"title":"Regions"},"Server":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"Server","description":"Server types.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n server_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n description (typing.Optional[str]): Short description.\n family (typing.Optional[str]): Server family, e.g. General-purpose machine (GCP), or M5g (AWS).\n vcpus (int): Default number of virtual CPUs (vCPU) of the server.\n hypervisor (typing.Optional[str]): Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated.\n cpu_allocation (CpuAllocation): Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated.\n cpu_cores (typing.Optional[int]): Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled.\n cpu_speed (typing.Optional[float]): Vendor-reported maximum CPU clock speed (GHz).\n cpu_architecture (CpuArchitecture): CPU architecture (arm64, arm64_mac, i386, or x86_64).\n cpu_manufacturer (typing.Optional[str]): The manufacturer of the primary processor, e.g. Intel or AMD.\n cpu_family (typing.Optional[str]): The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9.\n cpu_model (typing.Optional[str]): The model number of the primary processor, e.g. 9750H.\n cpu_l1_cache (typing.Optional[int]): L1 cache size (byte).\n cpu_l2_cache (typing.Optional[int]): L2 cache size (byte).\n cpu_l3_cache (typing.Optional[int]): L3 cache size (byte).\n cpu_flags (typing.List[str]): CPU features/flags.\n cpus (typing.List[sc_crawler.table_fields.Cpu]): JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.\n memory_amount (int): RAM amount (MiB).\n memory_generation (typing.Optional[sc_crawler.table_fields.DdrGeneration]): Generation of the DDR SDRAM, e.g. DDR4 or DDR5.\n memory_speed (typing.Optional[int]): DDR SDRAM clock rate (Mhz).\n memory_ecc (typing.Optional[bool]): If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption.\n gpu_count (int): Number of GPU accelerator(s).\n gpu_memory_min (typing.Optional[int]): Memory (MiB) allocated to the lowest-end GPU accelerator.\n gpu_memory_total (typing.Optional[int]): Overall memory (MiB) allocated to all the GPU accelerator(s).\n gpu_manufacturer (typing.Optional[str]): The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD.\n gpu_family (typing.Optional[str]): The product family of the primary GPU accelerator, e.g. Turing.\n gpu_model (typing.Optional[str]): The model number of the primary GPU accelerator, e.g. Tesla T4.\n gpus (typing.List[sc_crawler.table_fields.Gpu]): JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.\n storage_size (int): Overall size (GB) of the disk(s).\n storage_type (typing.Optional[sc_crawler.table_fields.StorageType]): Primary disk type, e.g. HDD, SSD, NVMe SSD, or network).\n storages (typing.List[sc_crawler.table_fields.Disk]): JSON array of disks attached to the server, including the size (MiB) and type of each disk.\n network_speed (typing.Optional[float]): The baseline network performance (Gbps) of the network card.\n inbound_traffic (float): Amount of complimentary inbound traffic (GB) per month.\n outbound_traffic (float): Amount of complimentary outbound traffic (GB) per month.\n ipv4 (int): Number of complimentary IPv4 address(es).\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-26T09:22:17.093694","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"}]},"ServerBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"ServerBase"},"ServerPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"},"vendor":{"$ref":"#/components/schemas/VendorBase"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description","vendor"],"title":"ServerPKs","examples":[{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-26T09:22:17.093694","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"}]},"ServerPKsWithPrices":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"prices":{"items":{"$ref":"#/components/schemas/ServerPricePKs"},"type":"array","title":"Prices"},"benchmark_scores":{"items":{"$ref":"#/components/schemas/BenchmarkScoreBase"},"type":"array","title":"Benchmark Scores"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description","vendor","prices","benchmark_scores"],"title":"ServerPKsWithPrices","examples":[{"api_reference":"a1.2xlarge","benchmark_scores":[{"benchmark_id":"geekbench:hdr","config_fields":{"cores":"Single-Core or Multi-Core peformance tests.","framework_version":"Version number of geekbench."},"description":"Blends six 16MP SDR photos to create a single HDR photo, using a recovery process and radiance map construction (Debevec and Malik 1997), and a tone mapping algorithm (Reinhard and Devlin 2005).The score is calibrated against a baseline score of 2,500 (Dell Precision 3460 with a Core i7-12700 processor) as per the Geekbench 6 Benchmark Internals.","framework":"geekbench","higher_is_better":true,"measurement":"hdr","name":"Geekbench: HDR","observed_at":"2024-09-26T09:49:06.268033","status":"active"}],"cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-26T09:22:17.093694","outbound_traffic":0.0,"price":7,"prices":[{"allocation":"spot","currency":"USD","observed_at":"2024-09-26T02:47:32","operating_system":"Linux","price":0.0759,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-26T09:21:21.766113","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-west-2","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-26T09:21:25.050650","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"usw2-az2"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-26T07:02:34","operating_system":"Linux","price":0.0767,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-26T09:21:21.766113","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-west-2","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-26T09:21:25.050650","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"usw2-az3"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-26T04:16:49","operating_system":"Linux","price":0.0942,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-26T09:21:21.766113","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"eu-central-1","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-26T09:21:25.050650","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"euc1-az2"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-26T06:46:27","operating_system":"Linux","price":0.0965,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-26T09:21:21.766113","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"ap-northeast-1","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-26T09:21:25.050650","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"apne1-az4"},{"allocation":"spot","currency":"USD","observed_at":"2024-09-26T01:35:24","operating_system":"Linux","price":0.0967,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-26T09:21:21.766113","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-east-1","server_id":"a1.2xlarge","status":"active","unit":"hour","vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-26T09:21:25.050650","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"use1-az2"}],"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-26T09:49:06.269492","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws"}]},"ServerPrice":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"allOf":[{"$ref":"#/components/schemas/Allocation"}],"description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price"],"title":"ServerPrice","description":"Server type prices per Region and Allocation method.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Reference to the Region.\n zone_id (str): Reference to the Zone.\n server_id (str): Reference to the Server.\n operating_system (str): Operating System.\n allocation (Allocation): Allocation method, e.g. on-demand or spot.\n unit (PriceUnit): Billing unit of the pricing model.\n price (float): Actual price of a billing unit.\n price_upfront (float): Price to be paid when setting up the resource.\n price_tiered (typing.List[sc_crawler.table_fields.PriceTier]): List of pricing tiers with min/max thresholds and actual prices.\n currency (str): Currency of the prices.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation."},"ServerPricePKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"allOf":[{"$ref":"#/components/schemas/Allocation"}],"description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBase"},"zone":{"$ref":"#/components/schemas/ZoneBase"}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price","region","zone"],"title":"ServerPricePKs"},"ServerPriceWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Reference to the Zone."},"server_id":{"type":"string","title":"Server Id","description":"Reference to the Server."},"operating_system":{"type":"string","title":"Operating System","description":"Operating System."},"allocation":{"allOf":[{"$ref":"#/components/schemas/Allocation"}],"description":"Allocation method, e.g. on-demand or spot.","default":"ondemand"},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"vendor":{"$ref":"#/components/schemas/VendorBase"},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"zone":{"$ref":"#/components/schemas/ZoneBase"},"server":{"$ref":"#/components/schemas/ServerWithScore"}},"type":"object","required":["vendor_id","region_id","zone_id","server_id","operating_system","unit","price","vendor","region","zone","server"],"title":"ServerPriceWithPKs","examples":[{"allocation":"spot","currency":"USD","observed_at":"2024-09-26T02:47:32","operating_system":"Linux","price":0.0759,"price_tiered":[],"price_upfront":0.0,"region":{"aliases":[],"api_reference":"af-south-1","city":"Cape Town","country":{"continent":"Asia","country_id":"AE","observed_at":"2024-09-26T09:49:06.264112","status":"active"},"country_id":"ZA","display_name":"Cape Town (ZA)","founding_year":2020,"green_energy":false,"lat":-33.914651,"lon":18.3758801,"name":"Africa (Cape Town)","observed_at":"2024-09-26T09:21:21.766113","region_id":"af-south-1","status":"active","vendor_id":"aws"},"region_id":"us-west-2","server":{"api_reference":"a1.2xlarge","cpu_allocation":"Dedicated","cpu_architecture":"arm64","cpu_cores":8,"cpu_family":"ARMv8","cpu_flags":["fp","asimd","evtstrm","aes","pmull","sha1","sha2","crc32","cpuid"],"cpu_l1_cache":655360,"cpu_l2_cache":4194304,"cpu_manufacturer":"AWS","cpu_model":"Graviton","cpu_speed":2.5,"cpus":[],"description":"AWS Graviton Gen1 2xlarge","display_name":"a1.2xlarge","family":"a1","gpu_count":0,"gpus":[],"hypervisor":"nitro","inbound_traffic":0.0,"ipv4":0,"memory_amount":16384,"name":"a1.2xlarge","network_speed":2.5,"observed_at":"2024-09-26T09:22:17.093694","outbound_traffic":0.0,"price":7,"score":42,"score_per_price":6.0,"server_id":"a1.2xlarge","status":"active","storage_size":0,"storages":[],"vcpus":8,"vendor_id":"aws"},"server_id":"a1.2xlarge","status":"active","unit":"hour","vendor":{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-26T09:49:06.269492","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"},"vendor_id":"aws","zone":{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-26T09:21:25.050650","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"},"zone_id":"usw2-az2"}]},"ServerTableMetaData":{"properties":{"table":{"$ref":"#/components/schemas/NameAndDescription"},"fields":{"items":{"$ref":"#/components/schemas/IdNameAndDescriptionAndCategory"},"type":"array","title":"Fields"}},"type":"object","required":["table","fields"],"title":"ServerTableMetaData"},"ServerWithScore":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"server_id":{"type":"string","title":"Server Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family","description":"Server family, e.g. General-purpose machine (GCP), or M5g (AWS)."},"vcpus":{"type":"integer","title":"Vcpus","description":"Default number of virtual CPUs (vCPU) of the server."},"hypervisor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hypervisor","description":"Hypervisor of the virtual server, e.g. Xen, KVM, Nitro or Dedicated."},"cpu_allocation":{"allOf":[{"$ref":"#/components/schemas/CpuAllocation"}],"description":"Allocation of CPU(s) to the server, e.g. shared, burstable or dedicated."},"cpu_cores":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Cores","description":"Default number of CPU cores of the server. Equals to vCPUs when HyperThreading is disabled."},"cpu_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu Speed","description":"Vendor-reported maximum CPU clock speed (GHz)."},"cpu_architecture":{"allOf":[{"$ref":"#/components/schemas/CpuArchitecture"}],"description":"CPU architecture (arm64, arm64_mac, i386, or x86_64)."},"cpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Manufacturer","description":"The manufacturer of the primary processor, e.g. Intel or AMD."},"cpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Family","description":"The product line/family of the primary processor, e.g. Xeon, Core i7, Ryzen 9."},"cpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu Model","description":"The model number of the primary processor, e.g. 9750H."},"cpu_l1_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L1 Cache","description":"L1 cache size (byte)."},"cpu_l2_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L2 Cache","description":"L2 cache size (byte)."},"cpu_l3_cache":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu L3 Cache","description":"L3 cache size (byte)."},"cpu_flags":{"items":{"type":"string"},"type":"array","title":"Cpu Flags","description":"CPU features/flags.","default":[]},"cpus":{"items":{"$ref":"#/components/schemas/Cpu"},"type":"array","title":"Cpus","description":"JSON array of known CPU details, e.g. the manufacturer, family, model; L1/L2/L3 cache size; microcode version; feature flags; bugs etc.","default":[]},"memory_amount":{"type":"integer","title":"Memory Amount","description":"RAM amount (MiB)."},"memory_generation":{"anyOf":[{"$ref":"#/components/schemas/DdrGeneration"},{"type":"null"}],"description":"Generation of the DDR SDRAM, e.g. DDR4 or DDR5."},"memory_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Speed","description":"DDR SDRAM clock rate (Mhz)."},"memory_ecc":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory Ecc","description":"If the DDR SDRAM uses error correction code to detect and correct n-bit data corruption."},"gpu_count":{"type":"integer","title":"Gpu Count","description":"Number of GPU accelerator(s).","default":0},"gpu_memory_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Min","description":"Memory (MiB) allocated to the lowest-end GPU accelerator."},"gpu_memory_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Memory Total","description":"Overall memory (MiB) allocated to all the GPU accelerator(s)."},"gpu_manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Manufacturer","description":"The manufacturer of the primary GPU accelerator, e.g. Nvidia or AMD."},"gpu_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Family","description":"The product family of the primary GPU accelerator, e.g. Turing."},"gpu_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model","description":"The model number of the primary GPU accelerator, e.g. Tesla T4."},"gpus":{"items":{"$ref":"#/components/schemas/Gpu"},"type":"array","title":"Gpus","description":"JSON array of GPU accelerator details, including the manufacturer, name, and memory (MiB) of each GPU.","default":[]},"storage_size":{"type":"integer","title":"Storage Size","description":"Overall size (GB) of the disk(s).","default":0},"storage_type":{"anyOf":[{"$ref":"#/components/schemas/StorageType"},{"type":"null"}],"description":"Primary disk type, e.g. HDD, SSD, NVMe SSD, or network)."},"storages":{"items":{"$ref":"#/components/schemas/Disk"},"type":"array","title":"Storages","description":"JSON array of disks attached to the server, including the size (MiB) and type of each disk.","default":[]},"network_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Network Speed","description":"The baseline network performance (Gbps) of the network card."},"inbound_traffic":{"type":"number","title":"Inbound Traffic","description":"Amount of complimentary inbound traffic (GB) per month.","default":0},"outbound_traffic":{"type":"number","title":"Outbound Traffic","description":"Amount of complimentary outbound traffic (GB) per month.","default":0},"ipv4":{"type":"integer","title":"Ipv4","description":"Number of complimentary IPv4 address(es).","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"score_per_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Per Price"}},"type":"object","required":["vendor_id","server_id","name","api_reference","display_name","description"],"title":"ServerWithScore"},"Status":{"type":"string","enum":["active","inactive"],"title":"Status","description":"Last known status of a resource, e.g. active or inactive."},"Storage":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"storage_id":{"type":"string","title":"Storage Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"storage_type":{"allOf":[{"$ref":"#/components/schemas/StorageType"}],"description":"High-level category of the storage, e.g. HDD or SDD."},"max_iops":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Iops","description":"Maximum Input/Output Operations Per Second."},"max_throughput":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Throughput","description":"Maximum Throughput (MiB/s)."},"min_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Size","description":"Minimum required size (GiB)."},"max_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Size","description":"Maximum possible size (GiB)."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","storage_id","name","description","storage_type"],"title":"Storage","description":"Flexible storage options that can be attached to a Server.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n storage_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n description (typing.Optional[str]): Short description.\n storage_type (StorageType): High-level category of the storage, e.g. HDD or SDD.\n max_iops (typing.Optional[int]): Maximum Input/Output Operations Per Second.\n max_throughput (typing.Optional[int]): Maximum Throughput (MiB/s).\n min_size (typing.Optional[int]): Minimum required size (GiB).\n max_size (typing.Optional[int]): Maximum possible size (GiB).\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"description":"SSD-backed","max_iops":16000,"max_size":16384,"max_throughput":250,"min_size":1,"name":"General Purpose","observed_at":"2024-09-26T09:24:44.251313","status":"active","storage_id":"gp2","storage_type":"ssd","vendor_id":"aws"}]},"StorageBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"storage_id":{"type":"string","title":"Storage Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Short description."},"storage_type":{"allOf":[{"$ref":"#/components/schemas/StorageType"}],"description":"High-level category of the storage, e.g. HDD or SDD."},"max_iops":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Iops","description":"Maximum Input/Output Operations Per Second."},"max_throughput":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Throughput","description":"Maximum Throughput (MiB/s)."},"min_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Size","description":"Minimum required size (GiB)."},"max_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Size","description":"Maximum possible size (GiB)."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","storage_id","name","description","storage_type"],"title":"StorageBase"},"StoragePriceWithPKs":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"storage_id":{"type":"string","title":"Storage Id","description":"Reference to the Storage."},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"storage":{"$ref":"#/components/schemas/StorageBase"}},"type":"object","required":["vendor_id","region_id","storage_id","unit","price","region","vendor","storage"],"title":"StoragePriceWithPKs"},"StorageType":{"type":"string","enum":["hdd","ssd","nvme ssd","network"],"title":"StorageType","description":"Type of a storage, e.g. HDD or SSD."},"TrafficDirection":{"type":"string","enum":["inbound","outbound"],"title":"TrafficDirection","description":"Direction of the network traffic."},"TrafficPriceWithPKsWithMonthlyTraffic":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"direction":{"allOf":[{"$ref":"#/components/schemas/TrafficDirection"}],"description":"Direction of the traffic: inbound or outbound."},"unit":{"allOf":[{"$ref":"#/components/schemas/PriceUnit"}],"description":"Billing unit of the pricing model."},"price":{"type":"number","title":"Price","description":"Actual price of a billing unit."},"price_upfront":{"type":"number","title":"Price Upfront","description":"Price to be paid when setting up the resource.","default":0},"price_tiered":{"items":{"$ref":"#/components/schemas/PriceTier"},"type":"array","title":"Price Tiered","description":"List of pricing tiers with min/max thresholds and actual prices.","default":[]},"currency":{"type":"string","title":"Currency","description":"Currency of the prices.","default":"USD"},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."},"region":{"$ref":"#/components/schemas/RegionBaseWithPKs"},"vendor":{"$ref":"#/components/schemas/VendorBase"},"price_monthly_traffic":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price Monthly Traffic"}},"type":"object","required":["vendor_id","region_id","direction","unit","price","region","vendor"],"title":"TrafficPriceWithPKsWithMonthlyTraffic"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"Vendor":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Vendor's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage of the Vendor."},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Vendor's main headquarter is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Vendor's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Vendor's main location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Vendor's main location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Vendor's main location."},"founding_year":{"type":"integer","title":"Founding Year","description":"4-digit year when the Vendor was founded."},"status_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Page","description":"Public status page of the Vendor."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","name","country_id","founding_year"],"title":"Vendor","description":"Compute resource vendors, such as cloud and server providers.\n\n Examples:\n >>> from sc_crawler.tables import Vendor\n >>> from sc_crawler.lookup import countries\n >>> aws = Vendor(vendor_id='aws', name='Amazon Web Services', homepage='https://aws.amazon.com', country=countries[\"US\"], founding_year=2002)\n >>> aws\n Vendor(vendor_id='aws'...\n >>> from sc_crawler import vendors\n >>> vendors.aws\n Vendor(vendor_id='aws'...\n \n\nAttributes:\n vendor_id (str): Unique identifier.\n name (str): Human-friendly name.\n logo (typing.Optional[str]): Publicly accessible URL to the image of the Vendor's logo.\n homepage (typing.Optional[str]): Public homepage of the Vendor.\n country_id (str): Reference to the Country, where the Vendor's main headquarter is located.\n state (typing.Optional[str]): Optional state/administrative area of the Vendor's location within the Country.\n city (typing.Optional[str]): Optional city name of the Vendor's main location.\n address_line (typing.Optional[str]): Optional address line of the Vendor's main location.\n zip_code (typing.Optional[str]): Optional ZIP code of the Vendor's main location.\n founding_year (int): 4-digit year when the Vendor was founded.\n status_page (typing.Optional[str]): Public status page of the Vendor.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"address_line":"410 Terry Ave N","city":"Seattle","country_id":"US","founding_year":2002,"homepage":"https://aws.amazon.com","logo":"https://sc-data-public-40e9d310.s3.amazonaws.com/cdn/logos/aws.svg","name":"Amazon Web Services","observed_at":"2024-09-26T09:49:06.269492","state":"Washington","status":"active","status_page":"https://health.aws.amazon.com/health/status","vendor_id":"aws","zip_code":"98109"}]},"VendorBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Unique identifier."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo","description":"Publicly accessible URL to the image of the Vendor's logo."},"homepage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage","description":"Public homepage of the Vendor."},"country_id":{"type":"string","title":"Country Id","description":"Reference to the Country, where the Vendor's main headquarter is located."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"Optional state/administrative area of the Vendor's location within the Country."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Optional city name of the Vendor's main location."},"address_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address Line","description":"Optional address line of the Vendor's main location."},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code","description":"Optional ZIP code of the Vendor's main location."},"founding_year":{"type":"integer","title":"Founding Year","description":"4-digit year when the Vendor was founded."},"status_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Page","description":"Public status page of the Vendor."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","name","country_id","founding_year"],"title":"VendorBase"},"Vendors":{"type":"string","enum":["aws","azure","gcp","hcloud"],"title":"Vendors"},"Zone":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","name","api_reference","display_name"],"title":"Zone","description":"Availability zones of Regions.\n\nAttributes:\n vendor_id (str): Reference to the Vendor.\n region_id (str): Reference to the Region.\n zone_id (str): Unique identifier, as called at the Vendor.\n name (str): Human-friendly name.\n api_reference (str): How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint.\n display_name (str): Human-friendly reference (usually the id or name) of the resource.\n status (Status): Status of the resource (active or inactive).\n observed_at (datetime): Timestamp of the last observation.","examples":[{"api_reference":"af-south-1a","display_name":"af-south-1a","name":"af-south-1a","observed_at":"2024-09-26T09:21:25.050650","region_id":"af-south-1","status":"active","vendor_id":"aws","zone_id":"afs1-az1"}]},"ZoneBase":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id","description":"Reference to the Vendor."},"region_id":{"type":"string","title":"Region Id","description":"Reference to the Region."},"zone_id":{"type":"string","title":"Zone Id","description":"Unique identifier, as called at the Vendor."},"name":{"type":"string","title":"Name","description":"Human-friendly name."},"api_reference":{"type":"string","title":"Api Reference","description":"How this resource is referenced in the vendor API calls. This is usually either the id or name of the resource, depening on the vendor and actual API endpoint."},"display_name":{"type":"string","title":"Display Name","description":"Human-friendly reference (usually the id or name) of the resource."},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of the resource (active or inactive).","default":"active"},"observed_at":{"type":"string","format":"date-time","title":"Observed At","description":"Timestamp of the last observation."}},"type":"object","required":["vendor_id","region_id","zone_id","name","api_reference","display_name"],"title":"ZoneBase"}}}} diff --git a/src/app/components/search-bar/search-bar.component.html b/src/app/components/search-bar/search-bar.component.html index c16e5d53..4b726d63 100644 --- a/src/app/components/search-bar/search-bar.component.html +++ b/src/app/components/search-bar/search-bar.component.html @@ -36,15 +36,15 @@
    {{parameter.modelValue}} {{parameter.schema.unit}}
    ∞ {{parameter.schema.unit}}
    {{parameter.schema.unit}}
    diff --git a/src/app/components/search-bar/search-bar.component.ts b/src/app/components/search-bar/search-bar.component.ts index 1b6ec304..5c70bebe 100644 --- a/src/app/components/search-bar/search-bar.component.ts +++ b/src/app/components/search-bar/search-bar.component.ts @@ -125,6 +125,10 @@ export class SearchBarComponent implements OnInit, OnChanges{ } } + if(!value && item.schema.null_value) { + value = item.schema.null_value; + } + item.modelValue = value; }); @@ -160,7 +164,10 @@ export class SearchBarComponent implements OnInit, OnChanges{ getQueryObject() { const paramObject = this.searchParameters?.map((param: any) => { - return ((param.modelValue || param.modelValue === false) && param.schema.category_id && param.schema.default !== param.modelValue) ? + return ((param.modelValue || param.modelValue === false) && + param.schema.category_id && + param.schema.default !== param.modelValue && + param.schema.null_value !== param.modelValue) ? {[param.name]: param.modelValue} : {}; }).reduce((acc: any, curr: any) => { return {...acc, ...curr}; }, {}); @@ -225,7 +232,7 @@ export class SearchBarComponent implements OnInit, OnChanges{ return 'storage_id'; } - if((type === 'integer' || type === 'number') && (parameter.schema.minimum || parameter.schema.minimum === 0) && parameter.schema.maximum) { + if((type === 'integer' || type === 'number') && (parameter.schema.range_min || parameter.schema.range_min === 0) && parameter.schema.range_max) { return 'range'; } From 6f0050af14b426cc53ecd4bbd5f65384e9d0aba0 Mon Sep 17 00:00:00 2001 From: "Gergely Daroczi (@daroczig)" Date: Thu, 26 Sep 2024 22:00:51 +0200 Subject: [PATCH 41/66] move cols to logical order --- .../server-listing.component.html | 24 ++++++++++++------- .../server-listing.component.ts | 10 ++++---- .../server-prices/server-prices.component.ts | 16 ++++++------- 3 files changed, 29 insertions(+), 21 deletions(-) diff --git a/src/app/pages/server-listing/server-listing.component.html b/src/app/pages/server-listing/server-listing.component.html index 11ad050f..2660795d 100644 --- a/src/app/pages/server-listing/server-listing.component.html +++ b/src/app/pages/server-listing/server-listing.component.html @@ -189,17 +189,25 @@

    Cloud Compute Resources

    -
    -
    {{item.cpu_manufacturer}}
    -
    {{item.cpu_family}}
    -
    {{item.cpu_model}}
    +
    + {{item.cpu_model}} +
    +
    + {{item.cpu_manufacturer}} + {{item.cpu_family}}
    -
    -
    {{item.gpu_manufacturer}}
    -
    {{item.gpu_family}}
    -
    {{item.gpu_model}}
    +
    + {{item.gpu_model}} +
    +
    + {{item.gpu_manufacturer}} + {{item.gpu_family}}
    diff --git a/src/app/pages/server-listing/server-listing.component.ts b/src/app/pages/server-listing/server-listing.component.ts index 2d046494..9d2742e2 100644 --- a/src/app/pages/server-listing/server-listing.component.ts +++ b/src/app/pages/server-listing/server-listing.component.ts @@ -84,7 +84,11 @@ export class ServerListingComponent implements OnInit, OnDestroy { possibleColumns: TableColumn[] = [ { name: 'NAME & PROVIDER', show: true, type: 'name'}, + { name: 'VENDOR', show: false, type: 'vendor' }, + { name: 'ARCHITECTURE', show: false, type: 'text', key: 'cpu_architecture' }, { name: 'PROCESSOR', show: true, type: 'processor', orderField: 'vcpus' }, + { name: 'CPU MODEL', show: false, type: 'cpu_model' }, + { name: 'CPU ALLOCATION', show: false, type: 'text', key: 'cpu_allocation' }, { name: 'SCORE', show: true, type: 'score', @@ -95,15 +99,11 @@ export class ServerListingComponent implements OnInit, OnDestroy { { name: 'STORAGE', show: true, type: 'storage', orderField: 'storage_size' }, { name: 'STORAGE TYPE', show: false, type: 'text', key: 'storage_type' }, { name: 'GPUs', show: true, type: 'gpu', orderField: 'gpu_count' }, - { name: 'BEST PRICE', show: true, type: 'price' }, { name: 'GPU MIN MEMORY', show: false, type: 'gpu_memory_min', orderField: 'gpu_memory_min' }, { name: 'GPU TOTAL MEMORY', show: false, type: 'gpu_memory_total', orderField: 'gpu_memory_total' }, { name: 'GPU MODEL', show: false, type: 'gpu_model' }, - { name: 'ARCHITECTURE', show: false, type: 'text', key: 'cpu_architecture' }, - { name: 'CPU ALLOCATION', show: false, type: 'text', key: 'cpu_allocation' }, - { name: 'CPU MODEL', show: false, type: 'cpu_model' }, + { name: 'BEST PRICE', show: true, type: 'price' }, { name: 'STATUS', show: false, type: 'text', key: 'status' }, - { name: 'VENDOR', show: false, type: 'vendor' }, ]; pageLimits = [10, 25, 50, 100, 250]; diff --git a/src/app/pages/server-prices/server-prices.component.ts b/src/app/pages/server-prices/server-prices.component.ts index 77d8e8f4..51adae78 100644 --- a/src/app/pages/server-prices/server-prices.component.ts +++ b/src/app/pages/server-prices/server-prices.component.ts @@ -84,7 +84,15 @@ export class ServerPricesComponent implements OnInit { possibleColumns: TableColumn[] = [ { name: 'NAME & PROVIDER', show: true, type: 'name'}, + { name: 'VENDOR', show: false, type: 'vendor' }, + { name: 'REGION', show: false, type: 'region' }, + { name: 'ZONE', show: false, type: 'text', key: 'zone.name' }, + { name: 'CONTINENT', show: false, type: 'text', key: 'region.country.continent' }, + { name: 'COUNTRY', show: false, type: 'country' }, + { name: 'ARCHITECTURE', show: false, type: 'text', key: 'server.cpu_architecture' }, { name: 'PROCESSOR', show: true, type: 'processor', orderField: 'vcpus' }, + { name: 'CPU MODEL', show: false, type: 'cpu_model' }, + { name: 'CPU ALLOCATION', show: false, type: 'text', key: 'server.cpu_allocation' }, { name: 'SCORE', show: true, type: 'score', @@ -99,15 +107,7 @@ export class ServerPricesComponent implements OnInit { { name: 'GPU TOTAL MEMORY', show: false, type: 'gpu_memory', key: 'server.gpu_memory_total' }, { name: 'GPU MODEL', show: false, type: 'gpu_model' }, { name: 'PRICE', show: true, type: 'price', orderField: 'price' }, - { name: 'ARCHITECTURE', show: false, type: 'text', key: 'server.cpu_architecture' }, - { name: 'CPU ALLOCATION', show: false, type: 'text', key: 'server.cpu_allocation' }, - { name: 'CPU MODEL', show: false, type: 'cpu_model' }, - { name: 'REGION', show: false, type: 'region' }, { name: 'STATUS', show: false, type: 'text', key: 'server.status' }, - { name: 'VENDOR', show: false, type: 'vendor' }, - { name: 'COUNTRY', show: false, type: 'country' }, - { name: 'CONTINENT', show: false, type: 'text', key: 'region.country.continent' }, - { name: 'ZONE', show: false, type: 'text', key: 'zone.name' }, ]; availableCurrencies: CurrencyOption[] = availableCurrencies; From efc05337f53ef0638fc4f65d637adc8658a2701c Mon Sep 17 00:00:00 2001 From: "Gergely Daroczi (@daroczig)" Date: Thu, 26 Sep 2024 22:01:00 +0200 Subject: [PATCH 42/66] fix server references --- .../server-prices.component.html | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/src/app/pages/server-prices/server-prices.component.html b/src/app/pages/server-prices/server-prices.component.html index 35a6fbce..595f067b 100644 --- a/src/app/pages/server-prices/server-prices.component.html +++ b/src/app/pages/server-prices/server-prices.component.html @@ -198,17 +198,25 @@

    Cloud Compute Prices

    -
    -
    {{item.cpu_manufacturer}}
    -
    {{item.cpu_family}}
    -
    {{item.cpu_model}}
    +
    + {{item.server.cpu_model}} +
    +
    + {{item.server.cpu_manufacturer}} + {{item.server.cpu_family}}
    -
    -
    {{item.gpu_manufacturer}}
    -
    {{item.gpu_family}}
    -
    {{item.gpu_model}}
    +
    + {{item.server.gpu_model}} +
    +
    + {{item.server.gpu_manufacturer}} + {{item.server.gpu_family}}
    From 2c154f99c2354f6c19f03a6d5f8e618a3b8fd958 Mon Sep 17 00:00:00 2001 From: "Gergely Daroczi (@daroczig)" Date: Thu, 26 Sep 2024 22:03:52 +0200 Subject: [PATCH 43/66] remove text-right --- src/app/components/search-bar/search-bar.component.html | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/app/components/search-bar/search-bar.component.html b/src/app/components/search-bar/search-bar.component.html index 4b726d63..04a4f9a0 100644 --- a/src/app/components/search-bar/search-bar.component.html +++ b/src/app/components/search-bar/search-bar.component.html @@ -34,13 +34,9 @@
    {{parameter.modelValue}} {{parameter.schema.unit}}
    -
    ∞ {{parameter.schema.unit}}
    Date: Thu, 26 Sep 2024 22:04:37 +0200 Subject: [PATCH 44/66] drop debug --- src/app/components/search-bar/search-bar.component.ts | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/app/components/search-bar/search-bar.component.ts b/src/app/components/search-bar/search-bar.component.ts index 5c70bebe..26e957e5 100644 --- a/src/app/components/search-bar/search-bar.component.ts +++ b/src/app/components/search-bar/search-bar.component.ts @@ -205,9 +205,6 @@ export class SearchBarComponent implements OnInit, OnChanges{ const type = parameter.schema.type || parameter.schema.anyOf?.find((item: any) => item.type !== 'null')?.type || 'text'; const name = parameter.name; - //if(name === 'vcpus_max') - // console.log('type', type, name, parameter); - if(name === 'countries') { return 'country'; } From cc6d7b8f1b67aeb8e39172d468f257e8c0ee728c Mon Sep 17 00:00:00 2001 From: "Gergely Daroczi (@daroczig)" Date: Thu, 26 Sep 2024 23:17:14 +0200 Subject: [PATCH 45/66] build prod docker image --- .github/workflows/docker.yaml | 39 +++++++++++++++++++++++++++++++ Dockerfile | 44 +++++++++++++++++++++++++++++++++++ 2 files changed, 83 insertions(+) create mode 100644 .github/workflows/docker.yaml create mode 100644 Dockerfile diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml new file mode 100644 index 00000000..f01f0038 --- /dev/null +++ b/.github/workflows/docker.yaml @@ -0,0 +1,39 @@ +name: Build and publish sc-www image for prod +on: + push: + branches: + - main + +jobs: + build-and-push-image: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v4 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: eu-central-1 + - name: Login to Amazon ECR + id: login-ecr + uses: aws-actions/amazon-ecr-login@v2 + - name: Build and push Docker image + uses: docker/build-push-action@v5 + with: + file: Dockerfile + context: . + push: true + tags: ${{ steps.login-ecr.outputs.registry }}/${{ secrets.ECR_REPO_NAME }}:latest + build-args: | + POSTHOG_KEY=${{ secrets.POSTHOG_KEY }} + POSTHOG_HOST=${{ secrets.POSTHOG_HOST }} + SENTRY_DSN=${{ secrets.SENTRY_DSN }} + SENTRY_ENVIRONMENT=production + SENTRY_ORG=${{ secrets.SENTRY_ORG }} + SENTRY_PROJECT=${{ secrets.SENTRY_PROJECT }} + SENTRY_URL=${{ secrets.SENTRY_URL }} + SENTRY_RELEASE=${{ env.GITHUB_SHA }} diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..f9e28c6d --- /dev/null +++ b/Dockerfile @@ -0,0 +1,44 @@ +FROM node:lts AS build + +ARG BACKEND_BASE_URI=https://keeper.sparecores.net +ENV NG_APP_BACKEND_BASE_URI=$BACKEND_BASE_URI +ARG BACKEND_BASE_URI_SSR=https://keeper.sparecores.net +ENV NG_APP_BACKEND_BASE_URI_SSR=$BACKEND_BASE_URI_SSR + +ARG POSTHOG_KEY +ENV NG_APP_POSTHOG_KEY=$POSTHOG_KEY +ARG POSTHOG_HOST +ENV NG_APP_POSTHOG_HOST=$POSTHOG_HOST + +ARG SENTRY_ORG +ENV SENTRY_ORG=$SENTRY_ORG +ARG SENTRY_PROJECT +ENV SENTRY_PROJECT=$SENTRY_PROJECT +ARG SENTRY_URL +ENV SENTRY_URL=$SENTRY_URL + +ARG SENTRY_DSN +ENV NG_APP_SENTRY_DSN=$SENTRY_DSN +ARG SENTRY_TRACE_SAMPLE_RATE=0 +ENV NG_APP_SENTRY_TRACE_SAMPLE_RATE=$SENTRY_TRACE_SAMPLE_RATE +ARG SENTRY_PROFILE_SAMPLE_RATE=0 +ENV NG_APP_SENTRY_PROFILE_SAMPLE_RATE=$SENTRY_PROFILE_SAMPLE_RATE +ARG SENTRY_ENVIRONMENT=development +ENV NG_APP_SENTRY_ENVIRONMENT=$SENTRY_ENVIRONMENT +ARG SENTRY_RELEASE +ENV NG_APP_SENTRY_RELEASE=$SENTRY_RELEASE + +WORKDIR /usr/src/app +COPY package*.json ./ +RUN npm install +COPY . . +RUN npm run build \ + --mount=type=secret,id=aws-key-id,env=AWS_ACCESS_KEY_ID + +FROM node:lts +COPY package*.json ./ +RUN npm install --omit=dev --no-audit +COPY --from=build /usr/src/app/dist/sc-www/server /usr/share/www +COPY --from=build /usr/src/app/dist/sc-www/browser /usr/share/www/static +EXPOSE 3000 +CMD ["node", "/usr/share/www/server.mjs"] From 664aa5a2e686bd84b7de4baf6486d56173820781 Mon Sep 17 00:00:00 2001 From: "Gergely Daroczi (@daroczig)" Date: Thu, 26 Sep 2024 23:29:04 +0200 Subject: [PATCH 46/66] inject legal docs --- .github/workflows/docker.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index f01f0038..aab4cb14 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -12,6 +12,11 @@ jobs: uses: actions/checkout@v4 with: fetch-depth: 0 + - name: Inject legal docs + env: + LEGAL_TOKEN=${{ secrets.LEGAL_TOKEN }} + LEGAL_URL=${{ secrets.LEGAL_URL }} + run: 'curl -s -L -H "Authorization: token ${LEGAL_TOKEN}" ${LEGAL_URL} | tar xz --strip-components=1' - name: Configure AWS credentials uses: aws-actions/configure-aws-credentials@v4 with: From c5fed771ab017721554dc10041f2bd99523ffbb7 Mon Sep 17 00:00:00 2001 From: "Gergely Daroczi (@daroczig)" Date: Thu, 26 Sep 2024 23:29:12 +0200 Subject: [PATCH 47/66] ping sentry about new release --- .github/workflows/docker.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index aab4cb14..0c297432 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -42,3 +42,9 @@ jobs: SENTRY_PROJECT=${{ secrets.SENTRY_PROJECT }} SENTRY_URL=${{ secrets.SENTRY_URL }} SENTRY_RELEASE=${{ env.GITHUB_SHA }} + + - name: Sentry release + env: + DOCKER_IMAGE: ${{ steps.login-ecr.outputs.registry }}/${{ secrets.ECR_REPO_NAME }}:latest + SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} + run: docker run -ti --rm ${DOCKER_IMAGE} npm run sentry:release From de336337fff6ed5620083e882c185fc2be262fb9 Mon Sep 17 00:00:00 2001 From: "Gergely Daroczi (@daroczig)" Date: Thu, 26 Sep 2024 23:32:52 +0200 Subject: [PATCH 48/66] yaml syntax typo --- .github/workflows/docker.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index 0c297432..04df574c 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -14,8 +14,8 @@ jobs: fetch-depth: 0 - name: Inject legal docs env: - LEGAL_TOKEN=${{ secrets.LEGAL_TOKEN }} - LEGAL_URL=${{ secrets.LEGAL_URL }} + LEGAL_TOKEN: ${{ secrets.LEGAL_TOKEN }} + LEGAL_URL: ${{ secrets.LEGAL_URL }} run: 'curl -s -L -H "Authorization: token ${LEGAL_TOKEN}" ${LEGAL_URL} | tar xz --strip-components=1' - name: Configure AWS credentials uses: aws-actions/configure-aws-credentials@v4 From 1ba8804cbbe2b04e8cd71584c6699543e681861b Mon Sep 17 00:00:00 2001 From: "Gergely Daroczi (@daroczig)" Date: Thu, 26 Sep 2024 23:36:16 +0200 Subject: [PATCH 49/66] drop the need for TTY --- .github/workflows/docker.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index 04df574c..f77c119e 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -47,4 +47,5 @@ jobs: env: DOCKER_IMAGE: ${{ steps.login-ecr.outputs.registry }}/${{ secrets.ECR_REPO_NAME }}:latest SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} - run: docker run -ti --rm ${DOCKER_IMAGE} npm run sentry:release + run: docker run --rm ${DOCKER_IMAGE} npm run sentry:release + From b4ef729c2f6f2e9d2afe95ed6307d7a69f6a7e9e Mon Sep 17 00:00:00 2001 From: "Gergely Daroczi (@daroczig)" Date: Thu, 26 Sep 2024 23:43:16 +0200 Subject: [PATCH 50/66] mount git repo for commits --- .github/workflows/docker.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index f77c119e..971425a8 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -47,5 +47,5 @@ jobs: env: DOCKER_IMAGE: ${{ steps.login-ecr.outputs.registry }}/${{ secrets.ECR_REPO_NAME }}:latest SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} - run: docker run --rm ${DOCKER_IMAGE} npm run sentry:release + run: docker run --rm -v "$GITHUB_WORKSPACE":/repo -w /repo ${DOCKER_IMAGE} npm run sentry:release From ae03752bc13f262f542a59b8a9e620467021c38b Mon Sep 17 00:00:00 2001 From: "Gergely Daroczi (@daroczig)" Date: Thu, 26 Sep 2024 23:43:41 +0200 Subject: [PATCH 51/66] pass down env var --- .github/workflows/docker.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index 971425a8..ac1afd92 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -47,5 +47,5 @@ jobs: env: DOCKER_IMAGE: ${{ steps.login-ecr.outputs.registry }}/${{ secrets.ECR_REPO_NAME }}:latest SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} - run: docker run --rm -v "$GITHUB_WORKSPACE":/repo -w /repo ${DOCKER_IMAGE} npm run sentry:release + run: docker run --rm -v "$GITHUB_WORKSPACE":/repo -w /repo -e SENTRY_AUTH_TOKEN ${DOCKER_IMAGE} npm run sentry:release From 396e98982ea8036daea569ab84af27c1fea512e5 Mon Sep 17 00:00:00 2001 From: "Gergely Daroczi (@daroczig)" Date: Thu, 26 Sep 2024 23:49:59 +0200 Subject: [PATCH 52/66] nonroot --- .github/workflows/docker.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index ac1afd92..f6782125 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -47,5 +47,5 @@ jobs: env: DOCKER_IMAGE: ${{ steps.login-ecr.outputs.registry }}/${{ secrets.ECR_REPO_NAME }}:latest SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} - run: docker run --rm -v "$GITHUB_WORKSPACE":/repo -w /repo -e SENTRY_AUTH_TOKEN ${DOCKER_IMAGE} npm run sentry:release + run: docker run --rm -v "$GITHUB_WORKSPACE":/repo -w /repo -e SENTRY_AUTH_TOKEN --user 1000:1000 ${DOCKER_IMAGE} npm run sentry:release From bbe20f0cf70dad70591f7236bec110605bdfbaa1 Mon Sep 17 00:00:00 2001 From: "Gergely Daroczi (@daroczig)" Date: Thu, 26 Sep 2024 23:58:23 +0200 Subject: [PATCH 53/66] use managed gha step for sentry release --- .github/workflows/docker.yaml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index f6782125..15e5aa0d 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -43,9 +43,13 @@ jobs: SENTRY_URL=${{ secrets.SENTRY_URL }} SENTRY_RELEASE=${{ env.GITHUB_SHA }} - - name: Sentry release + - name: Create Sentry release + uses: getsentry/action-release@v1 env: - DOCKER_IMAGE: ${{ steps.login-ecr.outputs.registry }}/${{ secrets.ECR_REPO_NAME }}:latest SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} - run: docker run --rm -v "$GITHUB_WORKSPACE":/repo -w /repo -e SENTRY_AUTH_TOKEN --user 1000:1000 ${DOCKER_IMAGE} npm run sentry:release + SENTRY_ORG: ${{ secrets.SENTRY_ORG }} + SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }} + SENTRY_URL: ${{ secrets.SENTRY_URL }} + with: + environment: production From 9865050b46aa9ab46b8bfb2e909ae550e7a840de Mon Sep 17 00:00:00 2001 From: "Gergely Daroczi (@daroczig)" Date: Fri, 27 Sep 2024 00:09:30 +0200 Subject: [PATCH 54/66] ignore missing --- .github/workflows/docker.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index 15e5aa0d..2e3c7698 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -52,4 +52,5 @@ jobs: SENTRY_URL: ${{ secrets.SENTRY_URL }} with: environment: production + ignore_missing: true From 92b636d4d49f1cc7a7f3bc1218ac1fda7bc340b3 Mon Sep 17 00:00:00 2001 From: "Gergely Daroczi (@daroczig)" Date: Fri, 27 Sep 2024 13:24:45 +0200 Subject: [PATCH 55/66] dynamic cache control --- server.ts | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/server.ts b/server.ts index 7870061a..0876cbca 100644 --- a/server.ts +++ b/server.ts @@ -37,9 +37,24 @@ export function app(): express.Express { // Serve static files server.get('*.*', express.static(browserDistFolder, { - maxAge: '1y' + setHeaders: (res, path) => { + const generatedJsPattern = /-[A-Z0-9]+\.(js|css|woff2)$/; + if (generatedJsPattern.test(path)) { + // generated files with hashed filenames can be cached forever + res.setHeader('Cache-Control', 'public, max-age=31536000, immutable'); + } else { + // default to cache for 1 hour + res.setHeader('Cache-Control', 'public, max-age=3600'); + } + } })); + // Cache dynamic content for 10 mins + server.use((req, res, next) => { + res.setHeader('Cache-Control', 'public, max-age=600'); + next(); + }); + // All regular routes use the Angular engine server.get('*', (req, res, next) => { const { protocol, originalUrl, baseUrl, headers } = req; From a6072357657fabb434c3a2a5d0f4922173f52153 Mon Sep 17 00:00:00 2001 From: "Gergely Daroczi (@daroczig)" Date: Fri, 27 Sep 2024 22:31:09 +0200 Subject: [PATCH 56/66] redeploy ECS service --- .github/workflows/docker.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index 2e3c7698..925fe800 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -54,3 +54,10 @@ jobs: environment: production ignore_missing: true + - name: Redeploy ECS service + env: + CLUSTER: ${{ secrets.ECS_CLUSTER }} + SERVICE: ${{ secrets.ECS_SERVICE }} + REGION: eu-central-1 + run: | + aws ecs update-service --cluster $CLUSTER --service $SERVICE --force-new-deployment --region $REGION From 81f62d053751d13fc665a7ea1e95e8e03bc157d3 Mon Sep 17 00:00:00 2001 From: "Gergely Daroczi (@daroczig)" Date: Fri, 27 Sep 2024 22:49:39 +0200 Subject: [PATCH 57/66] switch away from dockerhub due to auth issues --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index f9e28c6d..564b7e4a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:lts AS build +FROM public.ecr.aws/docker/library/node:lts-iron AS build ARG BACKEND_BASE_URI=https://keeper.sparecores.net ENV NG_APP_BACKEND_BASE_URI=$BACKEND_BASE_URI @@ -35,7 +35,7 @@ COPY . . RUN npm run build \ --mount=type=secret,id=aws-key-id,env=AWS_ACCESS_KEY_ID -FROM node:lts +FROM public.ecr.aws/docker/library/node:lts-iron COPY package*.json ./ RUN npm install --omit=dev --no-audit COPY --from=build /usr/src/app/dist/sc-www/server /usr/share/www From 32c0f139167eedb048989d884e2bdc62742363ef Mon Sep 17 00:00:00 2001 From: "Gergely Daroczi (@daroczig)" Date: Fri, 27 Sep 2024 23:19:59 +0200 Subject: [PATCH 58/66] enable sentry --- .github/workflows/docker.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index 925fe800..5c10317c 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -42,6 +42,8 @@ jobs: SENTRY_PROJECT=${{ secrets.SENTRY_PROJECT }} SENTRY_URL=${{ secrets.SENTRY_URL }} SENTRY_RELEASE=${{ env.GITHUB_SHA }} + SENTRY_TRACE_SAMPLE_RATE=1 + SENTRY_PROFILE_SAMPLE_RATE=1 - name: Create Sentry release uses: getsentry/action-release@v1 From 80daeec514ae7edbfef1fe688681dd03fe203cf5 Mon Sep 17 00:00:00 2001 From: "Gergely Daroczi (@daroczig)" Date: Fri, 27 Sep 2024 23:46:52 +0200 Subject: [PATCH 59/66] move cache headers to middleware and fix giscuss.css CORS --- server.ts | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/server.ts b/server.ts index 0876cbca..4cc92040 100644 --- a/server.ts +++ b/server.ts @@ -35,19 +35,26 @@ export function app(): express.Express { server.set('view engine', 'html'); server.set('views', browserDistFolder); - // Serve static files - server.get('*.*', express.static(browserDistFolder, { - setHeaders: (res, path) => { - const generatedJsPattern = /-[A-Z0-9]+\.(js|css|woff2)$/; - if (generatedJsPattern.test(path)) { - // generated files with hashed filenames can be cached forever - res.setHeader('Cache-Control', 'public, max-age=31536000, immutable'); - } else { - // default to cache for 1 hour - res.setHeader('Cache-Control', 'public, max-age=3600'); - } + // cache headers for the static files + server.use((req, res, next) => { + const generatedJsPattern = /-[A-Z0-9]+\.(js|css|woff2)$/; + if (req.path === '/assets/giscus.css') { + // CORS for hosted file referencing external resources + res.setHeader('Access-Control-Allow-Origin', 'https://giscus.app'); + res.setHeader('Access-Control-Allow-Methods', 'OPTIONS,GET'); + res.setHeader('Cache-Control', 'public, max-age=86400'); + } else if (generatedJsPattern.test(req.path)) { + // Generated files with hashed filenames can be cached forever + res.setHeader('Cache-Control', 'public, max-age=31536000, immutable'); + } else { + // Default cache for 1 hour + res.setHeader('Cache-Control', 'public, max-age=3600'); } - })); + next(); + }); + + // Serve static files + server.get('*.*', express.static(browserDistFolder)); // Cache dynamic content for 10 mins server.use((req, res, next) => { From 8dc7e22e8875be3db629a2b1cf0c4aa10524bbc1 Mon Sep 17 00:00:00 2001 From: "Gergely Daroczi (@daroczig)" Date: Sun, 29 Sep 2024 00:06:34 +0200 Subject: [PATCH 60/66] add healthcheck endpoint --- server.ts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/server.ts b/server.ts index 4cc92040..ce4d3128 100644 --- a/server.ts +++ b/server.ts @@ -1,3 +1,4 @@ +import os from 'os'; import { APP_BASE_HREF } from '@angular/common'; import { CommonEngine } from '@angular/ssr'; import express from 'express'; @@ -35,6 +36,24 @@ export function app(): express.Express { server.set('view engine', 'html'); server.set('views', browserDistFolder); + // return early with stats + server.get('/healthcheck', (req, res) => { + const resourceUsage = process.resourceUsage(); + const stats = { + status: 'healthy', + host: os.hostname(), + memory: { + maxRss: resourceUsage.maxRSS, + }, + cpu: { + user: resourceUsage.userCPUTime, + system: resourceUsage.systemCPUTime, + }, + uptime: process.uptime().toFixed(2) + }; + res.status(200).json(stats); + }); + // cache headers for the static files server.use((req, res, next) => { const generatedJsPattern = /-[A-Z0-9]+\.(js|css|woff2)$/; From 5a65098b3b9f52f297281ac603db4f1bafaa6313 Mon Sep 17 00:00:00 2001 From: "Gergely Daroczi (@daroczig)" Date: Sun, 29 Sep 2024 00:29:28 +0200 Subject: [PATCH 61/66] log how long it took to generate dynamic content (ssr) --- server.ts | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/server.ts b/server.ts index ce4d3128..9a5291fe 100644 --- a/server.ts +++ b/server.ts @@ -10,11 +10,15 @@ import { REQUEST, RESPONSE } from './src/express.tokens'; // The Express app is exported so that it can be used by serverless Functions. export function app(): express.Express { const server = express(); + const loggerData: Record = {}; // access log server.use((req, res, next) => { + loggerData.startTime = new Date(); + loggerData.resourceUsage = process.resourceUsage(); const { protocol, originalUrl, ip, headers } = req; const log = { + event: "request", method: req.method, path: originalUrl, userAgent: headers['user-agent'], @@ -38,16 +42,15 @@ export function app(): express.Express { // return early with stats server.get('/healthcheck', (req, res) => { - const resourceUsage = process.resourceUsage(); const stats = { status: 'healthy', host: os.hostname(), memory: { - maxRss: resourceUsage.maxRSS, + maxRss: loggerData.resourceUsage.maxRSS, }, cpu: { - user: resourceUsage.userCPUTime, - system: resourceUsage.systemCPUTime, + user: loggerData.resourceUsage.userCPUTime, + sys: loggerData.resourceUsage.systemCPUTime, }, uptime: process.uptime().toFixed(2) }; @@ -81,10 +84,27 @@ export function app(): express.Express { next(); }); + // log time to generate dynamic content + server.use((req, res, next) => { + res.on("close", () => { + const currentResourceUsage = process.resourceUsage(); + const currentTime = new Date(); + const elapsedTime = currentTime.getTime() - loggerData.startTime.getTime(); + const log = { + event: "response", + path: req.originalUrl, + real: elapsedTime / 1e3, + user: (currentResourceUsage.userCPUTime - loggerData.resourceUsage.userCPUTime) / 1e6, + sys: (currentResourceUsage.systemCPUTime - loggerData.resourceUsage.systemCPUTime) / 1e6, + } + console.log(JSON.stringify(log)); + }) + next() + }) + // All regular routes use the Angular engine server.get('*', (req, res, next) => { const { protocol, originalUrl, baseUrl, headers } = req; - commonEngine .render({ bootstrap, From 74b4cdff6de969aee1eb7e84bbc13bf3bc3a4a54 Mon Sep 17 00:00:00 2001 From: "Gergely Daroczi (@daroczig)" Date: Sun, 29 Sep 2024 00:31:29 +0200 Subject: [PATCH 62/66] log wait time --- server.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/server.ts b/server.ts index 9a5291fe..afba3e86 100644 --- a/server.ts +++ b/server.ts @@ -89,13 +89,16 @@ export function app(): express.Express { res.on("close", () => { const currentResourceUsage = process.resourceUsage(); const currentTime = new Date(); - const elapsedTime = currentTime.getTime() - loggerData.startTime.getTime(); + const elapsedTime = currentTime.getTime() - loggerData.startTime.getTime() / 1e3; + const userTime = (currentResourceUsage.userCPUTime - loggerData.resourceUsage.userCPUTime) / 1e6; + const sysTime = (currentResourceUsage.systemCPUTime - loggerData.resourceUsage.systemCPUTime) / 1e6; const log = { event: "response", path: req.originalUrl, - real: elapsedTime / 1e3, - user: (currentResourceUsage.userCPUTime - loggerData.resourceUsage.userCPUTime) / 1e6, - sys: (currentResourceUsage.systemCPUTime - loggerData.resourceUsage.systemCPUTime) / 1e6, + real: elapsedTime, + user: userTime, + sys: sysTime, + wait: elapsedTime - userTime - sysTime, } console.log(JSON.stringify(log)); }) From af3ddabca1ce57a476d4564387b43108ca9d874f Mon Sep 17 00:00:00 2001 From: "Gergely Daroczi (@daroczig)" Date: Sun, 29 Sep 2024 00:32:31 +0200 Subject: [PATCH 63/66] messed up math exec order --- server.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server.ts b/server.ts index afba3e86..f8e544b5 100644 --- a/server.ts +++ b/server.ts @@ -89,7 +89,7 @@ export function app(): express.Express { res.on("close", () => { const currentResourceUsage = process.resourceUsage(); const currentTime = new Date(); - const elapsedTime = currentTime.getTime() - loggerData.startTime.getTime() / 1e3; + const elapsedTime = (currentTime.getTime() - loggerData.startTime.getTime()) / 1e3; const userTime = (currentResourceUsage.userCPUTime - loggerData.resourceUsage.userCPUTime) / 1e6; const sysTime = (currentResourceUsage.systemCPUTime - loggerData.resourceUsage.systemCPUTime) / 1e6; const log = { From c630238bcfeb96dd7b7bf332c2f4f13b93ed1d73 Mon Sep 17 00:00:00 2001 From: "Gergely Daroczi (@daroczig)" Date: Sun, 29 Sep 2024 00:32:58 +0200 Subject: [PATCH 64/66] redirect from www --- server.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/server.ts b/server.ts index f8e544b5..f7e07511 100644 --- a/server.ts +++ b/server.ts @@ -57,6 +57,16 @@ export function app(): express.Express { res.status(200).json(stats); }); + // redirect from www + server.use((req, res, next) => { + const host = req.hostname; + if (host.startsWith('www.')) { + const newHost = host.substring(4); + return res.redirect(301, `http://${newHost}${req.originalUrl}`); + } + next(); + }); + // cache headers for the static files server.use((req, res, next) => { const generatedJsPattern = /-[A-Z0-9]+\.(js|css|woff2)$/; From cc3806224dcf99006fdd4e4a5de3fe2c2404dc18 Mon Sep 17 00:00:00 2001 From: "Gergely Daroczi (@daroczig)" Date: Sun, 29 Sep 2024 00:35:13 +0200 Subject: [PATCH 65/66] fix lookup protocol --- server.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server.ts b/server.ts index f7e07511..45dd3467 100644 --- a/server.ts +++ b/server.ts @@ -62,7 +62,7 @@ export function app(): express.Express { const host = req.hostname; if (host.startsWith('www.')) { const newHost = host.substring(4); - return res.redirect(301, `http://${newHost}${req.originalUrl}`); + return res.redirect(301, `${req.protocol}://${newHost}${req.originalUrl}`); } next(); }); From fbfcb7c398e3d217cb9a726c6b508c239d6ef638 Mon Sep 17 00:00:00 2001 From: "Gergely Daroczi (@daroczig)" Date: Sun, 29 Sep 2024 00:36:14 +0200 Subject: [PATCH 66/66] round --- server.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/server.ts b/server.ts index 45dd3467..7312065b 100644 --- a/server.ts +++ b/server.ts @@ -105,10 +105,10 @@ export function app(): express.Express { const log = { event: "response", path: req.originalUrl, - real: elapsedTime, - user: userTime, - sys: sysTime, - wait: elapsedTime - userTime - sysTime, + real: elapsedTime.toFixed(2), + user: userTime.toFixed(2), + sys: sysTime.toFixed(2), + wait: (elapsedTime - userTime - sysTime).toFixed(2), } console.log(JSON.stringify(log)); })