Skip to content

Commit 6a148fd

Browse files
Merge pull request #4518 from ovh/develop
Develop > Master deployment
2 parents 07b6d0e + c38f12a commit 6a148fd

File tree

185 files changed

+4283
-3213
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

185 files changed

+4283
-3213
lines changed
Lines changed: 171 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,171 @@
1+
---
2+
title: "API v2 OVHcloud - Principes de fonctionnement"
3+
slug: api-v2
4+
excerpt: "Découvrez les nouveaux principes d'exposition et de consommation liés à l'API v2 OVHcloud"
5+
section: APIv6 OVHcloud
6+
updated: 2023-04-17
7+
---
8+
9+
**Dernière mise à jour le 17/04/2023**
10+
11+
## Objectif
12+
13+
Les API disponibles sur [https://eu.api.ovh.com/](https://eu.api.ovh.com/){.external} vous permettent d'acheter, gérer, mettre à jour et configurer des produits OVHcloud sans utiliser une interface graphique comme l'espace client.
14+
15+
Historiquement, les API d'OVHcloud sont disponibles sous la branche **/1.0** correspondant à la première version de l'API que nous avons publiée.
16+
17+
Une nouvelle branche des API OVHcloud est disponible sous le préfixe **/v2** sur [https://eu.api.ovh.com/v2](https://api.ovh.com/console-preview/?branch=v2){.external}.
18+
19+
Cette nouvelle branche regroupera des nouvelles routes d'API, retravaillées sous un nouveau format, et deviendra la branche d'API principale pour les nouveaux développements de fonctionnalités de produits OVHcloud.<br>
20+
La branche **/1.0** continuera d'exister en parallèle de la branche **/v2** mais ne contiendra pas la même fonctionnalité. En tant que client, vous pourrez consommer des API de la branche **/1.0** et **/v2** simultanément dans vos programmes, tout en conservant la même authentification et les mêmes outils pour appeler l'API. Afin de standardiser le nommage de nos branches d'API, la branche **/1.0** est également disponible à travers l'alias **/v1**.
21+
22+
La branche **/v2** introduit des nouveaux principes d'exposition et de consommation (qui diffèrent de la branche **/v1**), ce guide a pour vocation de vous les présenter.
23+
24+
## Principes
25+
26+
### Gestion des versions
27+
28+
La branche */v2* de l'API utilise un système de versionnement pour la gestion de ses spécifications. Cela signifie que chaque modification dans les routes d'API (paramètres d'entrées, retour attendus, ...) fera l'objet d'une nouvelle version.
29+
Ces versions (qui sont différentes de la version contenue dans le nom de branche de l'API) contiendront deux numéros qui s'incrémentent: la version majeure et la version mineure. Cela permet de distinguer les changements mineurs des changements majeurs/cassants dans les schémas de l'API. Les changements mineurs (non-cassants) incrémentent la version mineure tandis que les changements cassants incrémentent la version majeure.
30+
31+
Un résumé des changements (*changelog*) accompagne la publication de chaque nouvelle version afin d'avoir une vue détaillée des modifications apportées.
32+
33+
La branche *v2* de l'API est conçue pour pouvoir exposer plusieurs versions majeures en parallèle. Cela signifie que des applications utilisant une version spécifique de l'API continueront de fonctionner après la sortie d'une nouvelle version majeure.
34+
35+
En tant que client, vous aurez la responsabilité de choisir la version que vous utiliserez. Vous devrez indiquer quelle version majeure de la spécification sera utilisée avec votre compte.
36+
37+
Au moment de la publication d'une nouvelle version majeure, la version majeure précédente restera active pendant une période définie dans le *changelog* afin de vous laisser le temps d'adapter vos applications.
38+
Avant la fin de la période de disponibilité de la version majeure précédente, vous devrez vous assurer que vos applications utilisant l'API OVHcloud sont toujours compatibles, et faire le changement de version majeure dans votre espace client. Si vous ne le faites pas, vous serez migré automatiquement sur la dernière version majeure à la fin de la période de disponibilité de votre version majeure courante.
39+
40+
#### Sélectionner une version majeure spécifique de l'API
41+
42+
Une page spécifique sera prochainement disponible dans l'espace client OVHcloud pour sélectionner la version majeure de l'API utilisée.
43+
44+
Vous aurez probablement besoin de tester vos applications avec la nouvelle version majeure avant de faire le changement dans votre espace client.
45+
Pour cela, vous pouvez indiquer la version majeure à utiliser avec l'en-tête `X-Schemas-Version` dans vos appels API :
46+
47+
```bash
48+
curl -X GET -H "X-Schemas-Version: 1.0" https://eu.api.ovh.com/v2/iam/policy
49+
```
50+
51+
Si cet en-tête n'est pas fourni lors d'un appel à l'API, la version majeure de votre compte est utilisée par défaut.
52+
53+
Nous conseillons de n'utiliser cet en-tête que lors de vos phases de validation. En effet, son utilisation dans vos applications en production nécessitera une maintenance de votre côté le jour où cette version majeure ne sera plus disponible.<br>
54+
Lors de la sortie d'une nouvelle version majeure, nous ferons une évaluation de l'impact de cette nouvelle version sur votre utilisation de l'API, un rapport détaillé vous sera envoyé. Si vous n'êtes pas concerné par les changements cassants, nous vous proposerons de basculer directement sur la nouvelle version majeure. Dans ce cas, si vous utilisez l'en-tête dans vos applications, la bascule ne pourra être effectuée sans maintenance sur votre application.
55+
56+
#### Récupérer les versions disponibles via la console
57+
58+
Il est possible de voir la liste des versions disponible sur la console de l'API OVHcloud. Pour cela, ouvrez la [console](https://api.ovh.com/console-preview/?section=%2Fiam&branch=v2#servers){.external}.
59+
60+
Les différentes versions sont affichées dans la section **SCHEMAS VERSION**. Vous pouvez ensuite sélectionner une version pour voir les schémas d'API associés.
61+
62+
![API](images/console-schemas-version.png){.thumbnail}
63+
64+
### Vision as-code
65+
66+
Deux approches opposées existent pour voir l'état courant d'une ressource à travers une API et changer son état :
67+
68+
- **Approche centrée sur le processus** : l'API expose l'état courant des ressources (par exemple une instance Public Cloud) et offre des opérations pour les modifier (par exemple, changer la taille d'un disque).
69+
- **Approche centrée sur les ressources** : l'API expose à la fois l'état courant des ressources ainsi que l'état souhaité. Les modifications se font directement en mettant à jour l'état souhaité des ressources. Dans ce cas, l'API effectue elle-même les actions nécessaires pour atteindre l'état ciblé.
70+
71+
La première approche est celle utilisée par l'API actuelle : [https://eu.api.ovh.com/v1](https://eu.api.ovh.com/v1){.external}.
72+
73+
L'APIv2 utilise l'approche centrée sur les ressources, qui la rend plus facilement utilisable « *as-code* », notamment à travers des outils tels que [Terraform](https://www.terraform.io){.external}. Ce fonctionnement permet également d'abstraire toute la complexité du processus de transformation d'une ressource d'un état à un autre puisqu'il est à la charge de l'API et non du client.
74+
75+
### Gestion asynchrone et évènements
76+
77+
Comme expliqué dans la section précédente, l'APIv2 prend en charge les actions à effectuer pour atteindre l'état cible d'une ressource lorsque ses spécifications ont été modifiées. Dans certains cas, ces actions peuvent entraîner des tâches de longue durée, dont la résolution se fera de manière asynchrone.
78+
79+
Dans le cas de ressources pour lesquelles des tâches asynchrones peuvent être exécutées, une route `/task` est exposée pour récupérer la liste des tâches liées à une ressource. La liste des tâches en cours est également disponible dans les informations de la ressource elle-même.
80+
81+
Voici un exemple de tâche retournée par l'API :
82+
83+
```json
84+
{
85+
"createdAt": "2023-03-21T15:40:05.213Z",
86+
"startedAt": "2023-03-21T15:41:05.213Z",
87+
"updatedAt": "2023-03-21T15:42:05.213Z",
88+
"finishedAt": "2023-03-21T15:43:05.213Z",
89+
"errors": [],
90+
"id": "18704d69-7fd0-4000-808f-7e3d8bb42380",
91+
"progress": [
92+
{
93+
"name": "Restart",
94+
"status": "DONE"
95+
}
96+
],
97+
"status": "DONE",
98+
"type": "CloudRestartInstance"
99+
}
100+
```
101+
102+
Une liste d'évènements est également exposée pour les ressources concernées par des tâches asynchrones. Cela permet de dresser un historique des évènements affectant la ressource comme, par exemple, les modifications demandées par les utilisateurs, les opérations asynchrones, ou bien les maintenances effectuées sur la ressource. Ces évènements sont listés via le chemin `/event`.
103+
104+
Voici un exemple d'évènement retourné par l'API :
105+
106+
```json
107+
{
108+
"createdAt": "2023-03-21T15:50:08.823Z",
109+
"message": "Task 18704d69-7fd0-4000-808f-7e3d8bb42380 started",
110+
"type": "TaskStart"
111+
}
112+
```
113+
114+
Le type de l'évènement peut par exemple être `TargetSpecUpdate` en cas de changement de l'état cible d'une ressource, `TaskSuccess` en cas de tâche terminée sans erreur, etc.
115+
116+
Dans certains cas, un évènement peut aussi contenir un lien vers la ressource concernée par la tâche ainsi qu'un message.
117+
118+
> [!primary]
119+
>
120+
> Les exemples d'évènement et de tâche présentés ci-dessus peuvent varier selon la section d'API. Veuillez vous référer à la [console](https://docs.ovh.com/fr/api/api-console-exploration/) pour visualiser la définition exacte relative à chaque section.
121+
>
122+
123+
### Pagination
124+
125+
La pagination permet de segmenter les réponses d'API contenant une liste d'éléments en plusieurs pages.
126+
127+
Les avantages principaux de la pagination sont :
128+
129+
- une réduction de l'utilisation de la bande passante pour les clients de l'API ;
130+
- des temps de réponse de l'API plus courts ;
131+
- des corps de réponse moins volumineux, ce qui permet une exploitation moins coûteuse des données retournées du côté du client.
132+
133+
L'APIv2 expose une pagination par curseur, dans laquelle les curseurs sont transmis dans les en-têtes des requêtes et des réponses. Il est également possible de contrôler le nombre d'éléments retournés.
134+
135+
Les en-têtes utilisés sont les suivants :
136+
137+
- `X-Pagination-Size` : cet en-tête optionnel permet de contrôler la taille des pages retournées ;
138+
- `X-Pagination-Cursor-Next` : en-tête retourné par l'API qui contient la valeur à utiliser dans la prochaine requête pour récupérer la page suivante ;
139+
- `X-Pagination-Cursor` : en-tête à envoyer dans une requête pour récupérer la page suivante.
140+
141+
Par exemple, l'appel suivant retournera les 5 premiers éléments ainsi que le curseur à utiliser pour récupérer la page suivante :
142+
143+
```bash
144+
curl https://eu.api.ovh.com/v2/iam/policy -H "X-Pagination-Size: 5"
145+
# Si le nombre de ressources à retourner est supérieur à 5, l'en-tête suivant
146+
# sera disponible dans la réponse : "X-Pagination-Cursor-Next: xxxyyyzzz"
147+
```
148+
149+
La page suivante peut être récupérée en fournissant le curseur renvoyé dans la réponse de l'appel précédent :
150+
151+
```bash
152+
curl https://eu.api.ovh.com/v2/iam/policy -H "X-Pagination-Size: 5" -H "X-Pagination-Cursor: xxxyyyzzz"
153+
```
154+
155+
L'absence de l'en-tête `X-Pagination-Cursor-Next` dans une réponse d'API contenant une liste d'éléments signifie que la dernière page est atteinte et que tous les éléments disponibles on été retournés.
156+
157+
## Clients officiels
158+
159+
Plusieurs bibliothèques sont disponibles pour utiliser les API OVHcloud :
160+
161+
- Go : [https://github.com/ovh/go-ovh](https://github.com/ovh/go-ovh){.external}
162+
- Python : [https://github.com/ovh/python-ovh](https://github.com/ovh/python-ovh){.external}
163+
- PHP : [https://github.com/ovh/php-ovh](https://github.com/ovh/php-ovh){.external}
164+
165+
## Aller plus loin <a name="gofurther"></a>
166+
167+
[Exploration des API OVHcloud](https://docs.ovh.com/fr/api/api-console-exploration/)
168+
169+
[Using Terraform with OVHcloud](https://docs.ovh.com/fr/api/terraform-at-ovhcloud/) (guide en anglais)
170+
171+
Échangez avec notre communauté d'utilisateurs sur [https://community.ovh.com](https://community.ovh.com).
41.4 KB
Loading

pages/account/api/apiv2/meta.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
id: 62f4fe75-53b0-429a-ab23-fce1310bd844
2+
full_slug: api-v2-principles

pages/cloud/dedicated/activate-port-firewall-soft-win/guide.pt-pt.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ Para proteger ao máximo o seu sistema, o seu servidor Windows Server dispõe da
2828
2929
## Requisitos
3030

31-
- Ter um [servidor dedicado](https://www.ovhcloud.com/pt/bare-metal/) Windows na sua conta OVHcloud
31+
- Ter um [servidor dedicado](https://www.ovhcloud.com/pt/bare-metal/) Windows na sua conta OVHcloud.
3232
- Dispor de um acesso de administrador ao seu servidor através de um escritório distante em Windows.
3333

3434
## Instruções

pages/cloud/dedicated/adding-secondary-dns-on-dedicated-server/guide.it-it.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ Se configuri il tuo server dedicato come server DNS, puoi utilizzare il DNS OVHc
2323

2424
- Disporre di un [server dedicato](https://www.ovhcloud.com/it/bare-metal/){.external}
2525
- Disporre di un [dominio](https://www.ovhcloud.com/it/domains/){.external} di gestione amministrativa o tecnica
26-
- Avere accesso allo [Spazio Cliente OVHcloud](https://www.ovh.com/auth/?action=gotomanager&from=https://www.ovh.it/&ovhSubsidiary=it){.external}.
26+
- Avere accesso allo [Spazio Cliente OVHcloud](https://www.ovh.com/auth/?action=gotomanager&from=https://www.ovh.it/&ovhSubsidiary=it){.external}
2727

2828
> [!warning]
2929
>

pages/cloud/dedicated/adding-secondary-dns-on-dedicated-server/guide.pt-pt.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ Depois de clicar em `Seguinte`{.action} nesta etapa, a verificação do domínio
5454

5555
Depois de clicar em `Adicionar`{.action} na última janela, o domínio será adicionado ao servidor DNS secundário OVHcloud.
5656

57-
Os domínios adicionados serão listados neste separador e podem ser eliminados ao clicar no botão `..`{.action}. O nome do servidor DNS secundário aparece ao lado do domínio.
57+
Os domínios adicionados serão listados neste separador e podem ser eliminados ao clicar no botão `...`{.action}. O nome do servidor DNS secundário aparece ao lado do domínio.
5858

5959
![DNS secundário](images/cp-05.png){.thumbnail}
6060

pages/cloud/dedicated/antispam_best_practices/guide.pt-pt.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ O endereço IP está a ser desbloqueado e a operação pode levar alguns minutos
218218

219219
### Em caso de falsos positivos
220220

221-
Em alguns casos, o alerta de spam pode ser um falso positivo. Se tiver verificado e descoberto que o **ID da mensagem*** está associado a um e-mail legítimo, deve assegurar-se que os seus e-mails estão em conformidade com [RFC (EN)](https://docs.ovh.com/ie/en/dedicated/antispam-best-practices/#rfc) e [boas práticas (EN)](https://docs.ovh.com/ie/en/dedicated/antispam-best-practices/#bestpractices)
221+
Em alguns casos, o alerta de spam pode ser um falso positivo. Se tiver verificado e descoberto que o **ID da mensagem*** está associado a um e-mail legítimo, deve assegurar-se que os seus e-mails estão em conformidade com [RFC (EN)](https://docs.ovh.com/ie/en/dedicated/antispam-best-practices/#rfc) e [boas práticas (EN)](https://docs.ovh.com/ie/en/dedicated/antispam-best-practices/#bestpractices).
222222

223223

224224
## Quer saber mais?

pages/cloud/dedicated/bring-your-own-image/guide.it-it.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ Oltre ai requisiti e ai limiti indicati in appresso, è necessario assicurarsi c
2424

2525
## Prerequisiti
2626

27-
- Disporre di un [server dedicato OVHcloud](https://www.ovhcloud.com/it/bare-metal/)
27+
- Disporre di un [server dedicato OVHcloud](https://www.ovhcloud.com/it/bare-metal/).
2828
- Avere accesso allo [Spazio Cliente OVHcloud](https://www.ovh.com/auth/?action=gotomanager&from=https://www.ovh.it/&ovhSubsidiary=it) per la sezione ["Implementazione dallo Spazio Cliente"](#viacontrolpanel) di questa guida.
2929
- Essere connesso alle [API OVHcloud](https://api.ovh.com/){.external} per la sezione ["Implementazione via API"](#viaapi) di questa guida.
3030
- Aver generato i [credenziali per utilizzare l'APIv6](https://docs.ovh.com/it/api/first-steps-with-ovh-api/) per la sezione ["Implementazione via API"](#viaapi) di questa guida.
@@ -50,8 +50,8 @@ Se il tuo server dispone di un boot **uefi**, sarà necessario prevedere nella t
5050

5151
**Metodi di implementazione**
5252

53-
- [Implementazione dallo Spazio Cliente](#viacontrolpanel)\: permettendoti di creare rapidamente e facilmente la tua immagine direttamente dal tuo Spazio Cliente OVHcloud.
54-
- [Implementazione via API](#viaapi)\: puoi utilizzare le API OVHcloud per integrarle nei tuoi script per automatizzare il deploy.
53+
- [Implementazione dallo Spazio Cliente](#viacontrolpanel): permettendoti di creare rapidamente e facilmente la tua immagine direttamente dal tuo Spazio Cliente OVHcloud.
54+
- [Implementazione via API](#viaapi): puoi utilizzare le API OVHcloud per integrarle nei tuoi script per automatizzare il deploy.
5555

5656
### Crea la tua immagine dallo Spazio Cliente OVHcloud <a name="viacontrolpanel"></a>
5757

pages/cloud/dedicated/bring-your-own-image/guide.pt-pt.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ section: Utilização avançada
66
updated: 2022-11-25
77
---
88

9+
> [!primary]
10+
> Esta tradução foi automaticamente gerada pelo nosso parceiro SYSTRAN. Em certos casos, poderão ocorrer formulações imprecisas, como por exemplo nomes de botões ou detalhes técnicos. Recomendamos que consulte a versão inglesa ou francesa do manual, caso tenha alguma dúvida. Se nos quiser ajudar a melhorar esta tradução, clique em "Contribuir" nesta página.
11+
>
12+
913
**Última atualização: 25/11/2022**
1014

1115
## Objetivo
@@ -46,8 +50,8 @@ Se o seu servidor dispõe de um boot **uefi**, certifique-se de que adiciona uma
4650

4751
**Métodos de implantação**
4852

49-
- [Implementação através da Área de Cliente](#viacontrolpanel)\: permitir-lhe-á implementar rápida e facilmente a sua imagem diretamente a partir da sua Área de Cliente OVHcloud.
50-
- [Implementação através da API](#viaapi)\: pode utilizar as API OVHcloud para as integrar nos seus próprios scripts para automatizar a implementação.
53+
- [Implementação através da Área de Cliente](#viacontrolpanel): permitir-lhe-á implementar rápida e facilmente a sua imagem diretamente a partir da sua Área de Cliente OVHcloud.
54+
- [Implementação através da API](#viaapi): pode utilizar as API OVHcloud para as integrar nos seus próprios scripts para automatizar a implementação.
5155

5256
### Implementar a sua imagem a partir da Área de Cliente OVHcloud <a name="viacontrolpanel"></a>
5357

pages/cloud/dedicated/changing-admin-password-on-windows/guide.es-es.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@ order: 2
77
updated: 2021-01-12
88
---
99

10-
**Última actualización: 16/12/2020**
11-
1210
> [!primary]
1311
> Esta traducción ha sido generada de forma automática por nuestro partner SYSTRAN. En algunos casos puede contener términos imprecisos, como en las etiquetas de los botones o los detalles técnicos. En caso de duda, le recomendamos que consulte la versión inglesa o francesa de la guía. Si quiere ayudarnos a mejorar esta traducción, por favor, utilice el botón «Contribuir» de esta página.
1412
>
1513
14+
**Última actualización: 16/12/2020**
15+
1616
## Objetivo
1717

1818
Al instalar o reinstalar un sistema operativo Windows, recibirá una contraseña para acceder como administrador. Le recomendamos encarecidamente que cambie esta contraseña, tal y como se explica en la guía [Proteger un servidor dedicado](../seguridad-de-un-servidor-dedicado/). Si ha perdido la contraseña de administrador, deberá restaurarla en modo de rescate.
@@ -47,7 +47,7 @@ Una vez que haya realizado los cambios, haga clic en `...`{.action} a la derecha
4747

4848
Para más información sobre el modo de rescate, consulte [esta guía](../modo_de_rescate/).
4949

50-
### 2. Montar la partición del sistema
50+
### 2. montar la partición del sistema
5151

5252
Conéctese al servidor por SSH. Si fuera necesario, consulte la guía [Introducción al SSH](../introduccion-ssh/).
5353

@@ -230,7 +230,7 @@ Write hive files? (y/n) [n] : y
230230
0 <SAM> - OK
231231
```
232232

233-
### 4. Reiniciar el servidor
233+
### 4. reiniciar el servidor
234234

235235
En primer lugar, sustituya el netboot por **Arrancar en el disco duro** en el [área de cliente de OVHcloud](https://www.ovh.com/auth/?action=gotomanager&from=https://www.ovh.es/&ovhSubsidiary=es) (ver [Etapa 1](./#1-reiniciar-el-servidor-en-modo-de-rescate_1)).
236236

0 commit comments

Comments
 (0)