Aller au contenu principal

API Connectivité Cloud Azure - Référence des endpoints

Cette page est une référence orientée client pour les opérations Azure de la spécification OpenAPI CloudCo-Azure fournie (version 4.9.1). Chaque ligne ci-dessous décrit une opération HTTP. Utilisez les tutoriels Créer existants pour la séquence de provisionnement détaillée ; leurs diagrammes restent le parcours pas à pas recommandé.

Avant de commencer
  • Suivez le guide Configurer l'accès pour obtenir un jeton d'accès aux appels d'API.
  • Vous devez avoir accès à une organisation et à un projet Evolution Platform.
  • Les exemples utilisent l'hôte ope-obs.apibackbone.orange.com. Remplacez {projectId} par l'UUID de votre projet.
  • Le contrat OpenAPI définit une authentification HTTP bearer avec un JWT, à envoyer dans l'en-tête Authorization. Le contrat ne décrit pas comment obtenir un jeton.
  • Pour les requêtes JSON, envoyez Content-Type: application/json ; utilisez Accept: application/json pour demander du JSON.
  • Un UUID est une valeur du type 3fa85f64-5717-4562-b3fc-2c963f66afa6.

L'URL du serveur Swagger est {apiRoot}{basePathAzure}. Les valeurs par défaut du Swagger sont respectivement https://ope-obs.apibackbone.orange.com et /evolutionplatform/azure/api/v1. Comme demandé, les exemples utilisent https://ope-obs.apibackbone.orange.com/evolutionplatform/azure/api/v1/.... cURL est un outil en ligne de commande permettant d'envoyer une requête HTTP. Remplacez les valeurs d'exemple par les vôtres. Ne placez jamais un secret client réel dans un script partagé ou dans l'historique d'un terminal.

Déroulement d'un appel​

Suivez ce déroulement simple pour les opérations ci-dessous : préparez les identifiants et les données requis, envoyez la méthode et l'URL documentées, puis vérifiez le statut HTTP et les champs retournés avant l'action suivante.

  • 1. Préparer les données
  • 2. Appeler l'API
  • 3. Vérifier la réponse

Paramètres et erreurs courants​

ParamètreEmplacementObligatoireType / formatSignification
projectIdcheminOuichaîne, UUIDProjet propriétaire de la ressource Azure ou dont elle dépend.
idcheminOuichaîne, UUIDIdentifiant de l'identifiant (credential) ou du cloud connecteur désigné par l'URL.
limitrequêteNonentier ; valeur par défaut 10Taille maximale de la page.
offsetrequêteNonentier ; valeur par défaut 0Nombre d'enregistrements à ignorer avant de retourner une page.
azureCspCredentialIdrequêteOui là où indiquéchaîne, UUIDIdentifiant Azure à utiliser pour une recherche Azure.
azureRegionrequêteOui là où indiquéchaîneRégion Azure retournée par la recherche des régions.
azureResourceGrouprequêteOui là où indiquéchaîneNom du groupe de ressources Azure.
startDate, endDaterequêteOui pour la consommationchaîneValeurs de début et de fin de la requête de consommation. Le Swagger ne précise ni format de date ni fuseau horaire.
unitFactorrequêteNon pour la consommationchaîne ; valeur par défaut megaChoix de l'échelle d'unité. Aucune liste de valeurs autorisées n'est définie dans le Swagger.
usageTyperequêteNon pour la consommationchaîne ; valeur par défaut bandwidthCatégorie de consommation. Aucune liste de valeurs autorisées n'est définie dans le Swagger.

La réponse HTTP 400 est BadRequestResponse : code (entier), message (chaîne), description (chaîne) et violations (tableau de Violation), tous facultatifs. Chaque Violation possède des chaînes facultatives field et message. Les codes HTTP 401, 403, 404 et 500 utilisent ErrorResponse, avec code (entier), message (chaîne) et description (chaîne) facultatifs.

Le Swagger fournit des descriptions et des schémas de réponse, mais aucun exemple concret de succès ou d'erreur. Les tableaux de réponses ne documentent donc que ce qui est défini ; ils n'inventent ni valeurs serveur d'exemple ni causes d'erreur. Les vérifications suivantes sont générales et ne sont pas des causes confirmées par le contrat : vérifiez les valeurs de la requête et les éventuelles violations retournées pour un 400, demandez à un administrateur de contrôler le jeton et l'accès au projet pour un 401 ou un 403, vérifiez les identifiants pour un 404, et contactez le support avec les détails de la réponse pour un 500.

En-têtes de réponse​

OpérationEn-têteTypeSignification
POST /projects/{projectId}/azure/credentialsContent-LocationUUIDIdentifiant de l'identifiant (credential) créé.
POST /projects/{projectId}/azure/cloudconnectors/publicstandarddynamicsContent-LocationUUIDIdentifiant du cloud connecteur créé.
POST /projects/{projectId}/azure/cloudconnectors/publichadynamicsContent-LocationUUIDIdentifiant du cloud connecteur créé.
POST /projects/{projectId}/azure/cloudconnectors/privateselfmadesContent-LocationUUIDIdentifiant du cloud connecteur créé.
GET /projects/{projectId}/azure/credentials, /projects/{projectId}/azure/cloudconnectors/publicstandarddynamics, /projects/{projectId}/azure/cloudconnectors/publichadynamics, /projects/{projectId}/azure/cloudconnectors/privateselfmades, /projects/{projectId}/azure/cloudconnectors/privates, /projects/{projectId}/cloudconnectors/{cloudConnectorId}/workflowexecutions et GET /bandwidthsX-Total-Countint64Nombre total d'éléments correspondants.
Mêmes opérations paginées que ci-dessusX-Result-Countint64Nombre d'éléments retournés dans cette page.

Identifiants​

Méthode et endpointObjet et paramètresRequête / succès / erreurs
POST /projects/{projectId}/azure/credentialsCréer un identifiant dans le projet. Chemin obligatoire : projectId (UUID).Corps JSON obligatoire : CredentialRequest. Succès 201 Credential ; erreurs 400, 401, 403, 500.
GET /projects/{projectId}/azure/credentialsLister les identifiants du projet. Chemin obligatoire : projectId ; requête facultative : limit=10, offset=0.Aucun corps. Succès 200 tableau de Credential ; erreurs 400, 401, 403, 500.
GET /projects/{projectId}/azure/credentials/{id}Consulter un identifiant. Chemin obligatoire : projectId, id (UUID).Aucun corps. Succès 200 Credential ; erreurs 400, 401, 403, 404, 500.
PUT /projects/{projectId}/azure/credentials/{id}Mettre à jour un identifiant avec le schéma de requête complet. Chemin obligatoire : projectId, id.Corps JSON obligatoire : CredentialRequest. Succès 200 Credential ; erreurs 400, 401, 403, 404, 500.
PATCH /projects/{projectId}/azure/credentials/{id}Mettre à jour partiellement un identifiant. Chemin obligatoire : projectId, id.Corps JSON obligatoire : CredentialPatchRequest ; chaque propriété du corps est facultative. Succès 200 Credential ; erreurs 400, 401, 403, 404, 500.
DELETE /projects/{projectId}/azure/credentials/{id}Supprimer un identifiant. Chemin obligatoire : projectId, id.Aucun corps. Succès 204 sans corps de réponse ; erreurs 400, 401, 403, 404, 500.

Champs de la requête d'identifiant :

ChampObligatoire pour CredentialRequestType / formatSignification
nameOuichaîneNom de l'identifiant.
descriptionNonchaîneDescription de l'identifiant.
subscriptionIdOuichaîneIdentifiant de l'abonnement Azure.
tenantIdOuiUUIDIdentifiant du tenant Azure.
clientIdOuiUUIDIdentifiant de l'application ou du client Azure.
clientSecretOuichaîneSecret utilisé par l'application pour s'authentifier auprès d'Azure.
expirationDateNonchaîne, dateDate d'expiration.

CredentialPatchRequest contient les mêmes sept champs, tous facultatifs. Le modèle de réponse Credential contient id (UUID), projectId (UUID), name (chaîne), csp (chaîne), description (chaîne), projectName (chaîne) et expirationDate (chaîne de date). Le contrat n'inclut pas clientSecret dans le modèle de réponse.

curl --request POST "https://ope-obs.apibackbone.orange.com/evolutionplatform/azure/api/v1/projects/{projectId}/azure/credentials" \
--header "Authorization: ******" \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
--data '{"name":"Azure demo","subscriptionId":"YOUR_SUBSCRIPTION_ID","tenantId":"YOUR_TENANT_UUID","clientId":"YOUR_CLIENT_UUID","clientSecret":"YOUR_CLIENT_SECRET"}'

Cloud connecteurs Public Standard​

Méthode et endpointObjet et paramètresRequête / succès / erreurs
POST /projects/{projectId}/azure/cloudconnectors/publicstandarddynamicsCréer un connecteur Public Standard. Chemin obligatoire : projectId.Corps JSON obligatoire : CloudConnectorPublicDynamicRequest. Succès 201 CloudConnectorPublicStandardDynamic ; erreurs 400, 401, 403, 500.
GET /projects/{projectId}/azure/cloudconnectors/publicstandarddynamicsLister les connecteurs Public Standard d'un projet. Chemin obligatoire : projectId ; facultatif : limit=10, offset=0.Aucun corps. Succès 200 tableau de CloudConnectorPublicStandardDynamic ; erreurs 400, 401, 403, 500.
GET /projects/{projectId}/azure/cloudconnectors/publicstandarddynamics/{id}Consulter un connecteur Public Standard. Chemin obligatoire : projectId, id.Aucun corps. Succès 200 CloudConnectorPublicStandardDynamic ; erreurs 400, 401, 403, 404, 500.
PUT /projects/{projectId}/azure/cloudconnectors/publicstandarddynamics/{id}Mettre à jour un connecteur Public Standard. Chemin obligatoire : projectId, id.Corps JSON obligatoire : CloudConnectorPublicDynamicRequest ; toutes les propriétés du corps sont facultatives dans le schéma. Succès 200 CloudConnectorPublicStandardDynamic ; erreurs 400, 401, 403, 404, 500.
PATCH /projects/{projectId}/azure/cloudconnectors/publicstandarddynamics/{id}Mettre à jour partiellement un connecteur Public Standard. Chemin obligatoire : projectId, id.Corps JSON obligatoire : CloudConnectorPublicDynamicRequest ; toutes les propriétés du corps sont facultatives dans le schéma. Succès 200 CloudConnectorPublicStandardDynamic ; erreurs 400, 401, 403, 404, 500.
DELETE /projects/{projectId}/azure/cloudconnectors/publicstandarddynamics/{id}Supprimer un connecteur Public Standard. Chemin obligatoire : projectId, id.Aucun corps. Succès 204 sans corps de réponse ; erreurs 400, 401, 403, 404, 500.
GET /projects/{projectId}/azure/cloudconnectors/publicstandarddynamics/{id}/resourcesConsulter l'état des ressources réseau et cloud du connecteur. Chemin obligatoire : projectId, id.Aucun corps. Succès 200 CloudConnectorResources ; erreurs 400, 401, 403, 404, 500.
DELETE /projects/{projectId}/azure/cloudconnectors/publicstandarddynamics/{id}/cloudresources/{rssId}Supprimer une ressource cloud rattachée au connecteur. Chemin obligatoire : projectId, id (UUID), rssId (chaîne).Aucun corps. Succès 204 sans corps de réponse ; erreurs 400, 401, 403, 404, 500.
GET /projects/{projectId}/azure/cloudconnectors/publicstandarddynamics/{id}/usageRécupérer la consommation sur la période. Chemin obligatoire : projectId, id ; requête obligatoire : startDate, endDate ; facultatif : unitFactor=mega, usageType=bandwidth.Aucun corps. Succès 200 UsageDto ; erreurs 400, 401, 403, 404, 500.

CloudConnectorPublicDynamicRequest requiert un corps JSON, mais toutes ses propriétés sont facultatives dans le schéma Swagger : name (chaîne), state (énumération de chaînes), technicalVpnId (UUID), azureCredentialId (UUID), customerPurchaseOrderNumber (chaîne), externalBillingRef (chaîne), bandwidth (int32), maxBandwidth (int32), primaryPopLocalization (chaîne), azureRegion (chaîne), resourceGroupName (chaîne), vnetName (chaîne), azureGatewaySubnet (chaîne), azureAsn (int64), networkSideAsn (int64) et networkSideGatewaySubnet (chaîne). state accepte DESIGNING, DESIGNED, BOOKING, RESERVED, PROVISIONING, ACTIVE, STOPPING, SUSPENDING, INACTIVE, REPAIRING, TERMINATED ou ERROR. Le contrat ne précise pas d'autres contraintes sur les champs.

Cloud connecteurs Public Haute Disponibilité​

Méthode et endpointObjet et paramètresRequête / succès / erreurs
POST /projects/{projectId}/azure/cloudconnectors/publichadynamicsCréer un connecteur Public Haute Disponibilité. Chemin obligatoire : projectId.Corps JSON obligatoire : CloudConnectorPublicHaDynamicRequest. Succès 201 CloudConnectorPublicHaDynamic ; erreurs 400, 401, 403, 500.
GET /projects/{projectId}/azure/cloudconnectors/publichadynamicsLister les connecteurs Public Haute Disponibilité. Chemin obligatoire : projectId ; facultatif : limit=10, offset=0.Aucun corps. Succès 200 tableau de CloudConnectorPublicHaDynamic ; erreurs 400, 401, 403, 500.
GET /projects/{projectId}/azure/cloudconnectors/publichadynamics/{id}Consulter un connecteur Public Haute Disponibilité. Chemin obligatoire : projectId, id.Aucun corps. Succès 200 CloudConnectorPublicHaDynamic ; erreurs 400, 401, 403, 404, 500.
PUT /projects/{projectId}/azure/cloudconnectors/publichadynamics/{id}Mettre à jour un connecteur Public Haute Disponibilité. Chemin obligatoire : projectId, id.Corps JSON obligatoire : CloudConnectorPublicHaDynamicRequest ; toutes les propriétés du corps sont facultatives dans le schéma. Succès 200 CloudConnectorPublicHaDynamic ; erreurs 400, 401, 403, 404, 500.
PATCH /projects/{projectId}/azure/cloudconnectors/publichadynamics/{id}Mettre à jour partiellement un connecteur Public Haute Disponibilité. Chemin obligatoire : projectId, id.Corps JSON obligatoire : CloudConnectorPublicHaDynamicRequest ; toutes les propriétés du corps sont facultatives dans le schéma. Succès 200 CloudConnectorPublicHaDynamic ; erreurs 400, 401, 403, 404, 500.
DELETE /projects/{projectId}/azure/cloudconnectors/publichadynamics/{id}Supprimer un connecteur Public Haute Disponibilité. Chemin obligatoire : projectId, id.Aucun corps. Succès 204 sans corps de réponse ; erreurs 400, 401, 403, 404, 500.
GET /projects/{projectId}/azure/cloudconnectors/publichadynamics/{id}/resourcesConsulter l'état des ressources réseau et cloud du connecteur. Chemin obligatoire : projectId, id.Aucun corps. Succès 200 CloudConnectorResources ; erreurs 400, 401, 403, 404, 500.
DELETE /projects/{projectId}/azure/cloudconnectors/publichadynamics/{id}/cloudresources/{rssId}Supprimer une ressource cloud rattachée au connecteur. Chemin obligatoire : projectId, id (UUID), rssId (chaîne).Aucun corps. Succès 204 sans corps de réponse ; erreurs 400, 401, 403, 404, 500.
GET /projects/{projectId}/azure/cloudconnectors/publichadynamics/{id}/usageRécupérer la consommation sur une période. Chemin obligatoire : projectId, id ; requête obligatoire : startDate, endDate ; facultatif : unitFactor=mega, usageType=bandwidth.Aucun corps. Succès 200 UsageDto ; erreurs 400, 401, 403, 404, 500.

CloudConnectorPublicHaDynamicRequest requiert un corps JSON. Il reprend les propriétés de la requête Standard, à l'exception de networkSideGatewaySubnet ; il définit à la place secondaryPopLocalization, networkSideGatewaySubnetPrimary et networkSideGatewaySubnetSecondary (toutes des chaînes). Toutes les propriétés de la requête sont facultatives dans le schéma. L'énumération state est la même que pour les connecteurs Public Standard.

Cloud connecteurs Private Self-Made​

Méthode et endpointObjet et paramètresRequête / succès / erreurs
POST /projects/{projectId}/azure/cloudconnectors/privateselfmadesCréer un connecteur Private Self-Made. Chemin obligatoire : projectId.Corps JSON obligatoire : CloudConnectorPrivateSelfMadeRequest. Succès 201 CloudConnectorPrivateSelfMade ; erreurs 400, 401, 403, 500.
GET /projects/{projectId}/azure/cloudconnectors/privateselfmadesLister les connecteurs Private Self-Made. Chemin obligatoire : projectId ; facultatif : limit=10, offset=0.Aucun corps. Succès 200 tableau de CloudConnectorPrivateSelfMade ; erreurs 400, 401, 403, 500.
GET /projects/{projectId}/azure/cloudconnectors/privateselfmades/{id}Consulter un connecteur Private Self-Made. Chemin obligatoire : projectId, id.Aucun corps. Succès 200 CloudConnectorPrivateSelfMade ; erreurs 400, 401, 403, 404, 500.
PUT /projects/{projectId}/azure/cloudconnectors/privateselfmades/{id}Mettre à jour un connecteur Private Self-Made. Chemin obligatoire : projectId, id.Corps JSON obligatoire : CloudConnectorPrivateSelfMadeRequest ; toutes les propriétés du corps sont facultatives dans le schéma. Succès 200 CloudConnectorPrivateSelfMade ; erreurs 400, 401, 403, 404, 500.
PATCH /projects/{projectId}/azure/cloudconnectors/privateselfmades/{id}Mettre à jour partiellement un connecteur Private Self-Made. Chemin obligatoire : projectId, id.Corps JSON obligatoire : CloudConnectorPrivateSelfMadeRequest ; toutes les propriétés du corps sont facultatives dans le schéma. Succès 200 CloudConnectorPrivateSelfMade ; erreurs 400, 401, 403, 404, 500.
DELETE /projects/{projectId}/azure/cloudconnectors/privateselfmades/{id}Supprimer un connecteur Private Self-Made. Chemin obligatoire : projectId, id.Aucun corps. Succès 204 sans corps de réponse ; erreurs 400, 401, 403, 404, 500.
GET /projects/{projectId}/azure/cloudconnectors/privateselfmades/{id}/resourcesConsulter l'état des ressources réseau et cloud du connecteur. Chemin obligatoire : projectId, id.Aucun corps. Succès 200 CloudConnectorResources2 ; erreurs 400, 401, 403, 404, 500.
DELETE /projects/{projectId}/azure/cloudconnectors/privateselfmades/{id}/cloudresources/{rssId}Supprimer une ressource cloud rattachée au connecteur. Chemin obligatoire : projectId, id (UUID), rssId (chaîne).Aucun corps. Succès 204 sans corps de réponse ; erreurs 400, 401, 403, 404, 500.
POST /projects/{projectId}/azure/cloudconnectors/privateselfmades/{id}/updatereservedbandwidthDemander une mise à jour de la bande passante réservée. Chemin obligatoire : projectId, id.Aucun corps de requête défini. Succès 200 CloudConnectorPrivateSelfMade ; erreurs 400, 401, 403, 404, 500.
GET /projects/{projectId}/azure/cloudconnectors/privateselfmades/{id}/usageRécupérer la consommation sur une période. Chemin obligatoire : projectId, id ; requête obligatoire : startDate, endDate ; facultatif : unitFactor=mega, usageType=bandwidth.Aucun corps. Succès 200 UsageDto ; erreurs 400, 401, 403, 404, 500.

CloudConnectorPrivateSelfMadeRequest requiert un corps JSON, mais toutes ses propriétés sont facultatives. En particulier, l'endpoint de création n'impose pas au client de récupérer ni de fournir un identifiant de VPN technique. Les champs sont : name (chaîne), state (l'énumération d'états du cloud connecteur indiquée plus haut), technicalVpnId (UUID), azureCredentialId (UUID), customerPurchaseOrderNumber (chaîne), externalBillingRef (chaîne), azureExpressRouteServiceKey (chaîne), expressRouteVnetGatewayName (chaîne), routingPolicy (énumération basicAggregate, defaultRoute, noAggregate, customRouting), bandwidth (int32), policyIn (tableau de PolicyElementDto) et policyOut (tableau de PolicyElementDto). Un PolicyElementDto peut contenir precedence (int32), from (FromFieldDto), then (ThenFieldDto), default (DefaultFieldDto) et aggregate (tableau de chaînes). FromFieldDto.subnets est un tableau de SubnetDto ; chaque SubnetDto possède les chaînes subnet et attribut. ThenFieldDto possède asprepend (int32) et action (chaîne) ; DefaultFieldDto possède action (chaîne). Le Swagger ne définit ni contraintes ni valeurs autorisées pour ces champs de politique imbriqués.

Champs de réponse d'un cloud connecteur​

Toutes les propriétés ci-dessous sont facultatives dans les schémas de réponse. CloudConnectorPublicStandardDynamic, CloudConnectorPublicHaDynamic et CloudConnectorPrivateSelfMade partagent ces champs :

ChampTypeSignification
idUUIDIdentifiant du cloud connecteur.
namechaîneNom du cloud connecteur.
stateénumération de chaînesDESIGNING, DESIGNED, BOOKING, RESERVED, PROVISIONING, ACTIVE, STOPPING, SUSPENDING, INACTIVE, REPAIRING, TERMINATED, ERROR.
projectIdUUIDIdentifiant du projet propriétaire.
bandwidth, maxBandwidthint32Bande passante du connecteur et bande passante maximale.
technicalVpnIdUUIDIdentifiant du connecteur réseau associé.
azureCredentialIdUUIDIdentifiant Azure utilisé pour gérer le connecteur.
azureRegion, resourceGroupName, vnetNamechaîneRégion Azure, groupe de ressources et réseau virtuel.
azureGatewaySubnetchaîneSous-réseau de la passerelle Azure.
azureAsn, networkSideAsnint64Numéros de système autonome côté Azure et côté réseau.
primaryPopLocalizationchaîneLocalisation du point de présence principal.
workflowExecutionIdUUIDIdentifiant de la dernière exécution de workflow.
workflowExecutionStatusénumération de chaînesCREATED, IN_PROGRESS, SUCCEEDED, FAILED, CLEARED.
operationalStatusénumération de chaînesN/A, Up, Down, Unknown.
lastTimeOperationalStatusKnownLocalDateTime (chaîne date-time)Date à laquelle l'état opérationnel était connu pour la dernière fois. L'exemple du Swagger est 2022-03-10 12:15:50.
customerPurchaseOrderNumber, externalBillingRefchaîneNuméro de bon de commande client et référence de facturation externe.

Champs de réponse supplémentaires :

ModèleChampTypeSignification
CloudConnectorPublicStandardDynamicnetworkSideGatewaySubnetchaîneSous-réseau de la passerelle côté réseau.
CloudConnectorPublicHaDynamicsecondaryPopLocalizationchaîneLocalisation du point de présence secondaire.
CloudConnectorPublicHaDynamicnetworkSideGatewaySubnetPrimary, networkSideGatewaySubnetSecondarychaîneSous-réseaux de passerelle côté réseau pour les points de présence principal et secondaire.
CloudConnectorPrivateSelfMaderoutingPolicyénumération de chaînesbasicAggregate, defaultRoute, noAggregate, customRouting.
CloudConnectorPrivateSelfMadeazureExpressRouteServiceKey, expressRouteVnetGatewayName, expressRouteLocation, expressRouteCircuitNamechaîneClé de service Azure ExpressRoute, nom de la passerelle VNet, emplacement et nom du circuit.
CloudConnectorPrivateSelfMadepolicyIn, policyOuttableau de PolicyElementDtoPolitiques de routage entrantes et sortantes.

Cloud connecteurs privés​

Méthode et endpointObjet et paramètresRequête / succès / erreurs
GET /projects/{projectId}/azure/cloudconnectors/privatesLister les cloud connecteurs privés. Chemin obligatoire : projectId (UUID) ; requête facultative : limit=10, offset=0 (entiers).Aucun corps. Succès 200 tableau ; erreurs 400, 401, 403, 500. Le Swagger ne définit pas le schéma des éléments du tableau.
GET /projects/{projectId}/azure/cloudconnectors/privates/{id}Consulter un cloud connecteur privé. Chemin obligatoire : projectId, id (UUID).Aucun corps. Succès 200 ; erreurs 400, 401, 403, 404, 500. Le Swagger ne définit pas le schéma du corps de la réponse de succès.
GET /projects/{projectId}/azure/cloudconnectors/privates/{id}/usageRécupérer la consommation sur une période. Chemin obligatoire : projectId, id (UUID) ; requête obligatoire : startDate, endDate (chaînes) ; facultatif : unitFactor=mega, usageType=bandwidth (chaînes).Aucun corps. Succès 200 UsageDto ; erreurs 400, 401, 403, 404, 500.

Recherches et estimations Azure​

Méthode et endpointObjet et paramètresRequête / succès / erreurs
GET /projects/{projectId}/azure/regionsLister les régions Azure pour un identifiant. Chemin obligatoire : projectId (UUID) ; requête obligatoire : azureCspCredentialId (UUID).Aucun corps. Succès 200 tableau de Region ; erreurs 400, 401, 403, 404, 500.
GET /projects/{projectId}/azure/resourcegroupsLister les groupes de ressources pour un identifiant et une région. Chemin obligatoire : projectId (UUID) ; requête obligatoire : azureCspCredentialId (UUID), azureRegion (chaîne).Aucun corps. Succès 200 tableau de ResourceGroup ; erreurs 400, 401, 403, 404, 500.
GET /projects/{projectId}/azure/vnetsLister les réseaux virtuels pour un identifiant et un groupe de ressources. Chemin obligatoire : projectId (UUID) ; requête obligatoire : azureCspCredentialId (UUID), azureResourceGroup (chaîne).Aucun corps. Succès 200 tableau de Vnet ; erreurs 400, 401, 403, 404, 500.
GET /projects/{projectId}/azure/locationsLister les emplacements Azure disponibles avec Orange pour un identifiant. Chemin obligatoire : projectId (UUID) ; requête obligatoire : azureCspCredentialId (UUID).Aucun corps. Succès 200 tableau de chaînes ; erreurs 400, 401, 403, 404, 500.
GET /projects/{projectId}/azure/expressroutegatewaysRechercher les passerelles ExpressRoute d'un groupe de ressources. Chemin obligatoire : projectId (UUID) ; requête obligatoire : azureCspCredentialId (UUID), azureResourceGroup (chaîne).Aucun corps. Succès 200 tableau d'objets passerelle ; erreurs 400, 401, 403, 404, 500.
GET /projects/{projectId}/azure/skey/{skey}/dataRécupérer les données associées à une clé de service Azure. Chemin obligatoire : projectId (UUID), skey (chaîne).Aucun corps. Succès 200 avec bandwidthInMbps (int32) et location (chaîne) ; erreurs 400, 401, 403, 404, 500.
GET /azurecosting/publicstandarddynamicsEstimer le coût d'un connecteur Public Standard. Requête obligatoire : azureRegion (chaîne), bandwidth (int32), currency (chaîne).Aucun corps. Succès 200 AzureCosting ; erreurs 400, 401, 403, 500.
GET /bandwidthsRechercher les bandes passantes par emplacement pour un type de connectivité. Requête obligatoire : connectivityType (PUBLIC, PRIVATE ou PRIVATE_SELFMADE). Facultatif : displayLocation, location (chaînes), limit=10, offset=0 (entiers).Aucun corps. Succès 200 tableau de LocationBandwidthDto ; erreurs 400, 401, 403, 404, 500.
GET /connectivity/{connectivityType}/bandwidthsLister les bandes passantes prises en charge pour un type de connectivité. Chemin obligatoire : connectivityType (PUBLIC, PRIVATE ou PRIVATE_SELFMADE). Requête facultative : limit=10, offset=0 (entiers).Aucun corps. Succès 200 tableau d'entiers ; erreurs 400, 401, 403, 404, 500.

Modèles de résultat des recherches :

ModèleChamps définis par le Swagger
Regionname (chaîne), displayName (chaîne).
ResourceGroupname (chaîne), location (chaîne).
Vnetname (chaîne), properties (VnetProperties). VnetProperties.addressSpace est un VnetPropertiesAddressSpace, dont addressPrefixes est un tableau de chaînes.
LocationBandwidthDtoid (UUID), location (chaîne), displayLocation (chaîne), connectivityType (chaîne), bandwidths (tableau d'int32).
AzureCostingestimatedCostHourly (float), estimatedCostMonthly (int32), currency (chaîne).

Un élément de réponse de passerelle ExpressRoute possède id (chaîne), name (chaîne), properties (VirtualNetworkGatewayProperties), location (chaîne) et tags (objet à valeurs de type chaîne). Les champs imbriqués de VirtualNetworkGatewayProperties sont provisioningState, gatewayType, vpnGatewayGeneration, vpnType (chaînes), sku (Sku avec les chaînes name, tier, family), enableBgp et activeActive (booléens), ipConfigurations (tableau de VirtualNetworkGatewayIpConfiguration) et bgpSettings (VirtualNetworkGatewayBgpSettings). Chaque configuration IP possède name (chaîne) et properties ; ces dernières contiennent privateIPAllocationMethod (chaîne), subnet (Endpoint) et publicIPAddress (Endpoint). Endpoint.id est une chaîne. Les paramètres BGP contiennent asn (int64) et bgpPeeringAddresses ; chaque entrée d'adresse d'appairage possède defaultBgpIpAddresses (tableau de chaînes). Le Swagger ne décrit pas la signification de tous ces champs imbriqués.

La réponse de données de clé de service contient bandwidthInMbps (int32) et location (chaîne).

Le contrat ne fournit pas de valeurs autorisées pour currency, azureRegion, unitFactor ou usageType ; ne supposez pas d'autres valeurs que celles retournées par le service ou fournies séparément par la documentation métier.

Champs de réponse des ressources et de la consommation​

CloudConnectorResources et CloudConnectorResources2 contiennent les champs facultatifs id (UUID), name (chaîne), state (State), connectorType (chaîne), networkResources (NaasResourcesInformation) et cloudResources (respectivement CloudResources et CloudResources2).

Modèle imbriquéChamps définis par le Swagger
NaasResourcesInformationnetworkServiceId (UUID), serviceId (UUID), serviceQualification (ServiceQualification), serviceOrder (ServiceOrder).
ServiceQualificationqualificationId (UUID), processusStatus (chaîne), qualificationResult (chaîne).
ServiceOrderorderId (UUID), processusStatus (chaîne), orderResult (chaîne).
CloudResourcespublicIpAdresses (tableau de CloudResourcesProperties), virtualNetworkGateway et gatewaySubnet (CloudResourcesProperties), localNetworkGateways et virtualNetworkGatewaysConnections (tableaux de CloudResourcesProperties).
CloudResources2privateBGPPeering, expressRouteConnection, serviceKey (CloudResourcesProperties).
CloudResourcesPropertiesresourceId, resourceState (chaînes).

UsageDto contient les champs facultatifs xAxis (XAxisModel) et series (SeriesModel). XAxisModel.data est un tableau de chaînes ; SeriesModel.in et SeriesModel.out sont des tableaux d'entiers. Le Swagger n'inclut pas d'exemple de réponse concret et ne précise pas les formats acceptés pour startDate et endDate.

Exécutions de workflow​

Ces opérations de workflow figurent dans le Swagger fourni pour Azure CC, mais elles sont marquées comme communes et non spécifiques à Azure.

Méthode et endpointObjet et paramètresRequête / succès / erreurs
GET /projects/{projectId}/cloudconnectors/{cloudConnectorId}/workflowexecutionsLister les exécutions de workflow d'un connecteur. Chemin obligatoire : projectId, cloudConnectorId (UUID) ; facultatif : limit=10, offset=0.Aucun corps. Succès 200 tableau de WorkflowExecution ; erreurs 400, 401, 403, 500.
GET /projects/{projectId}/workflowexecutions/{wflExecId}Consulter une exécution de workflow. Chemin obligatoire : projectId, wflExecId (UUID).Aucun corps. Succès 200 WorkflowExecution ; erreurs 400, 401, 403, 404, 500.
POST /projects/{projectId}/workflowexecutions/{wflExecId}/replayRejouer une exécution de workflow. Chemin obligatoire : projectId, wflExecId (UUID).Aucun corps de requête défini. Succès 200 WorkflowExecution ; erreurs 400, 401, 403, 404, 500.

Les champs de WorkflowExecution sont workflowExecutionId (UUID), workflowName (chaîne), workflowRevision (chaîne), workflowDescription (chaîne), currentStepExecution (UUID), startDateTime, creationDateTime, endDateTime et updateDateTime (chaînes date-time ; l'exemple du Swagger est 2022-03-10 12:15:50), totalDuration (chaîne), status (énumération CREATED, IN_PROGRESS, SUCCEEDED, FAILED, CLEARED), context (chaîne), exitMessage (chaîne), exitCode (chaîne), stepExecutions (tableau de StepExecution) et workflowExecutionParameters (tableau de WorkflowExecutionParameter). Tous sont facultatifs dans le schéma de réponse.

Chaque StepExecution peut contenir stepExecutionId (UUID), stepName, stepDescription, context, exitMessage et exitCode (chaînes), stepType (énumération NOMINAL, COMPENSATION), status (énumération CREATED, IN_PROGRESS, SUCCEEDED, FAILED) et startDateTime, creationDateTime, endDateTime et updateDateTime (chaînes date-time). Un WorkflowExecutionParameter peut contenir name, type et value (chaînes). Toutes les propriétés de ces schémas de réponse imbriqués sont facultatives.

Modèle cURL​

Pour une opération sans corps, remplacez la méthode et le chemin par ceux de la ligne correspondante ci-dessus :

curl --request GET "https://ope-obs.apibackbone.orange.com/evolutionplatform/azure/api/v1/projects/{projectId}/azure/regions?azureCspCredentialId=YOUR_CREDENTIAL_UUID" \
--header "Authorization: ******" \
--header "Accept: application/json"

Pour une opération avec corps JSON, utilisez les mêmes en-têtes que dans l'exemple d'identifiant et fournissez un fichier JSON ou un corps en ligne conforme au schéma de requête. PUT et PATCH sont deux opérations distinctes dans le contrat ; ne les substituez pas l'une à l'autre. Les opérations PUT et PATCH des connecteurs référencent actuellement le même schéma de requête, et le Swagger ne définit pas d'autres différences sémantiques ni ne marque de propriété de ce schéma comme obligatoire.

Informations non précisées par le Swagger​

  • L'hôte du serveur et le chemin de base sont déclarés comme variables dans le Swagger. Ses valeurs par défaut sont https://ope-obs.apibackbone.orange.com et /evolutionplatform/azure/api/v1 ; les exemples de ce guide utilisent l'hôte demandé ope-obs.apibackbone.orange.com.
  • Aucun exemple de réponse de succès ni de message d'erreur n'est fourni.
  • Plusieurs schémas de succès sont incomplets : GET /azure/cloudconnectors/privates n'a pas de schéma d'élément de tableau, et GET /azure/cloudconnectors/privates/{id} n'a pas de schéma de corps de réponse.
  • Aucun format ni fuseau horaire n'est déclaré pour startDate et endDate de la consommation.
  • Aucune liste de valeurs autorisées n'est déclarée pour currency, unitFactor ou usageType.
  • Les champs obligatoires des corps de requête des connecteurs ne sont pas indiqués dans le Swagger ; seul CredentialRequest marque des champs de corps comme obligatoires.