Aller au contenu principal

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

NomDansObligatoireTypeDescription
envUripathtruestringURL de la plateforme cible.
projectIdpathtruestringIdentifiant unique du projet dans Evolution Platform.

Réponses

NomTypeDescription
200 OKVPNOK
Autres CodesErreurErreur 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

NomDansObligatoireTypeDescription
envUripathtruestringURL de la plateforme cible.
limitqueryfalseintegerLe paramètre de requête `limit` spécifie le nombre de ressources contenues dans une seule page de réponse.
offsetqueryfalseintegerLe 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

NomTypeDescription
200 OKPOPOK
Autres CodesErreurErreur 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.

Attention

{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

NomDansObligatoireTypeDescription
envUripathtruestringURL de la plateforme cible.
projectIdpathtruestringIdentifiant unique du projet dans Evolution Platform.

Réponses

NomTypeDescription
200 OKIdentifiantOK
Autres CodesErreurErreur 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

NomDansObligatoireTypeDescription
envUripathtruestringURL de la plateforme cible.
projectIdpathtruestringIdentifiant unique du projet dans Evolution Platform.
AzureCredentialIdpathtruestringIdentifant du credential Azure dans Evolution Platform.

Réponses

NomTypeDescription
200 OKRegionOK
Autres CodesErreurErreur 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

NomDansObligatoireTypeDescription
envUripathtruestringURL de la plateforme cible.
projectIdpathtruestringIdentifiant unique du projet dans Evolution Platform.
AzureCredentialIdpathtruestringIdentifant du credential Azure dans Evolution Platform.
azureRegionquerytruestringIdentifiant unique de région Azure dans Evolution Platform qui a été récupéré lors d'une étape précédente.

Réponses

NomTypeDescription
200 OKResource GroupOK
Autres CodesErreurErreur 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

NomDansObligatoireTypeDescription
envUripathtruestringURL de la plateforme cible.
projectIdpathtruestringIdentifiant unique du projet dans Evolution Platform.

Réponses

NomTypeDescription
200 OKVirtual networkOK
Autres CodesErreurErreur 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

NomDansObligatoireTypeDescription
envUripathtruestringURL de la plateforme cible.
projectIdpathtruestringIdentifiant unique du projet dans Evolution Platform.

Contenu du message

NomObligatoireTypeDescription
nametrueStringNom du connecteur cloud
statetrueStringÉtat attendu du connecteur cloud. Définir la valeur sur ACTIVE pour créer le connecteur cloud à l'état actif
bandWidthtrueStringBande passante du connecteur cloud. La valeur doit être : 10, 20, 50, 100, 200, 500 ou 1000
technicalVpnIdtrueuuidIdentifiant du VPN Technique Orange Business
azureCredentialIdtrueuuidIdentifiant des Credentials Azure dans Evolution Platform
primaryPopLocalizationtrueStringLocalisation du Point de Présence principal associé au connecteur cloud
secondaryPopLocalizationtrueStringLocalisation du Point de Présence secondaire associé au connecteur cloud
azureRegiontrueStringIdentifiant de la région Azure
resourceGroupNametrueStringNom du groupe de ressources Azure
vnetNametrueStringNom du réseau virtuel Orange Business
azureGatewaySubnettrueStringValeur du sous-réseau de la passerelle Azure
azureAsntrueIntegerValeur 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.
networkSideAsntrueIntegerValeur 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.
networkSideGatewaySubnetPrimarytrueIntegerValeur du sous-réseau de la passerelle du réseau Orange Business associé au Point de Présence principal
networkSideGatewaySubnetSecondarytrueIntegerValeur du sous-réseau de la passerelle du réseau Orange Business associé au Point de Présence secondaire

Réponses

NomTypeDescription
200 OKCloud ConnectorOK
Autres CodesErreurErreur inattendue.

Contenu :

NomTypeDescription
nameStringNom du connecteur cloud
stateStringÉtat attendu du connecteur cloud. Définir la valeur sur ACTIVE pour créer le connecteur cloud en état actif
projectNameStringNom du projet dans Evolution Platform
projectIduuidIdentifiant du projet dans Evolution Platform
bandWidthStringBande passante du connecteur cloud. La valeur doit être : 10, 20, 50, 100, 200, 500 ou 1000
technicalVpnIduuidIdentifiant du VPN Technique Orange Business
azureCredentialIduuidIdentifiant des Credentials Azure dans Evolution Platform
primaryPopLocalizationStringLocalisation du Point de Présence principal associé au connecteur cloud
secondaryPopLocalizationStringLocalisation du Point de Présence secondaire associé au connecteur cloud
azureRegionStringIdentifiant de la région Azure
resourceGroupNameStringNom du groupe de ressources Azure
vnetNameStringNom du réseau virtuel Orange Business
azureGatewaySubnetStringValeur du sous-réseau de la passerelle Azure
azureAsnIntegerValeur 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.
networkSideAsnIntegerValeur 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.
networkSideGatewaySubnetPrimaryIntegerValeur du sous-réseau de la passerelle du réseau Orange Business associé au Point de Présence principal
networkSideGatewaySubnetSecondaryIntegerValeur du sous-réseau de la passerelle du réseau Orange Business associé au Point de Présence secondaire
workflowExecutionIdIntegerIdentifiant du workflow
workflowExecutionStatusStringStatut 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 :