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. |
projectId | path | true | string | Identifiant unique du projet dans Evolution Platform. |
Réponses
Nom | Type | Description |
---|---|---|
200 OK | VPN | OK |
Autres Codes | Erreur | Erreur inattendue. |
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 | OK |
Autres Codes | Erreur | Erreur inattendue. |
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. |
projectId | path | true | string | Identifiant unique du projet dans Evolution Platform. |
Réponses
Nom | Type | Description |
---|---|---|
200 OK | Identifiant | OK |
Autres Codes | Erreur | Erreur inattendue. |
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. |
projectId | path | true | string | Identifiant unique du projet dans Evolution Platform. |
AzureCredentialId | path | true | string | Identifant du credential Azure dans Evolution Platform. |
Réponses
Nom | Type | Description |
---|---|---|
200 OK | Region | OK |
Autres Codes | Erreur | Erreur inattendue. |
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. |
projectId | path | true | string | Identifiant unique du projet dans Evolution Platform. |
AzureCredentialId | path | 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 | OK |
Autres Codes | Erreur | Erreur inattendue. |
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. |
projectId | path | true | string | Identifiant unique du projet dans Evolution Platform. |
Réponses
Nom | Type | Description |
---|---|---|
200 OK | Virtual network | OK |
Autres Codes | Erreur | Erreur inattendue. |
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. |
projectId | path | true | string | Identifiant unique du projet dans Evolution Platform. |
Contenu du message
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 |
technicalVpnId | true | uuid | Identifiant du VPN Technique Orange Business |
azureCredentialId | true | uuid | Identifiant des Credentials Azure dans Evolution Platform |
primaryPopLocalization | true | String | Localisation du Point de Présence principal associé au connecteur cloud |
secondaryPopLocalization | true | String | Localisation du Point de Présence secondaire associé au connecteur cloud |
azureRegion | true | String | Identifiant de la région Azure |
resourceGroupName | true | String | Nom du groupe de ressources Azure |
vnetName | true | String | Nom du réseau virtuel Orange Business |
azureGatewaySubnet | 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. |
networkSideAsn | 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. |
networkSideGatewaySubnetPrimary | true | Integer | Valeur du sous-réseau de la passerelle du réseau Orange Business associé au Point de Présence principal |
networkSideGatewaySubnetSecondary | 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 | OK |
Autres Codes | Erreur | Erreur inattendue. |
Contenu :
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 |
projectId | 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 |
technicalVpnId | uuid | Identifiant du VPN Technique Orange Business |
azureCredentialId | uuid | Identifiant des Credentials Azure dans Evolution Platform |
primaryPopLocalization | String | Localisation du Point de Présence principal associé au connecteur cloud |
secondaryPopLocalization | String | Localisation du Point de Présence secondaire associé au connecteur cloud |
azureRegion | String | Identifiant de la région Azure |
resourceGroupName | String | Nom du groupe de ressources Azure |
vnetName | String | Nom du réseau virtuel Orange Business |
azureGatewaySubnet | 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. |
networkSideAsn | 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. |
networkSideGatewaySubnetPrimary | Integer | Valeur du sous-réseau de la passerelle du réseau Orange Business associé au Point de Présence principal |
networkSideGatewaySubnetSecondary | Integer | Valeur du sous-réseau de la passerelle du réseau Orange Business associé au Point de Présence secondaire |
workflowExecutionId | Integer | Identifiant du workflow |
workflowExecutionStatus | 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": "POP4",
"bandWidth": 50,
"technicalVpnId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"azureAsn": 64512,
"networkSideAsn": 64513,
"networkSideGatewaySubnet":"59.23.124.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 :