更新时间:2025-12-02 GMT+08:00
分享

查询防护对象列表 - ListProtectedIp

功能介绍

查询防护对象列表

调用方法

请参见如何调用API

授权信息

账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。

  • 如果使用角色与策略授权,具体权限要求请参见CNAD权限和授权项
  • 如果使用身份策略授权,需具备如下身份策略权限。

    授权项

    访问级别

    资源类型(*为必须)

    条件键

    别名

    依赖的授权项

    cnad:protectedIp:list

    List

    -

    -

    -

    -

URI

GET /v1/cnad/protected-ips

表1 Query参数

参数

是否必选

参数类型

描述

offset

Integer

开始查询的偏移量,默认值:0

limit

Integer

每页显示的条目数量,默认值:2000

package_id

String

实例id

policy_id

String

策略id

ip

String

防护ip

tag

String

本地标签

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

Content-Type

String

Content-Type

响应参数

状态码:200

表3 响应Body参数

参数

参数类型

描述

total

Integer

总数

items

Array of ProtectedIpResponse objects

防护ip列表

表4 ProtectedIpResponse

参数

参数类型

描述

id

String

防护IP的Id

ip

String

防护IP

type

String

类型。VPN:VPN;NAT:NAT;VIP:VIP;CCI:CCI;EIP:弹性公网IP;ELB:弹性负载均衡;REROUTING_IP:REROUTING_IP;SubEni:SubEni;NetInterFace:NetInterFace;

name

String

名字

status

Integer

状态:0 - 正常, 1 - 清洗中, 2 - 黑洞中

status_detail

IpStatusDetail object

封堵信息

policy_name

String

策略名

region

String

所属region

package_id

String

实例id

package_name

String

实例名

tags

String

TMS标签

tag

String

本地标签

is_resale

Boolean

默认false,表示是否转售版的IP,不需要展示策略和报表

package_version

String

package_version。cnad_pro:全力防基础版;cnad_ip:标准版;cnad_full_high:全力防高级版;cnad_v2:原生防护2.0;cnad_vic:按需版

表5 IpStatusDetail

参数

参数类型

描述

block_time

Long

封堵时间

unblock_time

Long

解封时间

请求示例

响应示例

状态码:200

OK

{
  "items" : [ {
    "id" : "7f0e3af2-455a-4a47-b95c-49137794f0c5",
    "ip" : "100.85.222.60",
    "is_resale" : false,
    "package_id" : "17f8f630-0714-4b3a-aedf-3983d7b98124",
    "package_name" : "kxnkxn99",
    "package_version" : "cnad_ip",
    "policy_name" : "tesy",
    "region" : "cn-north-7",
    "status" : 0,
    "type" : "EIP"
  } ],
  "total" : 1
}

SDK代码示例

SDK代码示例如下。

 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
package com.huaweicloud.sdk.test;

import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.auth.GlobalCredentials;
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.aad.v1.region.AadRegion;
import com.huaweicloud.sdk.aad.v1.*;
import com.huaweicloud.sdk.aad.v1.model.*;


public class ListProtectedIpSolution {

    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");

        ICredential auth = new GlobalCredentials()
                .withAk(ak)
                .withSk(sk);

        AadClient client = AadClient.newBuilder()
                .withCredential(auth)
                .withRegion(AadRegion.valueOf("<YOUR REGION>"))
                .build();
        ListProtectedIpRequest request = new ListProtectedIpRequest();
        try {
            ListProtectedIpResponse response = client.listProtectedIp(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
# coding: utf-8

import os
from huaweicloudsdkcore.auth.credentials import GlobalCredentials
from huaweicloudsdkaad.v1.region.aad_region import AadRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkaad.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"]

    credentials = GlobalCredentials(ak, sk)

    client = AadClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(AadRegion.value_of("<YOUR REGION>")) \
        .build()

    try:
        request = ListProtectedIpRequest()
        response = client.list_protected_ip(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
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/global"
    aad "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/aad/v1"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/aad/v1/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/aad/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")

    auth := global.NewCredentialsBuilder().
        WithAk(ak).
        WithSk(sk).
        Build()

    client := aad.NewAadClient(
        aad.AadClientBuilder().
            WithRegion(region.ValueOf("<YOUR REGION>")).
            WithCredential(auth).
            Build())

    request := &model.ListProtectedIpRequest{}
	response, err := client.ListProtectedIp(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。

状态码

状态码

描述

200

OK

401

Unauthorized

403

Forbidden

404

Not Found

错误码

请参见CNAD错误码

相关文档