Querying the EIP List
Function
This API is used to query the EIP list.
Calling Method
For details, see Calling APIs.
URI
GET /v1/{project_id}/eips/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 |
---|---|---|---|
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 type is 0, object_id is the ID of a protected object on the Internet border. If type is 1, object_id is the ID of a protected object on 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). |
key_word |
No |
String |
Keyword for querying the protected EIP list. You can set an EIP ID or an EIP. |
status |
No |
String |
Protection status: null (all), 0 (enabled), or 1 (disabled). |
sync |
No |
Integer |
Whether to synchronize tenant EIP data: 0 (no), 1 (yes) |
limit |
Yes |
Integer |
Number of records displayed on each page. The value ranges from 1 to 1024. |
offset |
Yes |
Integer |
Offset, which specifies the start position of the record to be returned. The value must be a number no less than 0. The default value is 0. |
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. |
device_key |
No |
String |
Device keyword, which is the name or ID of the asset bound to an EIP. |
address_type |
No |
Integer |
Address type: 0 (IPv4), 1 (IPv6). |
fw_instance_id |
No |
String |
Firewall ID, which can be obtained by referring to Obtaining a Firewall ID. |
fw_key_word |
No |
String |
Firewall keyword, which can be queried based on the firewall ID or name. For details, see Obtaining a Firewall ID. |
eps_id |
No |
String |
Enterprise project ID of the EIP, which can be obtained by referring to Obtaining an Enterprise Project ID. If the enterprise project function is not enabled, the value is 0. |
tags |
No |
String |
You can obtain the tag list by querying it on the EIP console. |
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. |
Response Parameters
Status code: 200
Parameter |
Type |
Description |
---|---|---|
data |
EipResponseData object |
Returned data for querying an EIP. |
Parameter |
Type |
Description |
---|---|---|
limit |
Integer |
Number of records displayed on each page. The value ranges from 1 to 1024. |
offset |
Integer |
Offset, which specifies the start position of the record to be returned. The value must be a number no less than 0. The default value is 0. |
total |
Integer |
Query the total number of EIPs. |
records |
Array of EipResource objects |
EIP resource record. |
Parameter |
Type |
Description |
---|---|---|
id |
String |
EIP ID. |
public_ip |
String |
EIP. |
status |
Integer |
EIP protection status: 0 (protected), 1 (unprotected). |
public_ipv6 |
String |
EIP (IPv6). |
enterprise_project_id |
String |
Enterprise project ID of the account that the EIP belongs to. |
device_id |
String |
ID of the device (such as ECS and NAT) bound to the EIP. |
device_name |
String |
Name of the device (such as ECS and NAT) bound to the EIP |
device_owner |
String |
Owner of the device (such as ECS and NAT) bound to the EIP. |
associate_instance_type |
String |
Type of the associated instance: NATGW, ELB, or PORT. |
fw_instance_name |
String |
Firewall name. |
fw_instance_id |
String |
Firewall instance ID, which is automatically generated after a CFW instance is created. You can obtain the ID by calling the API for querying a firewall instance. |
fw_enterprise_project_id |
String |
Enterprise project ID of the firewall bound to the EIP. |
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 type is 0, object_id is the ID of a protected object on the Internet border. If type is 1, object_id is the ID of a protected object on 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). |
tags |
String |
Tag list. |
domain_id |
String |
ID of the user that an EIP belongs to, which can be obtained by calling the API for querying domain information under the EIP account. |
fw_domain_id |
String |
User that a firewall belongs to, which can be obtained by calling the API for querying domain information under the firewall account. |
bypass_status |
Integer |
Bypass status: 0 (not bypassed), 1 (bypassed), 2 (failed) |
Status code: 400
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error description. |
Example Requests
Query the existing data, without updating it through synchronization, on the first page of protected object cfebd347-b655-4b84-b938-3c54317599b2 in project 9d80d070b6d44942af73c9c3d38e0429.
https://{Endpoint}/v1/9d80d070b6d44942af73c9c3d38e0429/eips/protect?object_id=cfebd347-b655-4b84-b938-3c54317599b2&limit=10&offset=0&sync=0
Example Responses
Status code: 200
Return value for querying EIP data.
{ "data" : { "limit" : 200, "offset" : 0, "records" : [ { "associate_instance_type" : "PORT", "device_id" : "c87579ab-c76a-4afd-83ce-62e0f531f13e", "device_name" : "test", "device_owner" : "compute:test", "domain_id" : "7d07807209524a4280266db9df63c4fa", "enterprise_project_id" : "0", "fw_domain_id" : "7d07807209524a4280266db9df63c4fa", "fw_enterprise_project_id" : "default", "fw_instance_id" : "546af3f8-88e9-47f2-a205-2346d7090925", "fw_instance_name" : "test", "id" : "465b34fe-e017-4831-a21c-9c6c753bb1f2", "object_id" : "ae42418e-f077-41a0-9d3b-5b2f5ad9102b", "public_ip" : "100.85.223.15", "status" : 0, "bypass_status" : 0, "tags" : "combined_order_id=CBRCS23040615138M2KW912" } ], "total" : 1 } }
Status code: 400
Bad Request
{ "error_code" : "CFW.00109004", "error_msg" : "HTTP request error." }
SDK Sample Code
The SDK sample code is as follows.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
package com.huaweicloud.sdk.test; import com.huaweicloud.sdk.core.auth.ICredential; import com.huaweicloud.sdk.core.auth.BasicCredentials; import com.huaweicloud.sdk.core.exception.ConnectionException; import com.huaweicloud.sdk.core.exception.RequestTimeoutException; import com.huaweicloud.sdk.core.exception.ServiceResponseException; import com.huaweicloud.sdk.cfw.v1.region.CfwRegion; import com.huaweicloud.sdk.cfw.v1.*; import com.huaweicloud.sdk.cfw.v1.model.*; public class ListEipsSolution { public static void main(String[] args) { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment String ak = System.getenv("CLOUD_SDK_AK"); String sk = System.getenv("CLOUD_SDK_SK"); String projectId = "{project_id}"; ICredential auth = new BasicCredentials() .withProjectId(projectId) .withAk(ak) .withSk(sk); CfwClient client = CfwClient.newBuilder() .withCredential(auth) .withRegion(CfwRegion.valueOf("<YOUR REGION>")) .build(); ListEipsRequest request = new ListEipsRequest(); try { ListEipsResponse response = client.listEips(request); System.out.println(response.toString()); } catch (ConnectionException e) { e.printStackTrace(); } catch (RequestTimeoutException e) { e.printStackTrace(); } catch (ServiceResponseException e) { e.printStackTrace(); System.out.println(e.getHttpStatusCode()); System.out.println(e.getRequestId()); System.out.println(e.getErrorCode()); System.out.println(e.getErrorMsg()); } } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# coding: utf-8 import os from huaweicloudsdkcore.auth.credentials import BasicCredentials from huaweicloudsdkcfw.v1.region.cfw_region import CfwRegion from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkcfw.v1 import * if __name__ == "__main__": # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak = os.environ["CLOUD_SDK_AK"] sk = os.environ["CLOUD_SDK_SK"] projectId = "{project_id}" credentials = BasicCredentials(ak, sk, projectId) client = CfwClient.new_builder() \ .with_credentials(credentials) \ .with_region(CfwRegion.value_of("<YOUR REGION>")) \ .build() try: request = ListEipsRequest() response = client.list_eips(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" cfw "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cfw/v1" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cfw/v1/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cfw/v1/region" ) func main() { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK") projectId := "{project_id}" auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). WithProjectId(projectId). Build() client := cfw.NewCfwClient( cfw.CfwClientBuilder(). WithRegion(region.ValueOf("<YOUR REGION>")). WithCredential(auth). Build()) request := &model.ListEipsRequest{} response, err := client.ListEips(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } } |
For SDK sample code of more programming languages, see the Sample Code tab in API Explorer. SDK sample code can be automatically generated.
Status Codes
Status Code |
Description |
---|---|
200 |
Return value for querying EIP data. |
400 |
Bad Request |
401 |
Unauthorized: Request error. |
403 |
Forbidden: Access forbidden. |
404 |
Not Found: Web page not found. |
500 |
Internal Server Error |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot