Skip to content

Commit 876c56a

Browse files
feat(pci-instances): gpu flavors
ref: #TAPC-5145 Signed-off-by: Manon Carbonnel <[email protected]> Co-authored-by: CDS Translator Agent <[email protected]>
1 parent 84e23a7 commit 876c56a

21 files changed

+738
-174
lines changed

packages/manager/apps/pci-instances/public/translations/creation/Messages_de_DE.json

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,5 +39,16 @@
3939
"pci_instance_creation_select_image_title": "Wählen Sie ein Bild aus",
4040
"pci_instance_creation_select_image_help_title": "Bilder",
4141
"pci_instance_creation_select_image_help_text": "Die in diesem Schritt verfügbaren Bilder hängen von den in den vorherigen Schritten getroffenen Entscheidungen ab, d.h. von der Kompatibilität mit dem Instanzmodell und der regionalen Verfügbarkeit. Wenn Sie beispielsweise ein Windows-Betriebssystem auswählen möchten und keine Windows-Distributionen verfügbar sind, müssen Sie Ihre Auswahl in den vorherigen Schritten ändern.",
42-
"pci_instance_creation_select_image_life_cycle_help_label": "Lebenszyklus einer Distribution bei OVH"
42+
"pci_instance_creation_select_image_life_cycle_help_label": "Lebenszyklus einer Distribution bei OVH",
43+
"pci_instance_creation_table_header_gpu": "GPU",
44+
"pci_instance_creation_table_header_number_of_gpu": "Anzahl der GPUs",
45+
"pci_instance_creation_table_header_vram_total": "Gesamter vRAM",
46+
"pci_instance_creation_table_header_price_ht_by_hour": "Preis ohne Steuern/Stunde",
47+
"pci_instance_creation_table_header_price_ht_by_month": "Preis / Monat",
48+
"pci_instance_creation_cart_flavor_numberOfGpu": "Knoten",
49+
"pci_instance_creation_cart_flavor_memory": "RAM",
50+
"pci_instance_creation_cart_flavor_vRamTotal": "GB vRAM",
51+
"pci_instance_creation_cart_flavor_vCore": "vCores",
52+
"pci_instance_creation_cart_flavor_bandwidthPrivate": "(Privat)",
53+
"pci_instance_creation_cart_flavor_bandwidthPublic": "(Öffentlich)"
4354
}

packages/manager/apps/pci-instances/public/translations/creation/Messages_en_GB.json

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,5 +39,16 @@
3939
"pci_instance_creation_select_image_title": "Select an image",
4040
"pci_instance_creation_select_image_help_title": "Images",
4141
"pci_instance_creation_select_image_help_text": "The images available at this stage depend on the choices made in the previous steps, that is to say, on compatibility with the instance model and regional availability. For example, if you want to select a Windows operating system and there are no Windows distributions available, you need to change your choices from the previous steps.",
42-
"pci_instance_creation_select_image_life_cycle_help_label": "Lifecycle of a distribution at OVH"
42+
"pci_instance_creation_select_image_life_cycle_help_label": "Lifecycle of a distribution at OVH",
43+
"pci_instance_creation_table_header_gpu": "GPU",
44+
"pci_instance_creation_table_header_number_of_gpu": "Number of GPUs",
45+
"pci_instance_creation_table_header_vram_total": "Total vRAM",
46+
"pci_instance_creation_table_header_price_ht_by_hour": "Price excl. VAT/hour",
47+
"pci_instance_creation_table_header_price_ht_by_month": "Price ex. VAT/month",
48+
"pci_instance_creation_cart_flavor_numberOfGpu": "node(s)",
49+
"pci_instance_creation_cart_flavor_memory": "RAM",
50+
"pci_instance_creation_cart_flavor_vRamTotal": "GB vRAM",
51+
"pci_instance_creation_cart_flavor_vCore": "vCores",
52+
"pci_instance_creation_cart_flavor_bandwidthPrivate": "(Private)",
53+
"pci_instance_creation_cart_flavor_bandwidthPublic": "(Public)"
4354
}

packages/manager/apps/pci-instances/public/translations/creation/Messages_es_ES.json

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,5 +39,16 @@
3939
"pci_instance_creation_select_image_title": "Seleccione una imagen",
4040
"pci_instance_creation_select_image_help_title": "Imágenes",
4141
"pci_instance_creation_select_image_help_text": "Las imágenes disponibles en esta etapa dependen de las elecciones realizadas en las etapas anteriores, es decir, de la compatibilidad con el modelo de instancia y de la disponibilidad regional. Por ejemplo, si desea seleccionar un sistema operativo Windows y no hay distribuciones de Windows disponibles, debe modificar sus elecciones de las etapas anteriores.",
42-
"pci_instance_creation_select_image_life_cycle_help_label": "Ciclo de vida de una distribución en OVH"
42+
"pci_instance_creation_select_image_life_cycle_help_label": "Ciclo de vida de una distribución en OVH",
43+
"pci_instance_creation_table_header_gpu": "GPU",
44+
"pci_instance_creation_table_header_number_of_gpu": "Número de GPU",
45+
"pci_instance_creation_table_header_vram_total": "vRAM total",
46+
"pci_instance_creation_table_header_price_ht_by_hour": "Precio sin IVA/hora",
47+
"pci_instance_creation_table_header_price_ht_by_month": "Precio/Mes (+ IVA)",
48+
"pci_instance_creation_cart_flavor_numberOfGpu": "nodo(s)",
49+
"pci_instance_creation_cart_flavor_memory": "RAM",
50+
"pci_instance_creation_cart_flavor_vRamTotal": "Go vRAM",
51+
"pci_instance_creation_cart_flavor_vCore": "vCores",
52+
"pci_instance_creation_cart_flavor_bandwidthPrivate": "(Privado)",
53+
"pci_instance_creation_cart_flavor_bandwidthPublic": "(Público)"
4354
}

packages/manager/apps/pci-instances/public/translations/creation/Messages_fr_CA.json

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@
3232
"pci_instance_creation_select_flavor_category_label": "Modèle d'instance",
3333
"pci_instance_creation_select_flavor_include_unavailable_action": "Inclure les indisponibles",
3434
"pci_instance_creation_table_header_name": "Nom",
35+
"pci_instance_creation_table_header_gpu": "GPU",
36+
"pci_instance_creation_table_header_number_of_gpu": "Nombre de GPU",
37+
"pci_instance_creation_table_header_vram_total": "vRAM total",
3538
"pci_instance_creation_table_header_memory": "Mémoire",
3639
"pci_instance_creation_table_header_memory_unit": "(Go)",
3740
"pci_instance_creation_table_header_vcore": "vCore",
@@ -41,7 +44,9 @@
4144
"pci_instance_creation_table_header_mode": "Déploiement",
4245
"pci_instance_creation_table_header_price": "Prix",
4346
"pci_instance_creation_table_header_price_hourly_unit": "HT/heure",
47+
"pci_instance_creation_table_header_price_ht_by_hour": "Prix HT/heure",
4448
"pci_instance_creation_table_header_price_monthly_unit": "HT/mois",
49+
"pci_instance_creation_table_header_price_ht_by_month": "Prix HT/mois",
4550
"pci_instance_creation_flavor_unavailable": "Indisponible",
4651
"pci_instance_creation_flavor_unavailable_help": "Ce modèle n'est pas disponible dans votre région sélectionnée. Vous pouvez toutefois le sélectionner, mais vous devrez choisir une autre région pour ce modèle.",
4752
"pci_instance_creation_flavor_unavailable_quota": "Quota indisponible",
@@ -60,5 +65,11 @@
6065
"pci_instance_creation_select_image_title": "Sélectionnez une image",
6166
"pci_instance_creation_select_image_help_title": "Images",
6267
"pci_instance_creation_select_image_help_text": "Les images disponibles à cette étape dépendent des choix opérés lors des étapes précédentes, c'est-à-dire de la compatibilité avec le modèle d'instance et de la disponibilité régionale. Par exemple, si vous souhaitez sélectionner un système d'exploitation Windows et qu'il n'y a pas de distributions Windows disponibles, vous devez modifier vos choix des étapes précédentes.",
63-
"pci_instance_creation_select_image_life_cycle_help_label": "Cycle de vie d'une distribution chez OVH"
68+
"pci_instance_creation_select_image_life_cycle_help_label": "Cycle de vie d'une distribution chez OVH",
69+
"pci_instance_creation_cart_flavor_numberOfGpu": "noeud(s)",
70+
"pci_instance_creation_cart_flavor_memory": "RAM",
71+
"pci_instance_creation_cart_flavor_vRamTotal": "Go vRAM",
72+
"pci_instance_creation_cart_flavor_vCore": "vCores",
73+
"pci_instance_creation_cart_flavor_bandwidthPrivate": "(Privé)",
74+
"pci_instance_creation_cart_flavor_bandwidthPublic": "(Public)"
6475
}

packages/manager/apps/pci-instances/public/translations/creation/Messages_fr_FR.json

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@
3232
"pci_instance_creation_select_flavor_category_label": "Modèle d'instance",
3333
"pci_instance_creation_select_flavor_include_unavailable_action": "Inclure les indisponibles",
3434
"pci_instance_creation_table_header_name": "Nom",
35+
"pci_instance_creation_table_header_gpu": "GPU",
36+
"pci_instance_creation_table_header_number_of_gpu": "Nombre de GPU",
37+
"pci_instance_creation_table_header_vram_total": "vRAM total",
3538
"pci_instance_creation_table_header_memory": "Mémoire",
3639
"pci_instance_creation_table_header_memory_unit": "(Go)",
3740
"pci_instance_creation_table_header_vcore": "vCore",
@@ -41,7 +44,9 @@
4144
"pci_instance_creation_table_header_mode": "Déploiement",
4245
"pci_instance_creation_table_header_price": "Prix",
4346
"pci_instance_creation_table_header_price_hourly_unit": "HT/heure",
47+
"pci_instance_creation_table_header_price_ht_by_hour": "Prix HT/heure",
4448
"pci_instance_creation_table_header_price_monthly_unit": "HT/mois",
49+
"pci_instance_creation_table_header_price_ht_by_month": "Prix HT/mois",
4550
"pci_instance_creation_flavor_unavailable": "Indisponible",
4651
"pci_instance_creation_flavor_unavailable_help": "Ce modèle n'est pas disponible dans votre région sélectionnée. Vous pouvez toutefois le sélectionner, mais vous devrez choisir une autre région pour ce modèle.",
4752
"pci_instance_creation_flavor_unavailable_quota": "Quota indisponible",
@@ -60,5 +65,11 @@
6065
"pci_instance_creation_select_image_title": "Sélectionnez une image",
6166
"pci_instance_creation_select_image_help_title": "Images",
6267
"pci_instance_creation_select_image_help_text": "Les images disponibles à cette étape dépendent des choix opérés lors des étapes précédentes, c'est-à-dire de la compatibilité avec le modèle d'instance et de la disponibilité régionale. Par exemple, si vous souhaitez sélectionner un système d'exploitation Windows et qu'il n'y a pas de distributions Windows disponibles, vous devez modifier vos choix des étapes précédentes.",
63-
"pci_instance_creation_select_image_life_cycle_help_label": "Cycle de vie d'une distribution chez OVH"
68+
"pci_instance_creation_select_image_life_cycle_help_label": "Cycle de vie d'une distribution chez OVH",
69+
"pci_instance_creation_cart_flavor_numberOfGpu": "noeud(s)",
70+
"pci_instance_creation_cart_flavor_memory": "RAM",
71+
"pci_instance_creation_cart_flavor_vRamTotal": "Go vRAM",
72+
"pci_instance_creation_cart_flavor_vCore": "vCores",
73+
"pci_instance_creation_cart_flavor_bandwidthPrivate": "(Privé)",
74+
"pci_instance_creation_cart_flavor_bandwidthPublic": "(Public)"
6475
}

packages/manager/apps/pci-instances/public/translations/creation/Messages_it_IT.json

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,5 +39,16 @@
3939
"pci_instance_creation_select_image_title": "Seleziona un'immagine",
4040
"pci_instance_creation_select_image_help_title": "ISO",
4141
"pci_instance_creation_select_image_help_text": "Le immagini disponibili in questo passaggio dipendono dalle scelte effettuate nei passaggi precedenti, ovvero dalla compatibilità con il modello di istanza e dalla disponibilità regionale. Ad esempio, se desideri selezionare un sistema operativo Windows e non ci sono distribuzioni Windows disponibili, devi modificare le tue scelte nei passaggi precedenti.",
42-
"pci_instance_creation_select_image_life_cycle_help_label": "Ciclo di vita di una distribuzione presso OVH"
42+
"pci_instance_creation_select_image_life_cycle_help_label": "Ciclo di vita di una distribuzione presso OVH",
43+
"pci_instance_creation_table_header_gpu": "GPU",
44+
"pci_instance_creation_table_header_number_of_gpu": "Numero di GPU",
45+
"pci_instance_creation_table_header_vram_total": "vRAM totale",
46+
"pci_instance_creation_table_header_price_ht_by_hour": "Prezzo HT/ora",
47+
"pci_instance_creation_table_header_price_ht_by_month": "Prezzo +IVA/mese",
48+
"pci_instance_creation_cart_flavor_numberOfGpu": "nodo(i)",
49+
"pci_instance_creation_cart_flavor_memory": "RAM",
50+
"pci_instance_creation_cart_flavor_vRamTotal": "Go vRAM",
51+
"pci_instance_creation_cart_flavor_vCore": "vCore",
52+
"pci_instance_creation_cart_flavor_bandwidthPrivate": "(Privato)",
53+
"pci_instance_creation_cart_flavor_bandwidthPublic": "(Pubblico)"
4354
}

packages/manager/apps/pci-instances/public/translations/creation/Messages_pl_PL.json

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,5 +39,16 @@
3939
"pci_instance_creation_select_image_title": "Wybierz obraz",
4040
"pci_instance_creation_select_image_help_title": "Systemy",
4141
"pci_instance_creation_select_image_help_text": "Dostępne obrazy na tym etapie zależą od wyborów dokonanych w poprzednich etapach, to znaczy od zgodności z modelem instancji i dostępności regionalnej. Na przykład, jeśli chcesz wybrać system operacyjny Windows, a nie ma dostępnych dystrybucji Windows, musisz zmienić swoje wybory z poprzednich etapów.",
42-
"pci_instance_creation_select_image_life_cycle_help_label": "Cykl życia dystrybucji w OVH"
42+
"pci_instance_creation_select_image_life_cycle_help_label": "Cykl życia dystrybucji w OVH",
43+
"pci_instance_creation_table_header_gpu": "GPU",
44+
"pci_instance_creation_table_header_number_of_gpu": "Liczba GPU",
45+
"pci_instance_creation_table_header_vram_total": "Całkowita vRAM",
46+
"pci_instance_creation_table_header_price_ht_by_hour": "Cena netto/godzinę",
47+
"pci_instance_creation_table_header_price_ht_by_month": "Cena netto/m-c",
48+
"pci_instance_creation_cart_flavor_numberOfGpu": "węzeł/węzły",
49+
"pci_instance_creation_cart_flavor_memory": "RAM",
50+
"pci_instance_creation_cart_flavor_vRamTotal": "Go vRAM",
51+
"pci_instance_creation_cart_flavor_vCore": "vCores",
52+
"pci_instance_creation_cart_flavor_bandwidthPrivate": "(Prywatny)",
53+
"pci_instance_creation_cart_flavor_bandwidthPublic": "(Publiczny)"
4354
}

packages/manager/apps/pci-instances/public/translations/creation/Messages_pt_PT.json

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,5 +39,16 @@
3939
"pci_instance_creation_select_image_title": "Selecione uma imagem",
4040
"pci_instance_creation_select_image_help_title": "Imagens",
4141
"pci_instance_creation_select_image_help_text": "As imagens disponíveis nesta etapa dependem das escolhas feitas nas etapas anteriores, ou seja, da compatibilidade com o modelo de instância e da disponibilidade regional. Por exemplo, se você deseja selecionar um sistema operativo Windows e não há distribuições Windows disponíveis, deve alterar suas escolhas nas etapas anteriores.",
42-
"pci_instance_creation_select_image_life_cycle_help_label": "Ciclo de vida de uma distribuição na OVH"
42+
"pci_instance_creation_select_image_life_cycle_help_label": "Ciclo de vida de uma distribuição na OVH",
43+
"pci_instance_creation_table_header_gpu": "GPU",
44+
"pci_instance_creation_table_header_number_of_gpu": "Número de GPU",
45+
"pci_instance_creation_table_header_vram_total": "vRAM total",
46+
"pci_instance_creation_table_header_price_ht_by_hour": "Preço sem IVA/hora",
47+
"pci_instance_creation_table_header_price_ht_by_month": "Preço s/IVA/mês",
48+
"pci_instance_creation_cart_flavor_numberOfGpu": "nó(s)",
49+
"pci_instance_creation_cart_flavor_memory": "RAM",
50+
"pci_instance_creation_cart_flavor_vRamTotal": "Go vRAM",
51+
"pci_instance_creation_cart_flavor_vCore": "vCores",
52+
"pci_instance_creation_cart_flavor_bandwidthPrivate": "(Privado)",
53+
"pci_instance_creation_cart_flavor_bandwidthPublic": "(Público)"
4354
}

packages/manager/apps/pci-instances/src/__mocks__/instance/constants.ts

Lines changed: 63 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
/* eslint-disable max-lines */
21
import { TInstancesCatalogDTO } from '@/adapters/tanstack/instancesCatalog/right/dto.type';
32
import { TDeploymentModeDataForCard } from '@/pages/instances/create/view-models/deploymentModeViewModel';
43
import { TAggregatedInstance } from '@/types/instance/entity.type';
@@ -10,7 +9,10 @@ import { TDeploymentMode } from '@/types/instance/common.type';
109
import { TRegionData } from '@/pages/instances/create/view-models/localizationsViewModel';
1110
import { TContinentData } from '@/pages/instances/create/view-models/continentsViewModel';
1211
import { TOptionsData } from '@/pages/instances/create/view-models/categoriesTypesViewModel';
13-
import { TFlavorDataForTable } from '@/pages/instances/create/view-models/flavorsViewModel';
12+
import {
13+
TFlavorData,
14+
TGpuFlavorData,
15+
} from '@/pages/instances/create/view-models/flavorsViewModel';
1416
import { ComponentType, SVGProps } from 'react';
1517

1618
export const mockedInstance: TAggregatedInstance = {
@@ -793,14 +795,16 @@ export const mockedFlavorCategories = [
793795
},
794796
];
795797

796-
export const mockedFlavors: TFlavorDataForTable[] = [
798+
export const mockedFlavors: TFlavorData[] = [
797799
{
798800
unavailable: false,
799801
unavailableQuota: false,
800802
name: 'b3-8',
801803
memory: 8,
802804
vCore: 2,
803805
storage: '50NVMe',
806+
bandwidthPublic: '500 Mbit/s',
807+
bandwidthPrivate: '4 Gbit/s max',
804808
mode: 'region-3-az',
805809
hourlyPrice: 0.0465,
806810
monthlyPrice: 25.5,
@@ -812,6 +816,8 @@ export const mockedFlavors: TFlavorDataForTable[] = [
812816
memory: 16,
813817
vCore: 4,
814818
storage: '100NVMe',
819+
bandwidthPublic: '500 Mbit/s',
820+
bandwidthPrivate: '4 Gbit/s max',
815821
mode: 'region-3-az',
816822
hourlyPrice: 0.186,
817823
monthlyPrice: 51.0,
@@ -823,6 +829,8 @@ export const mockedFlavors: TFlavorDataForTable[] = [
823829
memory: 32,
824830
vCore: 8,
825831
storage: '200NVMe',
832+
bandwidthPublic: '500 Mbit/s',
833+
bandwidthPrivate: '4 Gbit/s max',
826834
mode: 'region-3-az',
827835
hourlyPrice: 0.372,
828836
monthlyPrice: 102.0,
@@ -834,6 +842,8 @@ export const mockedFlavors: TFlavorDataForTable[] = [
834842
memory: 256,
835843
vCore: 128,
836844
storage: '400NVMe',
845+
bandwidthPublic: '500 Mbit/s',
846+
bandwidthPrivate: '4 Gbit/s max',
837847
mode: 'region-3-az',
838848
hourlyPrice: 2.9756,
839849
monthlyPrice: 816.0,
@@ -845,6 +855,8 @@ export const mockedFlavors: TFlavorDataForTable[] = [
845855
memory: 512,
846856
vCore: 160,
847857
storage: '400NVMe',
858+
bandwidthPublic: '500 Mbit/s',
859+
bandwidthPrivate: '4 Gbit/s max',
848860
mode: 'region-3-az',
849861
hourlyPrice: 3.7195,
850862
monthlyPrice: 1632.0,
@@ -899,3 +911,51 @@ export const mockedFlavorAvailableRegions = [
899911
],
900912
},
901913
];
914+
915+
export const mockedGpuFlavors: TGpuFlavorData[] = [
916+
{
917+
unavailable: false,
918+
unavailableQuota: false,
919+
name: 'A10-45',
920+
gpu: 'A-10',
921+
numberOfGpu: 1,
922+
vRamTotal: 24,
923+
memory: 45,
924+
vCore: 30,
925+
storage: '400 SSD',
926+
bandwidthPublic: '500 Mbit/s',
927+
bandwidthPrivate: '4 Gbit/s max',
928+
hourlyPrice: 0.76,
929+
monthlyPrice: 554.8,
930+
},
931+
{
932+
unavailable: false,
933+
unavailableQuota: false,
934+
name: 'A10-90',
935+
gpu: 'A-10',
936+
numberOfGpu: 2,
937+
vRamTotal: 48,
938+
memory: 90,
939+
vCore: 60,
940+
storage: '400 SSD',
941+
bandwidthPublic: '500 Mbit/s',
942+
bandwidthPrivate: '4 Gbit/s max',
943+
hourlyPrice: 1.52,
944+
monthlyPrice: 1109.6,
945+
},
946+
{
947+
unavailable: false,
948+
unavailableQuota: false,
949+
name: 'A10-180',
950+
gpu: 'A-10',
951+
numberOfGpu: 4,
952+
vRamTotal: 180,
953+
memory: 180,
954+
vCore: 120,
955+
storage: '400 SSD',
956+
bandwidthPublic: '500 Mbit/s',
957+
bandwidthPrivate: '4 Gbit/s max',
958+
hourlyPrice: 3.04,
959+
monthlyPrice: 2219.2,
960+
},
961+
];

packages/manager/apps/pci-instances/src/components/flavorsTable/FlavorsTable.component.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ export type TFlavorsTableProps = TableProp &
2828
rows: TableRow[];
2929
selectable?: boolean;
3030
onRowClick?: (flavorName: string) => void;
31+
selectedRowId?: string | null;
3132
};
3233

3334
const stickyFirstColumnClasses = [
@@ -49,6 +50,7 @@ export const FlavorsTable = memo(
4950
columns,
5051
rows,
5152
className,
53+
selectedRowId,
5254
onRowClick: onClick,
5355
selectable = false,
5456
size = TABLE_SIZE.md,
@@ -71,6 +73,7 @@ export const FlavorsTable = memo(
7173
columns={columns}
7274
selectable={selectable}
7375
onClick={onClick}
76+
selectedRowId={selectedRowId}
7477
/>
7578
</Table>
7679
</div>

0 commit comments

Comments
 (0)