Skip to content

Commit 60481c4

Browse files
committed
feat(pci-kubernetes): enable region enabling on cluster
ref: #TAPC-3439 Signed-off-by: Pierre-Philippe <[email protected]>
1 parent dc4f5dd commit 60481c4

21 files changed

+766
-12
lines changed
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"pci_project_regions_list_continent_all": "Alle Standorte",
3+
"pci_project_regions_list_empty": "Kein Standort verfügbar",
4+
"pci_project_regions_list_add": "Bitte aktivieren Sie die letzten Standorte jeder Zone im Bereich <a href=\"{{url}}\" class=\"oui-link\">Standorte</a>.",
5+
"pci_project_regions_list_region": "Standort",
6+
"pci_project_regions_list_quota": "Mein Quota erhöhen",
7+
"pci_project_flavors_zone_compatible": "Kompatibel mit",
8+
"pci_project_flavors_zone_localzone": "Local Zones",
9+
"pci_project_flavors_zone_global_region": "Regionen",
10+
"pci_project_flavors_zone_localzone_tooltip": "Local Zones sind eine neue Art der Lokalisierung, die einen Teil unseres Public-Cloud-Produktportfolios unterstützt. In den nächsten Jahren werden wir die Gesamtzahl der Local Zones weltweit schrittweise erhöhen.",
11+
"pci_project_flavors_zone_globalregions_tooltip": "Die Regionen stützen sich auf ein oder mehrere Rechenzentren, die von OVHcloud verwaltet werden. Jede Region bietet eine oder mehrere Availability Zones mit dem vollständigen OVHcloud Dienstportfolio.",
12+
"pci_project_flavors_zone_tooltip_link": "Mehr erfahren",
13+
"pci_project_flavors_zone_1AZ": "1-AZ",
14+
"pci_project_flavors_zone_3AZ": "3-AZ",
15+
"pci_project_flavors_zone_localzone_1AZ_tooltip": "Eine Local Zone ermöglicht die Bereitstellung der Public-Cloud-Produkte von OVHcloud in Rechenzentren, die sich in unmittelbarer Nähe der Endnutzer:innen befinden.",
16+
"pci_project_flavors_zone_1AZ_with_3AZ_tooltip": "Mit der bevorstehenden Einführung der 3-AZ-Regionen ändern wir den Namen des Bereitstellungstyps „Regionen“! Eine 1-AZ-Region („AZ“ steht für „Availability Zone“) besteht aus einem oder mehreren Rechenzentren, die sich am gleichen Standort befinden.",
17+
"pci_project_flavors_zone_1AZ_tooltip": "Eine 1-AZ-Region („AZ“ steht für „Availability Zone“) besteht aus einem oder mehreren Rechenzentren, die sich am gleichen Standort befinden.",
18+
"pci_project_flavors_zone_3AZ_tooltip": "Eine 3-AZ-Region besteht aus drei Availability Zones, die sich innerhalb des gleichen Ballungsgebiets befinden, aber einige Kilometer voneinander entfernt sind. Sie erfüllt höchste Anforderungen in puncto Resilienz und gewährleistet gleichzeitig eine extrem niedrige Latenz zwischen den AZs."
19+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"pci_project_regions_list_continent_all": "All locations",
3+
"pci_project_regions_list_empty": "No locations are available",
4+
"pci_project_regions_list_add": "Please activate the latest locations in each zone in the <a href=\"{{url}}\" class=\"oui-link\">Locations</a> section",
5+
"pci_project_regions_list_region": "Location",
6+
"pci_project_regions_list_quota": "Increase your quota",
7+
"pci_project_flavors_zone_compatible": "Compatible with",
8+
"pci_project_flavors_zone_localzone": "Local Zones",
9+
"pci_project_flavors_zone_global_region": "Regions",
10+
"pci_project_flavors_zone_localzone_tooltip": "Local Zones are a new type of location, which support part of our Public Cloud product portfolio. We will gradually deploy more Local Zones around the world over the next few years.",
11+
"pci_project_flavors_zone_globalregions_tooltip": "Regions are supported by one or more datacentres managed by OVHcloud. There are one or more Availability Zones in each Region, with a comprehensive portfolio of OVHcloud services.",
12+
"pci_project_flavors_zone_tooltip_link": "Find out more",
13+
"pci_project_flavors_zone_1AZ": "1-AZ",
14+
"pci_project_flavors_zone_3AZ": "3-AZ",
15+
"pci_project_flavors_zone_localzone_1AZ_tooltip": "A Local Zone is a method of deploying OVHcloud Public Cloud products in datacentres that are located as close as possible to the end users.",
16+
"pci_project_flavors_zone_1AZ_with_3AZ_tooltip": "With the arrival of the 3-AZ regions, the ‘Regions’ deployment type is changing its name! A 1-AZ (availability zone) region groups together one or more datacentres located on the same site.",
17+
"pci_project_flavors_zone_1AZ_tooltip": "A 1-AZ (availability zone) region groups together one or more datacentres located on the same site.",
18+
"pci_project_flavors_zone_3AZ_tooltip": "A 3-AZ region comprises three availability zones located in the same metropolitan area, separated by a few miles. It meets the highest resilience requirements while guaranteeing extremely low latency between AZs."
19+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"pci_project_regions_list_continent_all": "Todas las localizaciones",
3+
"pci_project_regions_list_empty": "No hay localizaciones disponibles.",
4+
"pci_project_regions_list_add": "Por favor, active las últimas localizaciones de cada zona en la sección <a href=\"{{url}}\" class=\"oui-link\">Localizaciones</a>.",
5+
"pci_project_regions_list_region": "Localización",
6+
"pci_project_regions_list_quota": "Aumentar los límites de mi cuota",
7+
"pci_project_flavors_zone_compatible": "Compatible con",
8+
"pci_project_flavors_zone_localzone": "Local Zones",
9+
"pci_project_flavors_zone_global_region": "Regiones",
10+
"pci_project_flavors_zone_localzone_tooltip": "Las Local Zones (zonas locales) son un nuevo tipo de localización en la que OVHcloud ofrece determinados servicios de su catálogo de productos Public Cloud. OVHcloud tiene previsto ampliar progresivamente el número de Local Zones disponibles en todo el mundo en los próximos años.",
11+
"pci_project_flavors_zone_globalregions_tooltip": "Las regiones incluyen uno o varios datacenters gestionados por OVHcloud. Cada región ofrece una o varias Availability Zones (zonas de disponibilidad) con todo el catálogo de servicios de OVHcloud.",
12+
"pci_project_flavors_zone_tooltip_link": "Más información",
13+
"pci_project_flavors_zone_1AZ": "1-AZ",
14+
"pci_project_flavors_zone_3AZ": "3-AZ",
15+
"pci_project_flavors_zone_localzone_1AZ_tooltip": "Una Local Zone corresponde a un modo de despliegue de los productos Public Cloud de OVHcloud en datacenters situados más cerca de los usuarios finales.",
16+
"pci_project_flavors_zone_1AZ_with_3AZ_tooltip": "¡Con la llegada de las regiones 3-AZ, el tipo de despliegue «Regiones» cambia de nombre! Una región de 1-AZ (zona de disponibilidad) reúne uno o varios datacenters localizados en una misma ubicación.",
17+
"pci_project_flavors_zone_1AZ_tooltip": "Una región de 1-AZ (zona de disponibilidad) reúne uno o varios datacenters localizados en una misma ubicación.",
18+
"pci_project_flavors_zone_3AZ_tooltip": "Una región 3-AZ incluye tres zonas de disponibilidad situadas en una misma área metropolitana, separadas por algunos kilómetros. Cumple los más altos requisitos de resiliencia, al tiempo que garantiza una latencia extremadamente baja entre los AZ."
19+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"pci_project_regions_list_continent_all": "Toutes les localisations",
3+
"pci_project_regions_list_empty": "Aucune localisation n'est disponible",
4+
"pci_project_regions_list_add": "Nous vous invitons à activer les dernières localisations de chaque zone dans la partie <a href=\"{{url}}\" class=\"oui-link\">Localisations</a>",
5+
"pci_project_regions_list_region": "Localisation",
6+
"pci_project_regions_list_quota": "Augmenter mon quota",
7+
"pci_project_flavors_zone_compatible": "Compatible avec",
8+
"pci_project_flavors_zone_localzone": "Local Zones",
9+
"pci_project_flavors_zone_global_region": "Régions",
10+
"pci_project_flavors_zone_1AZ": "1-AZ",
11+
"pci_project_flavors_zone_3AZ": "3-AZ",
12+
"pci_project_flavors_zone_localzone_tooltip": "Les Local Zones sont un nouveau type de localisation, qui prennent en charge une partie de notre portefeuille de produits Public Cloud. Nous allons progressivement augmenter le nombre total de Local Zones dans le monde au cours des prochaines années.",
13+
"pci_project_flavors_zone_localzone_1AZ_tooltip": "Une Local Zone correspond à un mode de déploiement des produits Public Cloud d’OVHcloud dans des datacenters situés au plus près des utilisateurs finaux.",
14+
"pci_project_flavors_zone_globalregions_tooltip": "Les Régions sont supportées par un ou plusieurs datacenters gérés par OVHCloud. Chaque région fournit une ou plusieurs Availability Zone avec le portefeuille complet de services OVHCloud.",
15+
"pci_project_flavors_zone_1AZ_with_3AZ_tooltip": "Avec l'arrivée prochaine des régions 3-AZ, le type de déploiement 'Régions' change de nom ! Une région 1-AZ (zone de disponibilité) regroupe un ou plusieurs datacenters localisés sur un même site.",
16+
"pci_project_flavors_zone_1AZ_tooltip": "Une région 1-AZ (zone de disponibilité) regroupe un ou plusieurs datacenters localisés sur un même site.",
17+
"pci_project_flavors_zone_3AZ_tooltip": "Une région 3-AZ comprend trois zones de disponibilités situées dans une même aire métropolitaine, séparées par quelques kilomètres. Elle répond aux exigences les plus élevées en matière de résilience tout en garantissant une latence extrêmement faible entre les AZ.",
18+
"pci_project_flavors_zone_tooltip_link": "En savoir plus"
19+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{
2+
"pci_project_regions_list_continent_all": "Toutes les localisations",
3+
"pci_project_regions_list_empty": "Aucune localisation n'est disponible",
4+
"pci_project_regions_list_add": "Nous vous invitons à activer les dernières localisations de chaque zone dans la partie <a href=\"{{url}}\" class=\"oui-link\">Localisations</a>",
5+
"pci_project_regions_list_region": "Localisation",
6+
"pci_project_regions_list_quota": "Augmenter mon quota",
7+
"pci_project_flavors_zone_compatible": "Compatible avec",
8+
"pci_project_flavors_zone_localzone": "Local Zones",
9+
"pci_project_flavors_zone_global_region": "Régions",
10+
"pci_project_flavors_zone_1AZ": "1-AZ",
11+
"pci_project_flavors_zone_3AZ": "3-AZ",
12+
"pci_project_flavors_zone_localzone_tooltip": "Les Local Zones sont un nouveau type de localisation, qui prennent en charge une partie de notre portefeuille de produits Public Cloud. Nous allons progressivement augmenter le nombre total de Local Zones dans le monde au cours des prochaines années.",
13+
"pci_project_flavors_zone_localzone_1AZ_tooltip": "Une Local Zone correspond à un mode de déploiement des produits Public Cloud d’OVHcloud dans des datacenters situés au plus près des utilisateurs finaux.",
14+
"pci_project_flavors_zone_globalregions_tooltip": "Les Régions sont supportées par un ou plusieurs datacenters gérés par OVHCloud. Chaque région fournit une ou plusieurs Availability Zone avec le portefeuille complet de services OVHCloud.",
15+
"pci_project_flavors_zone_1AZ_with_3AZ_tooltip": "Avec l'arrivée prochaine des régions 3-AZ, le type de déploiement 'Régions' change de nom ! Une région 1-AZ (zone de disponibilité) regroupe un ou plusieurs datacenters localisés sur un même site.",
16+
"pci_project_flavors_zone_1AZ_tooltip": "Une région 1-AZ (zone de disponibilité) regroupe un ou plusieurs datacenters localisés sur un même site.",
17+
"pci_project_flavors_zone_3AZ_tooltip": "Une région 3-AZ comprend trois zones de disponibilités situées dans une même aire métropolitaine, séparées par quelques kilomètres. Elle répond aux exigences les plus élevées en matière de résilience tout en garantissant une latence extrêmement faible entre les AZ.",
18+
"pci_project_flavors_zone_tooltip_link": "En savoir plus",
19+
"pci_project_flavors_desactivated_region": "The selected location is not currently active. Click “Next” to add it to your Public Cloud project and continue creating instances.",
20+
"pci_projects_project_storages_containers_add_add_region_error": "Une erreur est survenue lors de l'ajout de la localisation : {{message}}"
21+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"pci_project_regions_list_continent_all": "Tutte le Region",
3+
"pci_project_regions_list_empty": "Nessuna Region disponibile",
4+
"pci_project_regions_list_add": "Per attivare le ultime localizzazioni disponibili in ogni zona, accedi alla sezione <a href=\"{{url}}\" class=\"oui-link\">Localizzazioni</a>",
5+
"pci_project_regions_list_region": "Localizzazione",
6+
"pci_project_regions_list_quota": "Aumenta la tua quota",
7+
"pci_project_flavors_zone_compatible": "Compatibile con",
8+
"pci_project_flavors_zone_localzone": "Local Zone",
9+
"pci_project_flavors_zone_global_region": "Region",
10+
"pci_project_flavors_zone_localzone_tooltip": "Le Local Zone sono un nuovo tipo di localizzazione che supporta una parte del nostro catalogo di prodotti Public Cloud. Prevediamo di aumentare gradualmente il numero di Local Zone disponibili nel mondo nei prossimi anni.",
11+
"pci_project_flavors_zone_globalregions_tooltip": "Le Region sono supportate da uno o più datacenter gestiti da OVHcloud. Ogni Region fornisce una o più Availability Zone con il catalogo completo di servizi OVHcloud.",
12+
"pci_project_flavors_zone_tooltip_link": "Scopri di più",
13+
"pci_project_flavors_zone_1AZ": "1-AZ",
14+
"pci_project_flavors_zone_3AZ": "3-AZ",
15+
"pci_project_flavors_zone_localzone_1AZ_tooltip": "Una Local Zone corrisponde a una modalità di deploy dei servizi Public Cloud di OVHcloud in datacenter localizzati il più vicino possibile agli utenti finali.",
16+
"pci_project_flavors_zone_1AZ_with_3AZ_tooltip": "Con l’arrivo delle Region 3-AZ, il tipo di deploy “Region” cambia nome! Una Region 1-AZ (zona di disponibilità) raggruppa uno o più datacenter presenti nella stessa localizzazione.",
17+
"pci_project_flavors_zone_1AZ_tooltip": "Una Region 1-AZ (zona di disponibilità) raggruppa uno o più datacenter presenti nella stessa localizzazione.",
18+
"pci_project_flavors_zone_3AZ_tooltip": "Una Region 3-AZ comprende tre zone di disponibilità presenti in una stessa area metropolitana, separate da alcuni chilometri. Risponde alle esigenze più rigorose in materia di resilienza, garantendo una latenza estremamente ridotta tra le AZ."
19+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"pci_project_regions_list_continent_all": "Wszystkie lokalizacje",
3+
"pci_project_regions_list_empty": "Żadna z lokalizacji nie jest dostępna",
4+
"pci_project_regions_list_add": "Włącz najnowsze lokalizacje każdej strefy w sekcji <a href=\"{{url}}\" class=\"oui-link\">Lokalizacje</a>",
5+
"pci_project_regions_list_region": "Lokalizacja",
6+
"pci_project_regions_list_quota": "Zwiększ limit",
7+
"pci_project_flavors_zone_compatible": "Kompatybilny z",
8+
"pci_project_flavors_zone_localzone": "Local Zones",
9+
"pci_project_flavors_zone_global_region": "Regiony",
10+
"pci_project_flavors_zone_localzone_tooltip": "Local Zones to nowy rodzaj lokalizacji, obsługujących część naszego portfolio produktów Public Cloud. W ciągu najbliższych kilku lat będziemy stopniowo zwiększać liczbę Local Zones na świecie.",
11+
"pci_project_flavors_zone_globalregions_tooltip": "Regiony są obsługiwane przez jedno lub kilka centrów danych zarządzanych przez OVHCloud. Każdy region obejmuje jedną lub kilka Availability Zones, wraz z pełnym portfolio usług OVHCloud.",
12+
"pci_project_flavors_zone_tooltip_link": "Dowiedz się więcej",
13+
"pci_project_flavors_zone_1AZ": "1-AZ",
14+
"pci_project_flavors_zone_3AZ": "3-AZ",
15+
"pci_project_flavors_zone_localzone_1AZ_tooltip": "Local Zone umożliwia wdrażanie produktów Public Cloud OVHcloud w centrach danych zlokalizowanych jak najbliżej użytkowników końcowych.",
16+
"pci_project_flavors_zone_1AZ_with_3AZ_tooltip": "Wraz z pojawieniem się regionów 3-AZ, typ wdrożenia „Regiony” zmienia nazwę. Region 1-AZ (Availability Zone, strefa dostępności) to jedno lub więcej centrów danych zlokalizowanych w tym samym miejscu.",
17+
"pci_project_flavors_zone_1AZ_tooltip": "Region 1-AZ (Availability Zone, strefa dostępności) to jedno lub więcej centrów danych zlokalizowanych w tym samym miejscu.",
18+
"pci_project_flavors_zone_3AZ_tooltip": "Region 3-AZ składa się z trzech stref dostępności zlokalizowanych w tej samej aglomeracji, oddalonych od siebie o kilka kilometrów. Spełnia on najwyższe wymagania w zakresie odporności i gwarantuje wyjątkowo krótki czas odpowiedzi między AZ."
19+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"pci_project_regions_list_continent_all": "Todas as localizações",
3+
"pci_project_regions_list_empty": "Nenhuma localização disponível",
4+
"pci_project_regions_list_add": "Pode ativar as últimas localizações de cada zona na secção <a href=\"{{url}}\" class=\"oui-link\">Localizações</a>",
5+
"pci_project_regions_list_region": "Localização",
6+
"pci_project_regions_list_quota": "Aumentar o meu limite",
7+
"pci_project_flavors_zone_compatible": "Compatível com",
8+
"pci_project_flavors_zone_localzone": "Local Zones",
9+
"pci_project_flavors_zone_global_region": "Regiões",
10+
"pci_project_flavors_zone_localzone_tooltip": "As Local Zones (zonas locais) são um novo tipo de localização, que suporta parte da nossa carteira de produtos Public Cloud. A OVHcloud prevê aumentar gradualmente o número total de Local Zones em todo o mundo nos próximos anos.",
11+
"pci_project_flavors_zone_globalregions_tooltip": "As Regiões são suportadas por um ou vários datacenters geridos pela OVHcloud. Cada região fornece uma ou várias Availability Zones com o portefólio completo de serviços da OVHcloud.",
12+
"pci_project_flavors_zone_tooltip_link": "Saber mais",
13+
"pci_project_flavors_zone_1AZ": "1-AZ",
14+
"pci_project_flavors_zone_3AZ": "3-AZ",
15+
"pci_project_flavors_zone_localzone_1AZ_tooltip": "Uma Local Zone corresponde a um modo de implementação dos produtos Public Cloud da OVHcloud em datacenters situados o mais próximo possível dos utilizadores finais.",
16+
"pci_project_flavors_zone_1AZ_with_3AZ_tooltip": "Com a chegada próxima das regiões 3-AZ, o tipo de implementação «Regiões» muda de nome! Uma região 1-AZ (zona de disponibilidade) agrupa um ou vários datacenters localizados num mesmo site.",
17+
"pci_project_flavors_zone_1AZ_tooltip": "Uma região 1-AZ (zona de disponibilidade) agrupa um ou vários datacenters localizados num mesmo site.",
18+
"pci_project_flavors_zone_3AZ_tooltip": "Uma região 3-AZ compreende três zonas de disponibilidade situadas numa mesma área metropolitana, separadas por alguns quilómetros. Satisfaz as exigências mais elevadas em matéria de resiliência, garantindo uma latência extremamente baixa entre os AZ."
19+
}
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import { fetchIcebergV6, v6 } from '@ovh-ux/manager-core-api';
2+
3+
export type TRegionType = 'region' | 'localzone' | 'region-3-az' | string;
4+
5+
export type TRegionBase = {
6+
name: string;
7+
type: TRegionType;
8+
availabilityZones: string[];
9+
continentCode: 'ASIA' | 'EU' | 'NA' | 'US' | string;
10+
};
11+
12+
export type TRegion = TRegionBase & {
13+
status: string;
14+
services: {
15+
name: string;
16+
status: string;
17+
endpoint: string;
18+
}[];
19+
datacenterLocation: string;
20+
};
21+
22+
export const getProjectRegions = async (
23+
projectId: string,
24+
): Promise<TRegion[]> => {
25+
const { data } = await fetchIcebergV6<TRegion>({
26+
route: `/cloud/project/${projectId}/region`,
27+
});
28+
return data;
29+
};
30+
31+
export const addProjectRegion = async (
32+
projectId: string,
33+
region: string,
34+
): Promise<void> => {
35+
const { data } = await v6.post<void>(`/cloud/project/${projectId}/region`, {
36+
region,
37+
});
38+
return data;
39+
};
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import { useMutation, useQueryClient } from '@tanstack/react-query';
2+
import { addProjectRegion } from '../data/regions';
3+
4+
export interface AddProjectRegionProps {
5+
projectId: string;
6+
onError: (cause: Error) => void;
7+
onSuccess: (data: unknown, variables: string, context: unknown) => void;
8+
}
9+
10+
export const useAddProjectRegion = ({
11+
projectId,
12+
onError,
13+
onSuccess,
14+
}: AddProjectRegionProps) => {
15+
const queryClient = useQueryClient();
16+
const mutation = useMutation({
17+
mutationFn: (region: string) => addProjectRegion(projectId, region),
18+
onError,
19+
onSuccess: async (...arg) => {
20+
await queryClient.invalidateQueries({
21+
queryKey: ['project', projectId, 'regions'],
22+
});
23+
onSuccess(...arg);
24+
},
25+
});
26+
return {
27+
addRegion: (region: string) => mutation.mutate(region),
28+
...mutation,
29+
};
30+
};

0 commit comments

Comments
 (0)