Enabling or Disabling EIP Protection¶
Function¶
This API is used to enable or disable EIP protection. After a customer purchases an EIP, the customer needs to call ListEips to synchronize EIPs asset before enabling EIP protection for the first time. The sync field should be set to 1.
URI¶
POST /v1/{project_id}/eip/protect
Parameter | Mandatory | Type | Description |
---|---|---|---|
project_id | Yes | String | Project ID, which can be obtained by calling an API or from the console. For details, see Obtaining a Project ID. |
Parameter | Mandatory | Type | Description |
---|---|---|---|
enterprise_project_id | No | String | Enterprise project ID, which is the ID of a project planned based on organizations. You can obtain the enterprise project ID by referring to Obtaining an Enterprise Project ID. If the enterprise project function is not enabled, the value is 0. |
fw_instance_id | No | String | Firewall ID, which can be obtained by referring to Obtaining a Firewall ID. |
Request Parameters¶
Parameter | Mandatory | Type | Description |
---|---|---|---|
X-Auth-Token | Yes | String | User token. You can obtain the token by referring to Obtaining a User Token. |
Content-Type | Yes | String | Content type. It can only be set to application/json. |
Parameter | Mandatory | Type | Description |
---|---|---|---|
object_id | Yes | String | Protected object ID, which is used to distinguish between Internet border protection and VPC border protection after a cloud firewall is created. You can obtain the ID by calling the API for querying firewall instances. In the return value, find the ID in data.records.protect_objects.object_id (The period [.] is used to separate different levels of objects). If the value of type is 0, the protected object ID belongs to the Internet border. If the value of type is 1, the protected object ID belongs to the VPC border. Here, a protected object ID whose type is 0 is used. You can obtain the value of type from data.records.protect_objects.type (The period [.] is used to separate different levels of objects). |
status | Yes | Integer | Status that an EIP will be changed to: 0 (protected), 1 (unprotected). |
ip_infos | Yes | Array of ip_infos objects | List of EIPs whose protection status is changed. |
Parameter | Mandatory | Type | Description |
---|---|---|---|
id | No | String | EIP ID, which can be obtained by calling the API for querying the EIP list. Find the value in data.records.id (The period [.] is used to separate different levels of objects). |
public_ip | No | String | EIP IPv4 address, which can be obtained by calling the API for querying the EIP list. Find the value in data.records.public_ip (The period [.] is used to separate different levels of objects). |
public_ipv6 | No | String | EIP IPv6 address, which can be obtained by calling the API for querying the EIP list. Find the value in data.records.public_ipv6 (The period [.] is used to separate different levels of objects). |
Response Parameters¶
Status code: 200
Parameter | Type | Description |
---|---|---|
data | EIPSwitchStatusVO object | Data returned for changing the EIP protection status. |
Parameter | Type | Description |
---|---|---|
object_id | String | Protected object ID, which is used to distinguish between Internet border protection and VPC border protection after a cloud firewall is created. You can obtain the ID by calling the API for querying firewall instances. In the return value, find the ID in data.records.protect_objects.object_id (The period [.] is used to separate different levels of objects). If the value of type is 0, the protected object ID belongs to the Internet border. If the value of type is 1, the protected object ID belongs to the VPC border. Here, a protected object ID whose type is 0 is used. You can obtain the value of type from data.records.protect_objects.type (The period [.] is used to separate different levels of objects). |
fail_eip_id_list | Array of strings | List of EIP protection statuses that fail to be modified. The status can be successful or fail. |
fail_eip_list | Array of FailedEipInfo objects | List of failures to modify the EIP protection status. |
id | String | Firewall ID, which can be obtained by referring to Obtaining a Firewall ID. |
Parameter | Type | Description |
---|---|---|
id | String | ID of an EIP whose status fails to be changed. |
error_message | String | Error code of a status change failure. |
Status code: 400
Parameter | Type | Description |
---|---|---|
error_code | String | Error code. |
error_msg | String | Error description. |
Example Requests¶
Enable traffic protection for the EIP (1.2.3.4) whose EIP ID is 4a589be0-b40a-4694-94ff-c0710af9a0a2, project ID is 857ddec2-55f2-4503-a93a-fe70021b743c, and protected object ID is 6d3db4fd-fd58-4d8e-914b-ef91aa268f62.
https://{Endpoint}/v1/857ddec2-55f2-4503-a93a-fe70021b743c/eip/protect { "object_id" : "6d3db4fd-fd58-4d8e-914b-ef91aa268f62", "status" : 0, "ip_infos" : [ { "id" : "4a589be0-b40a-4694-94ff-c0710af9a0a2", "public_ip" : "1.2.3.4" } ] }
Disable traffic protection for the EIP (1.2.3.4) whose EIP ID is 4a589be0-b40a-4694-94ff-c0710af9a0a2, project ID is 857ddec2-55f2-4503-a93a-fe70021b743c, and protected object ID is 6d3db4fd-fd58-4d8e-914b-ef91aa268f62.
/v1/857ddec2-55f2-4503-a93a-fe70021b743c/eip/protect { "object_id" : "6d3db4fd-fd58-4d8e-914b-ef91aa268f62", "status" : 1, "ip_infos" : [ { "id" : "4a589be0-b40a-4694-94ff-c0710af9a0a2", "public_ip" : "1.2.3.4" } ] }
Example Responses¶
Status code: 200
Return value for enabling or disabling EIP protection.
{
"data": {
"fail_eip_id_list": [],
"fail_eip_list": [],
"object_id": "ae42418e-f077-41a0-9d3b-5b2f5ad9102b",
"id": "b0a2dacc-3886-4805-838e-281653d3cd1f"
}
Status Codes¶
Status Code | Description |
---|---|
200 | Return value for enabling or disabling EIP protection. |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |
Error Codes¶
See Error Codes.