Cloud Co Publique Haute Disponibilité - Create
Pour instancier un connecteur cloud, vous devez suivre les étapes ci-dessus dans l'ordre décrit.
1. Récupérer l'identifiant du VPN (vpnId)
GET https://{envUri}/api/v1/projects/{projectId}/network/virtualprivatenetworks
Paramètres URI
| Nom | Dans | Obligatoire | Type | Description |
|---|---|---|---|---|
| envUri | path | true | string | URL de la plateforme cible. |
| project | path | true | string | Identifiant unique du projet dans Evolution Platform. |
Réponses
| Nom | Type | Description |
|---|---|---|
| 200 OK | VPN | Opération réussie |
| Autres Codes | Réponse d'erreur | Réponse d’erreur décrivant pourquoi l’opération a échoué. |
Exemple de réponse
[
{
"id": "2846fd1f-75f6-4e79-94af-368be950e79c",
"name": "VPNName1",
"description": "VPN Name 1",
"networkType": "BVPN"
},
{
"id": "351cd244-37b3-41b4-8b7a-a8576862820d",
"name": "VPNName1",
"description": "VPN Name 2",
"networkType": "BVPN"
},
{
"id": "93b22b3c-fd7e-4c04-87cb-52df45fe6beb",
"name": "VPNName3",
"description": "VPN Name 3",
"networkType": "BVPN"
}
]
{technicalVpnId} est associé à l'un des champs "id" de la liste des VPN techniques de la réponse.
Exemple : {technicalVpnId} = "93b22b3c-fd7e-4c04-87cb-52df45fe6beb"
2. Récupérer les identifiants des Points de Présence principal et secondaires (popId)
GET https://{envUri}/api/v1/network/pointsofpresence/ipsec?limit=20&offset=0
Paramètres URI
| Nom | Dans | Obligatoire | Type | Description |
|---|---|---|---|---|
| envUri | path | true | string | URL de la plateforme cible. |
| limit | query | false | integer | Le paramètre de requête `limit` spécifie le nombre de ressources contenues dans une seule page de réponse. |
| offset | query | false | integer | Le paramètre de requête `offset` est utilisé pour exclure de la réponse les N premiers éléments d'une collection de ressources. |
Réponses
| Nom | Type | Description |
|---|---|---|
| 200 OK | POP | Opération réussie |
| Autres Codes | Réponse d'erreur | Réponse d’erreur décrivant pourquoi l’opération a échoué. |
Exemple de réponse
[
{
"popDisplayname": "Pop 1",
"popName": "POP-1",
"popId": "P1",
"popCountryCode": "FR"
},
{
"popDisplayname": "Pop 2",
"popName": "POP-2",
"popId": "P2",
"popCountryCode": "UK"
},
{
"popDisplayname": "Pop 3",
"popName": "DE-3",
"popId": "DE3",
"popCountryCode": "DE"
},
{
"popDisplayname": "Pop 4",
"popName": "POP-4",
"popId": "POP4",
"popCountryCode": "NL"
},
{
"popDisplayname": "Pop 5",
"popName": "POP-5",
"popId": "P5",
"popCountryCode": "US"
}
]
{primaryPopId} and {secondaryPopId} sont associés à l'un des champs "popId" de la liste des POP de la réponse.
{primaryPopId} et {secondaryPopId} doivent être differents !
Exemple : {primaryPopId} = "P1" et {secondaryPopId} = "POP4"
3. Récupérer l'identifiant du credential Azure
GET https://{envUri}/api/v1/projects/{projectId}/azure/credentials?limit=20&offset=0
Paramètres URI
| Nom | Dans | Obligatoire | Type | Description |
|---|---|---|---|---|
| envUri | path | true | string | URL de la plateforme cible. |
| project | path | true | string | Identifiant unique du projet dans Evolution Platform. |
| limit | query | false | integer | Le paramètre de requête `limit` spécifie le nombre de ressources contenues dans une seule page de réponse. |
| offset | query | false | integer | Le paramètre de requête `offset` est utilisé pour exclure de la réponse les N premiers éléments d'une collection de ressources. |
Réponses
| Nom | Type | Description |
|---|---|---|
| 200 OK | Identifiant | Opération réussie |
| Autres Codes | Réponse d'erreur | Réponse d’erreur décrivant pourquoi l’opération a échoué. |
Exemple de réponse
[
{
"id": "b1c3d7b8-f249-4a25-9f26-02682bbad4f3",
"projectId": "{projectId}",
"name": "Azure_Credential_1",
"csp": "AZURE",
"description": "My Azure credentials 1",
"projectName": "MyAzureProjectName 1",
"expirationDate": "YYYY-MM-DD"
},
{
"id": "a2b3d7b8-f249-4a25-9f26-02682bbad4f3",
"projectId": "{projectId}",
"name": "Azure_Credential_2",
"csp": "AZURE",
"description": "My Azure credentials 2",
"projectName": "MyAzureProjectName 2",
"expirationDate": "YYYY-MM-DD"
}
]
{azureCredentialId} est associé à l'un des champs "id" de la liste des credentials Azure de la réponse.
Exemple : {azureCredentialId} = "b1c3d7b8-f249-4a25-9f26-02682bbad4f3"
4. Récupérer la région Azure
GET https://{envUri}/api/v1/projects/{projectId}/azure/regions?azureCspCredentialId={azureCredentialId}
Paramètres URI
| Nom | Dans | Obligatoire | Type | Description |
|---|---|---|---|---|
| envUri | path | true | string | URL de la plateforme cible. |
| project | path | true | string | Identifiant unique du projet dans Evolution Platform. |
| azureCredential | query | true | string | Identifant du credential Azure dans Evolution Platform. |
Réponses
| Nom | Type | Description |
|---|---|---|
| 200 OK | Region | Opération réussie |
| Autres Codes | Réponse d'erreur | Réponse d’erreur décrivant pourquoi l’opération a échoué. |
Exemple de réponse
[
{
"name": "asia",
"displayName": "Asia"
},
{
"name": "asiapacific",
"displayName": "Asia Pacific"
},
{
"name": "australia",
"displayName": "Australia"
},
{
"name": "australiacentral",
"displayName": "Australia Central"
},
{
"name": "northeurope",
"displayName": "North Europe"
},
...
]
La valeur du champ name dans la liste des régions Azure de la réponse est liée à {azureRegion}.
Exemple : {azureRegion} = "northeurope"
5. Récupérer le groupe de ressources Azure
GET https://{envUri}/api/v1/projects/{projectId}/azure/resourcegroups?azureCspCredentialId={azureCredentialId}&azureRegion={azureRegion}
Paramètres URI
| Nom | Dans | Obligatoire | Type | Description |
|---|---|---|---|---|
| envUri | path | true | string | URL de la plateforme cible. |
| project | path | true | string | Identifiant unique du projet dans Evolution Platform. |
| azureCredential | query | true | string | Identifant du credential Azure dans Evolution Platform. |
| azureRegion | query | true | string | Identifiant unique de région Azure dans Evolution Platform qui a été récupéré lors d'une étape précédente. |
Réponses
| Nom | Type | Description |
|---|---|---|
| 200 OK | Resource Group | Opération réussie |
| Autres Codes | Réponse d'erreur | Réponse d’erreur décrivant pourquoi l’opération a échoué. |
Exemple de réponse
[
{
"name": "rg-1",
"location": "northeurope"
},
{
"name": "rg-2",
"location": "northeurope"
},
{
"name": "rg-3",
"location": "northeurope"
},
{
"name": "rg-4",
"location": "northeurope"
}
]
La valeur du champ name dans la liste des groupes de ressources Azure de la réponse est liée à {azureResourceGroup}.
Exemple : {azureResourceGroup} = "rg-3"
6. Récupérer le nom du réseau virtuel Azure
GET https://{envUri}/api/v1/projects/{projectId}/network/virtualprivatenetworks
Paramètres URI
| Nom | Dans | Obligatoire | Type | Description |
|---|---|---|---|---|
| envUri | path | true | string | URL de la plateforme cible. |
| project | path | true | string | Identifiant unique du projet dans Evolution Platform. |
Réponses
| Nom | Type | Description |
|---|---|---|
| 200 OK | Virtual Network | Opération réussie |
| Autres Codes | Réponse d'erreur | Réponse d’erreur décrivant pourquoi l’opération a échoué. |
Exemple de réponse
[
{
"id": "f6072903-de58-4435-bd01-515e6b28f452",
"name": "vnet-01",
"description": "vnet-01",
"networkType": "BVPN"
},
{
"id": "c9afb3f8-b080-4323-b374-71214d0e0e0a",
"name": "vnet-02",
"description": "vnet-02",
"networkType": "BVPN"
},
{
"id": "64e9af24-738a-4e94-84ee-15131432b246",
"name": "vnet-03",
"description": "vnet-03",
"networkType": "BVPN"
},
...
]
La valeur du champ name dans la liste des réseaux virtuels Azure de la réponse est liée à {vnetName}.
Exemple : {vnetName} = "vnet-02"
7. Créer le connecteur cloud
POST https://{envUri}/api/v1/projects/{projectId}/azure/cloudconnectors/publicstandarddynamics
Paramètres URI
| Nom | Dans | Obligatoire | Type | Description |
|---|---|---|---|---|
| envUri | path | true | string | URL de la plateforme cible. |
| project | path | true | string | Identifiant unique du projet dans Evolution Platform. |
Corps de la demande
| Nom | Obligatoire | Type | Description |
|---|---|---|---|
| name | true | string | Nom du connecteur cloud |
| state | true | string | État attendu du connecteur cloud. Définir la valeur sur ACTIVE pour créer le connecteur cloud à l'état actif |
| bandWidth | true | string | Bande passante du connecteur cloud. La valeur doit être : 10, 20, 50, 100, 200, 500 ou 1000 |
| technicalVpn | true | uuid | Identifiant du VPN Technique Orange Business |
| azureCredential | true | uuid | Identifiant des Credentials Azure dans Evolution Platform |
| primaryPop | true | string | Localisation du Point de Présence principal associé au connecteur cloud |
| secondaryPop | true | string | Localisation du Point de Présence secondaire associé au connecteur cloud |
| azureRegion | true | string | Identifiant de la région Azure |
| resourceGroup | true | string | Nom du groupe de ressources Azure |
| vnetName | true | string | Nom du réseau virtuel Orange Business |
| azureGateway | true | string | Valeur du sous-réseau de la passerelle Azure |
| azureAsn | true | integer | Valeur du numéro AS Azure. La plage de paramètres est comprise entre 64512 et 65534, les numéros AS Azure 65515 à 65520 sont exclus car ils sont utilisés par Microsoft Azure à des fins internes. |
| networkSide | true | integer | Valeur du numéro AS du réseau Orange Business. La plage de paramètres est comprise entre 64512 et 65534, les numéros AS Azure 65515 à 65520 sont exclus car ils sont utilisés par Microsoft Azure à des fins internes. |
| networkSideGateway | true | integer | Valeur du sous-réseau de la passerelle du réseau Orange Business associé au Point de Présence principal |
| networkSideGateway | true | integer | Valeur du sous-réseau de la passerelle du réseau Orange Business associé au Point de Présence secondaire |
Réponses
| Nom | Type | Description |
|---|---|---|
| 200 OK | Cloud connector | Opération réussie |
| Autres Codes | Réponse d'erreur | Réponse d’erreur décrivant pourquoi l’opération a échoué. |
Contenu de la réponse
| Nom | Type | Description |
|---|---|---|
| name | string | Nom du connecteur cloud |
| state | string | État attendu du connecteur cloud. Définir la valeur sur ACTIVE pour créer le connecteur cloud en état actif |
| projectName | string | Nom du projet dans Evolution Platform |
| project | uuid | Identifiant du projet dans Evolution Platform |
| bandWidth | string | Bande passante du connecteur cloud. La valeur doit être : 10, 20, 50, 100, 200, 500 ou 1000 |
| technicalVpn | uuid | Identifiant du VPN Technique Orange Business |
| azureCredential | uuid | Identifiant des Credentials Azure dans Evolution Platform |
| primaryPop | string | Localisation du Point de Présence principal associé au connecteur cloud |
| secondaryPop | string | Localisation du Point de Présence secondaire associé au connecteur cloud |
| azureRegion | string | Identifiant de la région Azure |
| resourceGroup | string | Nom du groupe de ressources Azure |
| vnetName | string | Nom du réseau virtuel Orange Business |
| azureGateway | string | Valeur du sous-réseau de la passerelle Azure |
| azureAsn | integer | Valeur du numéro AS Azure. La plage de paramètres est comprise entre 64512 et 65534, les numéros AS Azure 65515 à 65520 sont exclus car ils sont utilisés par Microsoft Azure à des fins internes. |
| networkSide | integer | Valeur du numéro AS du réseau Orange Business. La plage de paramètres est comprise entre 64512 et 65534, les numéros AS Azure 65515 à 65520 sont exclus car ils sont utilisés par Microsoft Azure à des fins internes. |
| networkSideGateway | integer | Valeur du sous-réseau de la passerelle du réseau Orange Business associé au Point de Présence principal |
| networkSideGateway | integer | Valeur du sous-réseau de la passerelle du réseau Orange Business associé au Point de Présence secondaire |
| workflow | integer | Identifiant du workflow |
| workflow | string | Statut du workflow |
Exemple : créer un connecteur en mode actif
Requête
POST https://{envUri}/api/v1/projects/{projectId}/azure/cloudconnectors/publicstandarddynamics
{
"name": "Connection to PARIS",
"projectId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"azureCredentialId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"azureRegion": "northeurope",
"resourceGroupName": "rg-3",
"vnetName": "vnet-02",
"primaryPopLocalization": "PO1",
"secondaryPopLocalization": "POP4",
"bandWidth": 50,
"technicalVpnId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"azureAsn": 64512,
"networkSideAsn": 64513,
"networkSideGatewaySubnetPrimary":"59.23.124.12/29",
"networkSideGatewaySubnetSecondary":"59.23.125.12/29",
"azureGatewaySubnet":"69.45.47.145/27",
"state":"ACTIVE"
}
Réponse
HTTP 200
Content: application/json
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"name": "Connection to PARIS",
"state": "PROVISIONING",
"projectName": "Demo",
"projectId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"bandWidth": 50,
"technicalVpnId": "93b22b3c-fd7e-4c04-87cb-52df45fe6beb",
"azureCredentialId": "b1c3d7b8-f249-4a25-9f26-02682bbad4f3",
"primaryPopLocalization": "PO1",
"secondaryPopLocalization": "POP4",
"azureRegion": "northeurope",
"resourceGroupName": "rg-3",
"vnetName": "vnet-02",
"azureGatewaySubnet": "69.45.47.145/27",
"azureAsn": 64512,
"networkSideAsn": 64513,
"networkSideGatewaySubnetPrimary":"59.23.124.12/29",
"networkSideGatewaySubnetSecondary":"59.23.125.12/29",
"workflowExecutionId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"workflowExecutionStatus": "CREATED"
}
Le champ state aura la valeur PROVISIONING pendant la phase de création. Lorsque l'opération sera terminée, le state aura la valeur ACTIVE.
Allez au tutoriel Get pour vérifier le statut du connecteur cloud :
Exemple : créer un connecteur en mode "designed"
Requête
POST https://{envUri}/api/v1/projects/{projectId}/azure/cloudconnectors/publicstandarddynamics
{
"name": "Connection to PARIS",
"projectId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"azureCredentialId": "b1c3d7b8-f249-4a25-9f26-02682bbad4f3",
"azureRegion": "northeurope",
"resourceGroupName": "rg-3",
"vnetName": "vnet-02",
"primaryPopLocalization": "PO1",
"secondaryPopLocalization": "POP4",
"bandWidth": 50,
"technicalVpnId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"azureAsn": 64512,
"networkSideAsn": 64513,
"networkSideGatewaySubnetPrimary":"59.23.124.12/29",
"networkSideGatewaySubnetSecondary":"59.23.125.12/29",
"azureGatewaySubnet":"69.45.47.145/27",
"state":"DESIGNED"
}
Réponse
HTTP 200
Content: application/json
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"name": "Connection to PARIS",
"state": "DESIGNING",
"projectName": "Demo",
"projectId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"bandWidth": 50,
"technicalVpnId": "93b22b3c-fd7e-4c04-87cb-52df45fe6beb",
"azureCredentialId": "b1c3d7b8-f249-4a25-9f26-02682bbad4f3",
"primaryPopLocalization": "PO1",
"secondaryPopLocalization": "POP4",
"azureRegion": "northeurope",
"resourceGroupName": "rg-3",
"vnetName": "vnet-02",
"azureGatewaySubnet": "69.45.47.145/27",
"azureAsn": 64512,
"networkSideAsn": 64513,
"networkSideGatewaySubnetPrimary":"59.23.124.12/29",
"networkSideGatewaySubnetSecondary":"59.23.125.12/29",
"workflowExecutionId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"workflowExecutionStatus": "CREATED"
}
Le champ state aura la valeur DESIGNING pendant la phase de création. Lorsque l'opération sera terminée, le state aura la valeur DESIGNED.
Allez au tutoriel Get pour vérifier le statut du connecteur cloud :