High Availability Public Cloud Co - Create
To instantiate an High Availability cloud connector, you must follow the above steps in the order described.
1. Retrieve technical VPN Id (vpnId)
GET https://{envUri}/api/v1/projects/{projectId}/network/virtualprivatenetworks
URI Parameters
Name | In | Required | Type | Description |
---|---|---|---|---|
envUri | path | true | string | Url of the target platform. |
projectId | path | true | string | The project identifier which uniquely identify your project in Evolution Platform. |
Responses
Name | Type | Description |
---|---|---|
200 OK | VPN | OK |
Other Status Codes | Error | Unexpected error. |
Response body example
[
{
"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}
is associated to one of the "id" field inside list of the Technical VPN of the response.
Example : {technicalVpnId}
= "93b22b3c-fd7e-4c04-87cb-52df45fe6beb"
2. Retrieve Primary and Secondary Point Of Presence Ids (popId)
GET https://{envUri}/api/v1/network/pointsofpresence/ipsec?limit=20&offset=0
URI Parameters
Name | In | Required | Type | Description |
---|---|---|---|---|
envUri | path | true | string | Url of the target platform. |
limit | query | false | integer | The limit query parameter specifies the number of resources that a single response page contains. |
offset | query | false | integer | The offset query parameter is used to exclude from a response the first N items of a resource collection. |
Responses
Name | Type | Description |
---|---|---|
200 OK | POP | OK |
Other Status Codes | Error | Unexpected error. |
Response body example
[
{
"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}
are associated to one of the "popId" field inside list of the POP of the response.
{primaryPopId}
and {secondaryPopId}
must be different!
Example : {primaryPopId}
= "P1" and {secondaryPopId}
= "POP4"
3. Retrieve Azure Credentials Id
GET https://{envUri}/api/v1/projects/{projectId}/azure/credentials?limit=20&offset=0
URI Parameters
Name | In | Required | Type | Description |
---|---|---|---|---|
envUri | path | true | string | Url of the target platform. |
projectId | path | true | string | The project identifier which uniquely identify your project in Evolution Platform. |
Responses
Name | Type | Description |
---|---|---|
200 OK | Credential | OK |
Other Status Codes | Error | Unexpected error. |
Response body example
[
{
"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}
is associated to one of the "id" field inside list of the Azure Credential of the response.
Example : {azureCredentialId}
= "b1c3d7b8-f249-4a25-9f26-02682bbad4f3"
4. Retrieve the Azure Region
GET https://{envUri}/api/v1/projects/{projectId}/azure/regions?azureCspCredentialId={azureCredentialId}
URI Parameters
Name | In | Required | Type | Description |
---|---|---|---|---|
envUri | path | true | string | Url of the target platform. |
projectId | path | true | string | The project identifier which uniquely identify your project in Evolution Platform. |
azureCredentialId | query | true | string | The Azure Credential Identifier, which uniquely identifies your credentials in Evolution Platform and was retrieved in a previous step. |
Responses
Name | Type | Description |
---|---|---|
200 OK | Region | OK |
Other Status Codes | Error | Unexpected error. |
Response body example
[
{
"name": "asia",
"displayName": "Asia"
},
{
"name": "asiapacific",
"displayName": "Asia Pacific"
},
{
"name": "australia",
"displayName": "Australia"
},
{
"name": "australiacentral",
"displayName": "Australia Central"
},
{
"name": "northeurope",
"displayName": "North Europe"
},
...
]
The value of the name
field in the Azure Region list of the response is linked to the {azureRegion}
.
Example : {azureRegion}
= "northeurope"
5. Retrieve the Azure resource group
GET https://{envUri}/api/v1/projects/{projectId}/azure/resourcegroups?azureCspCredentialId={azureCredentialId}&azureRegion={azureRegion}
URI Parameters
Name | In | Required | Type | Description |
---|---|---|---|---|
envUri | path | true | string | Url of the target platform. |
projectId | path | true | string | The project identifier which uniquely identify your project in Evolution Platform. |
azureCredentialId | query | true | string | The Azure Credential Identifier which uniquely identify your credentials in Evolution Platform and was retrieved in a previous step. |
azureRegion | query | true | string | The Azure Region Identifier which uniquely identify the Azure Region in Evolution Platform and was retrieved in a previous step. |
Responses
Name | Type | Description |
---|---|---|
200 OK | Resource Group | OK |
Other Status Codes | Error | Unexpected error. |
Response body example
[
{
"name": "rg-1",
"location": "northeurope"
},
{
"name": "rg-2",
"location": "northeurope"
},
{
"name": "rg-3",
"location": "northeurope"
},
{
"name": "rg-4",
"location": "northeurope"
}
]
The value of the name
field in the Azure Resource Group list of the response is linked to the {azureResourceGroup}
.
Example : {azureResourceGroup}
= "rg-3"
6. Retrieve the Azure Virtual Network
GET https://{envUri}/api/v1/projects/{projectId}/network/virtualprivatenetworks
URI Parameters
Name | In | Required | Type | Description |
---|---|---|---|---|
envUri | path | true | string | Url of the target platform. |
projectId | path | true | string | The project identifier which uniquely identify your project in Evolution Platform. |
Responses
Name | Type | Description |
---|---|---|
200 OK | Virtual network | OK |
Other Status Codes | Error | Unexpected error. |
Response body example
[
{
"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"
},
...
]
The value of the name
field in the Azure Virtual Network list of the response is linked to the {vnetName}
.
Example : {vnetName}
= "vnet-02"
7. Create the cloud connector
POST https://{envUri}/api/v1/projects/{projectId}/azure/cloudconnectors/publichadynamics
URI Parameters
Name | In | Required | Type | Description |
---|---|---|---|---|
envUri | path | true | string | Url of the target platform. |
projectId | path | true | string | The project identifier which uniquely identify your project in Evolution Platform. |
Body content
Name | Required | Type | Description |
---|---|---|---|
name | true | String | Name of the cloud connector |
state | true | String | Expected state of Cloud connector. Set value to ACTIVE to create cloud connector in active state |
bandWidth | true | String | Bandwidth of the cloud connector. Value must be: 10, 20, 50, 100, 200, 500 or 1000 |
technicalVpnId | true | uuid | Identifier of the Orange Business Technical VPN |
azureCredentialId | true | uuid | Identifier of the Azure Credential in Evolution Plaform |
primaryPopLocalization | true | String | Localization of the primary Point Of Presence associated with the cloud connector |
secondaryPopLocalization | true | String | Localization of the secondary Point Of Presence associated with the cloud connector |
azureRegion | true | String | Identifier of the Azure Region |
resourceGroupName | true | String | Name of the Azure Resource Group |
vnetName | true | String | Name of the Orange Business Virtual Network |
azureGatewaySubnet | true | String | Value of the Azure Gateway Subnet |
azureAsn | true | Integer | Value of the Azure AS Number. The parameter range is between is 64512 to 65534, Azure AS Number 65515 to 65520 are excluded as they are used by Microsoft Azure for internal purpose. |
networkSideAsn | true | Integer | Value of the Orange Business Network AS Number. The parameter range is between is 64512 to 65534, Azure AS Number 65515 to 65520 are excluded as they are used by Microsoft Azure for internal purpose. |
networkSideGatewaySubnetPrimary | true | Integer | Value of the Orange Business Network Gateway Subnet on the primary Point Of presence |
networkSideGatewaySubnetSecondary | true | Integer | Value of the Orange Business Network Gateway Subnet on the secondary Point Of presence |
Responses
Name | Type | Description |
---|---|---|
200 OK | Region | OK |
Other Status Codes | Error | Unexpected error. |
Content:
Name | Type | Description |
---|---|---|
name | String | Name of the cloud connector |
state | String | Expected state of Cloud connector. Set value to ACTIVE to create cloud connector in active state |
projectName | String | Name of the project in Evolution Platform |
projectId | uuid | Identifier of the project in Evolution Platform |
bandWidth | String | Bandwidth of the cloud connector. Value must be: 10, 20, 50, 100, 200, 500 or 1000 |
technicalVpnId | uuid | Identifier of the Orange Business Technical VPN |
azureCredentialId | uuid | Identifier of the Azure Credential in Evolution Plaform |
primaryPopLocalization | String | Localization of the primary Point Of Presence associated with the cloud connector |
secondaryPopLocalization | String | Localization of the secondary Point Of Presence associated with the cloud connecto |
azureRegion | String | Identifier of the Azure Region |
resourceGroupName | String | Name of the Azure Resource Group |
vnetName | String | Name of the Orange Business Virtual Network |
azureGatewaySubnet | String | Value of the Azure Gateway Subnet |
azureAsn | Integer | Value of the Azure AS Number. The parameter range is between is 64512 to 65534, Azure AS Number 65515 to 65520 are excluded as they are used by Microsoft Azure for internal purpose. |
networkSideAsn | Integer | Value of the Orange Business Network AS Number. The parameter range is between is 64512 to 65534, Azure AS Number 65515 to 65520 are excluded as they are used by Microsoft Azure for internal purpose. |
networkSideGatewaySubnetPrimary | Integer | Value of the Orange Business Network Gateway Subnet on the primary Point Of presence |
networkSideGatewaySubnetSecondary | Integer | Value of the Orange Business Network Gateway Subnet on the secondary Point Of presence |
workflowExecutionId | Integer | Identifier of the workflow |
workflowExecutionStatus | String | Status of the workflow |
Example : create connector in active mode
Request:
POST https://{envUri}/api/v1/projects/{projectId}/azure/cloudconnectors/publichadynamics
{
"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"
}
Response:
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"
}
The field state
will be PROVISIONING
during the creation phase, when the cloud connector is ready the state
will be ACTIVE
.
Go to Get tutorial to check the status of the cloud connector:
Example : create connector in designed mode
Request:
POST https://{envUri}/api/v1/projects/{projectId}/azure/cloudconnectors/publichadynamics
{
"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"
}
Response:
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"
}
The field state
will be DESIGNING
during the creation phase, when the cloud connector is ready the state
will be DESIGNED
.
Go to Get tutorial to check the status of the cloud connector: