Example 1: Creating a VPC and Subnet for an ECS
Scenarios
This section describes how to create a VPC and subnet for an ECS by calling APIs.
Prerequisites
If you use a token for authentication, you must obtain the token and add X-Auth-Token to the request header when making an API call. Obtain the token by referring to Authentication.
![](https://support.huaweicloud.com/eu/api-vpc/public_sys-resources/note_3.0-en-us.png)
The token obtained from IAM is valid for only 24 hours. If you want to use a token for authentication, you can cache it to avoid frequent calling.
Procedure
- Create a VPC.
- Send POST https://VPC endpoint/v1/{project_id}/vpcs. Parameter project_id indicates the project ID.
- Add X-Auth-Token to the request header.
- Set the following parameters in the request body. Plan the value of the cidr field in advance.
{ "vpc": { "name": "vpc", //VPC name "cidr": "192.168.0.0/16" //Available subnet in the VPC } }
- Check the response message.
- The request is successful if the following response is displayed. In the response, id indicates the VPC ID.
{ "vpc": { "id": "b6684a27-b049-407d-90b4-c9551f2390e1", "name": "vpc", "cidr": "192.168.0.0/16", "status": "CREATING", "routes": [] } }
- For details about the error codes displayed if the request fails, see section Error Codes.
- The request is successful if the following response is displayed. In the response, id indicates the VPC ID.
- View details of the VPC.
- Send GET https://VPC endpoint/v1/{project_id}/vpcs/{vpc_id}. Parameter project_id indicates the project ID.
- Add X-Auth-Token to the request header.
- Check the response message.
- The request is successful if the following response is displayed. In the response, id indicates the VPC ID.
{ "vpc": { "id": "b6684a27-b049-407d-90b4-c9551f2390e1", "name": "vpc", "description": "", "cidr": "192.168.0.0/16", "status": "OK", "enterprise_project_id": "0" , "routes": [] } }
- For details about the error codes displayed if the request fails, see section Error Codes.
- The request is successful if the following response is displayed. In the response, id indicates the VPC ID.
- Create a subnet in the VPC.
- Send POST https://VPC endpoint/v1/{project_id}/subnets. Parameter project_id indicates the project ID.
- Add X-Auth-Token to the request header.
- Set the following parameters in the request body. For details about the values of dnsList, see What Are the Private DNS Server Addresses Provided by the DNS Service?
{ "subnet": { "name": "subnet", "description": "", "cidr": "192.168.0.0/24", "gateway_ip": "192.168.0.1", "dhcp_enable": true, "dnsList": ["114.xx.xx.114", "114.xx.xx.115"], "availability_zone": "aa-bb-cc", "vpc_id": "b6684a27-b049-407d-90b4-c9551f2390e1" } }
- Check the response message.
- The request is successful if the following response is displayed.
{ "subnet": { "id": "4779ab1c-7c1a-44b1-a02e-93dfc361b32d", "name": "subnet", "description": "", "cidr": "192.168.0.0/24", "dnsList": ["114.xx.xx.114", "1114.xx.xx.115"], "status": "UNKNOWN", "vpc_id": "b6684a27-b049-407d-90b4-c9551f2390e1", "gateway_ip": "192.168.0.1", "dhcp_enable": true, "primary_dns": "114.xx.xx.114", "secondary_dns": "114.xx.xx.115", "availability_zone": "aa-bb-cc", "neutron_network_id": "4779ab1c-7c1a-44b1-a02e-93dfc361b32d", "neutron_subnet_id": "213cb9d-3122-2ac1-1a29-91ffc1231a12", "extra_dhcp_opts": [] } }
- For details about the error codes displayed if the request fails, see section Error Codes.
- The request is successful if the following response is displayed.
- View details of the subnet.
- Send GET https://VPC endpoint/v1/{project_id}/subnets/{subnet_id}. Parameter project_id indicates the project ID.
- Add X-Auth-Token to the request header.
- Check the response message.
{ "subnet": { "id": "4779ab1c-7c1a-44b1-a02e-93dfc361b32d", "name": "subnet", "description": "", "cidr": "192.168.20.0/24", "dnsList": ["114.xx.xx.114", "114.xx.xx.115"], "status": "ACTIVE", "vpc_id": "b6684a27-b049-407d-90b4-c9551f2390e1", "gateway_ip": "192.168.20.1", "ipv6_enable": false, "dhcp_enable": true, "primary_dns": "114.xx.xx.114", "secondary_dns": "114.xx.xx.115", "availability_zone": "aa-bb-cc", "neutron_network_id": "4779ab1c-7c1a-44b1-a02e-93dfc361b32d", "neutron_subnet_id": "213cb9d-3122-2ac1-1a29-91ffc1231a12", "extra_dhcp_opts": [] } }
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.