diff --git a/packages/clients/src/api/baremetal/v1/index.gen.ts b/packages/clients/src/api/baremetal/v1/index.gen.ts index 9f3447ec4..b5ee15ba8 100644 --- a/packages/clients/src/api/baremetal/v1/index.gen.ts +++ b/packages/clients/src/api/baremetal/v1/index.gen.ts @@ -12,6 +12,7 @@ export type { DeleteOptionServerRequest, DeleteServerRequest, Disk, + GPU, GetBMCAccessRequest, GetDefaultPartitioningSchemaRequest, GetOSRequest, diff --git a/packages/clients/src/api/baremetal/v1/marshalling.gen.ts b/packages/clients/src/api/baremetal/v1/marshalling.gen.ts index b16ec930b..104cd871b 100644 --- a/packages/clients/src/api/baremetal/v1/marshalling.gen.ts +++ b/packages/clients/src/api/baremetal/v1/marshalling.gen.ts @@ -17,6 +17,7 @@ import type { CreateServerRequest, CreateServerRequestInstall, Disk, + GPU, GetServerMetricsResponse, IP, InstallServerRequest, @@ -315,6 +316,19 @@ const unmarshalDisk = (data: unknown): Disk => { } as Disk } +const unmarshalGPU = (data: unknown): GPU => { + if (!isJSONObject(data)) { + throw new TypeError( + `Unmarshalling the type 'GPU' failed as data isn't a dictionary.`, + ) + } + + return { + name: data.name, + vram: data.vram, + } as GPU +} + const unmarshalMemory = (data: unknown): Memory => { if (!isJSONObject(data)) { throw new TypeError( @@ -402,6 +416,7 @@ export const unmarshalOffer = (data: unknown): Offer => { disks: unmarshalArrayOfObject(data.disks, unmarshalDisk), enable: data.enable, fee: data.fee ? unmarshalMoney(data.fee) : undefined, + gpus: unmarshalArrayOfObject(data.gpus, unmarshalGPU), id: data.id, incompatibleOsIds: data.incompatible_os_ids, maxBandwidth: data.max_bandwidth, diff --git a/packages/clients/src/api/baremetal/v1/types.gen.ts b/packages/clients/src/api/baremetal/v1/types.gen.ts index 7667acdaa..77ddfd55a 100644 --- a/packages/clients/src/api/baremetal/v1/types.gen.ts +++ b/packages/clients/src/api/baremetal/v1/types.gen.ts @@ -191,6 +191,13 @@ export interface Disk { type: string } +export interface GPU { + /** Name of the GPU. */ + name: string + /** Capacity of the vram in bytes. */ + vram: number +} + export interface Memory { /** Capacity of the memory in bytes. */ capacity: number @@ -470,6 +477,8 @@ export interface Offer { sharedBandwidth: boolean /** Array of tags attached to the offer. */ tags: string[] + /** GPU specifications of the offer. */ + gpus: GPU[] } export interface Option {