Querying the List of EIP Defense Statuses
Function
Query the defense statuses of all EIPs, regardless of whether an EIP has been bound to an ECS or not.
Calling Method
For details, see Calling APIs.
URI
GET /v1/{project_id}/antiddos
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
project_id |
Yes |
String |
Project ID. |
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
status |
No |
String |
Values: If this parameter is not specified, the defense statuses of all ECSs are displayed in the Neutron-queried order by default. |
|
limit |
No |
String |
Maximum number of returned results. The value ranges from 1 to 100. |
|
offset |
No |
String |
Offset. The value ranges from 0 to 2147483647. |
|
ip |
No |
String |
IP address, which can be in IPv4 or IPv6 format. Partial query is supported. For example, if you enter ?ip=192.168, the EIP protection status of 192.168.111.1 and 10.192.168.8 will be returned. |
Request Parameters
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
X-Auth-Token |
Yes |
String |
User token. It can be obtained by calling the IAM API used to obtain a user token. The value of X-Subject-Token in the response header is the user token. |
|
Content-Type |
Yes |
String |
Content-Type request header. |
Response Parameters
Status code: 200
|
Parameter |
Type |
Description |
|---|---|---|
|
total |
Integer |
Total number of EIPs. |
|
ddosStatus |
Array of DDosStatus objects |
Protection status list. |
|
Parameter |
Type |
Description |
|---|---|---|
|
floating_ip_id |
String |
EIP ID. |
|
floating_ip_address |
String |
Floating IP address. |
|
network_type |
String |
EIP type. The value can be: |
|
status |
String |
Protection status. The options are as follows: |
|
blackhole_endtime |
Long |
End time of a black hole. |
|
protect_type |
String |
Protection type. |
|
traffic_threshold |
Long |
Traffic threshold. |
|
http_threshold |
Long |
HTTP traffic threshold. |
Example Requests
None
Example Responses
Status code: 200
Request succeeded.
{
"total" : 1,
"ddosStatus" : [ {
"floating_ip_id" : "18e6ace5-eb36-4196-a15e-1e000c24e026",
"floating_ip_address" : "139.9.116.167",
"network_type" : "EIP",
"status" : "normal",
"blackhole_endtime" : 0,
"protect_type" : "default",
"traffic_threshold" : 99,
"http_threshold" : 0
} ]
}
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.antiddos.v2.region.AntiDDoSRegion; import com.huaweicloud.sdk.antiddos.v2.*; import com.huaweicloud.sdk.antiddos.v2.model.*; public class ListDDosStatusSolution { 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); AntiDDoSClient client = AntiDDoSClient.newBuilder() .withCredential(auth) .withRegion(AntiDDoSRegion.valueOf("<YOUR REGION>")) .build(); ListDDosStatusRequest request = new ListDDosStatusRequest(); try { ListDDosStatusResponse response = client.listDDosStatus(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 huaweicloudsdkantiddos.v2.region.antiddos_region import AntiDDoSRegion from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkantiddos.v2 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 = AntiDDoSClient.new_builder() \ .with_credentials(credentials) \ .with_region(AntiDDoSRegion.value_of("<YOUR REGION>")) \ .build() try: request = ListDDosStatusRequest() response = client.list_d_dos_status(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" antiddos "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/antiddos/v2" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/antiddos/v2/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/antiddos/v2/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 := antiddos.NewAntiDDoSClient( antiddos.AntiDDoSClientBuilder(). WithRegion(region.ValueOf("<YOUR REGION>")). WithCredential(auth). Build()) request := &model.ListDDosStatusRequest{} response, err := client.ListDDosStatus(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 |
Request succeeded. |
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