
# 查询防火墙列表 - ListFirewallList
#### 功能介绍
查询防火墙列表
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-cfw/cfw_02_0007.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-cfw/cfw_02_0018.html)。
- 如果使用身份策略授权，当前API调用无需身份策略权限。
 
#### URI
POST /v1/{project_id}/firewalls/list
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释**： 项目ID，用于明确项目归属，配置后可通过该ID查询项目下资产，可以通过调用API获取，也可以从控制台获取。[项目ID获取方式](https://support.huaweicloud.com/api-cfw/cfw_02_0015.html) **约束限制**： 不涉及 **取值范围**： 32位UUID **默认取值**： 不涉及 |
   
表2Query参数 
| 参数                    | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|:---|
| enterprise_project_id | 否    | String | **参数解释**： 企业项目ID，用户根据组织规划企业项目，对应的ID为企业项目ID，可通过[如何获取企业项目ID](https://support.huaweicloud.com/api-cfw/cfw_02_0027.html)获取，用户未开启企业项目时为0 **约束限制**： 不涉及 **取值范围**： 32位UUID **默认取值**： 不涉及 |
   
#### 请求参数
表3请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释**： 用户Token。可通过[如何获取用户Token](https://support.huaweicloud.com/api-cfw/cfw_02_0008.html)获取。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及 |
   
表4请求Body参数 
| 参数                    | 是否必选 | 参数类型                                                           | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|:---|
| enterprise_project_id | 否    | String                                                         | **参数解释**： 企业项目ID，用户根据组织规划企业项目，对应的ID为企业项目ID，可通过[如何获取企业项目ID](https://support.huaweicloud.com/api-cfw/cfw_02_0027.html)获取，用户未开启企业项目时为0 **约束限制**： 不涉及 **取值范围**： 32位UUID **默认取值**： 不涉及 |
| key_word              | 否    | String                                                         | **参数解释**： 查询关键字，可为防火墙ID或防火墙名称的一部分。可通过[防火墙ID获取方式](https://support.huaweicloud.com/api-cfw/cfw_02_0028.html)获取 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                            |
| tags                  | 否    | Array of [TagInfo] objects | **参数解释**： 标签列表，可通过查询标签服务查询标签接口获得，返回值即为标签列表 **约束限制**： 不涉及                                                                                                                                                                                                                                                                          |
| limit                 | 是    | Integer                                                        | **参数解释**： 每页显示个数 **约束限制**： 不涉及 **取值范围**： 1-1024 **默认取值**： 不涉及                                                                                                                     |
| offset                | 是    | Integer                                                        | **参数解释**： 偏移量：指定返回记录的开始位置 **约束限制**： 不涉及 **取值范围**： 大于或等于0 **默认取值**： 0                                                                                                              |
   
 表5TagInfo 
| 参数     | 是否必选 | 参数类型             | 描述                                                                                                                                        |
|:---|:---|:---|:---|
| key    | 否    | String           | **参数解释**： 标签键 **约束限制**： 不涉及   |
| values | 否    | Array of strings | **参数解释**： 标签值列表 **约束限制**： 不涉及 |
   
#### 响应参数
**状态码：200**
表6响应Body参数 
| 参数                          | 参数类型                                                                                                            | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|
| user_support_eps            | Boolean                                                                                                         | **参数解释**： 是否支持企业项目 **取值范围**： - true：是   - false：否                        |
| has_ndr                     | Boolean                                                                                                         | **参数解释**： 是否存在NDR，NDR为原旁路版防火墙，现已停止售卖。 **取值范围**： - true：是   - false：不是    |
| is_support_postpaid         | Boolean                                                                                                         | **参数解释**： 是否支持按需购买 **取值范围**： - true：是   - false：不是                       |
| is_support_basic_version    | Boolean                                                                                                         | **参数解释**： 是否支持基础版 **取值范围**： - true：是   - false：不是                        |
| is_support_buy_professional | Boolean                                                                                                         | **参数解释**： 是否支持购买专业版 **取值范围**： - true：是   - false：不是                      |
| data                        | [HttpFirewallInstanceListResponseData] object | **参数解释**： 查询防火墙列表返回值data信息 **取值范围**： 不涉及                                                                                                                                                                                                                                                                                                                                 |
   
 表7HttpFirewallInstanceListResponseData 
| 参数         | 参数类型                                                                                  | 描述                                                                                                                                                     |
|:---|:---|:---|
| limit      | Integer                                                                               | **参数解释**： 每页显示个数 **取值范围**： 1-1024          |
| offset     | Integer                                                                               | **参数解释**： 偏移量：指定返回记录的开始位置 **取值范围**： 大于或等于0 |
| project_id | String                                                                                | **参数解释**： 租户项目ID                                                                                                   |
| total      | Integer                                                                               | **参数解释**： 防火墙总数量                                                                                                   |
| records    | Array of [FirewallInstanceVO] objects | **参数解释**： 查询防火墙列表记录                                                                                                |
   
 表8FirewallInstanceVO 
| 参数                    | 参数类型                                                    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|
| fw_instance_id        | String                                                  | **参数解释**： 防火墙实例id，创建云防火墙后用于标记防火墙由系统自动生成的id。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| resource_id           | String                                                  | **参数解释**： 资源id，与防火墙实例id fw_instance_id相同。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| name                  | String                                                  | **参数解释**： 创建防火墙时的时间戳                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| fw_instance_name      | String                                                  | **参数解释**： 防火墙名称                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| enterprise_project_id | String                                                  | **参数解释**： 企业项目id，用户支持企业项目后，由企业项目生成的id。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| ha_type               | Integer                                                 | **参数解释**： 集群类型 **取值范围**： - 0：主备模式，包含四个节点，2个主节点构成集群，剩余两个节点为主节点的备节点   - 1：集群模式，仅拉起两个节点作为集群                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| charge_mode           | Integer                                                 | **参数解释**： 计费模式 **取值范围**： - 0：包年/包月   - 1：按需                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| service_type          | Integer                                                 | **参数解释**： 防火墙防护类型 **取值范围**： 目前仅支持0，互联网防护                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| engine_type           | Integer                                                 | **参数解释**： 引擎类型 **取值范围**： - 0：自研引擎   - 1：山石引擎   - 3：天融信引擎                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| flavor                | [FlavorVO] object | **参数解释**： 防火墙规格信息                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| status                | Integer                                                 | **参数解释**： 防火墙状态列表 **取值范围**： - -1：等待支付   - 0：创建中   - 1，删除中   - 2：运行中   - 3：升级中   - 4：删除完成   - 5：冻结中   - 6：创建失败   - 7：删除失败   - 8：冻结失败   - 9：存储中   - 10：存储失败   - 11：升级失败    |
| tags                  | String                                                  | **参数解释**： 标签列表，标签键值map转化的json字符串，如"{"key":"value"}"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   
 表9FlavorVO 
| 参数                  | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|
| version             | Integer | **参数解释**： 防火墙版本 **取值范围**： - 0：标准版   - 1：专业版   - 3：基础版，    |
| eip_count           | Integer | **参数解释**： EIP数量 **取值范围**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| vpc_count           | Integer | **参数解释**： VPC数量 **取值范围**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| bandwidth           | Integer | **参数解释**： 带宽，单位为mbps **取值范围**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| log_storage         | Integer | **参数解释**： 日志存储，单位为byte **取值范围**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| default_bandwidth   | Integer | **参数解释**： 默认防火墙带宽，单位为mbps **取值范围**： 包周期标准版为10，专业版为50，按需专业版为200                                                                                                                                                                                                                                                                                                                                                                                                                          |
| default_eip_count   | Integer | **参数解释**： 默认eip数 **取值范围**： 包周期标准版为20，专业版为50，按需专业版为1000                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| default_log_storage | Integer | **参数解释**： 默认日志存储，单位为byte **取值范围**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| default_vpc_count   | Integer | **参数解释**： 默认vpc数                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   
#### 请求示例
查询项目id为14181c1245cf4fd786824efe1e2b9388，企业项目id为0的第一页的防火墙列表
```
https://{Endpoint}/v1/14181c1245cf4fd786824efe1e2b9388/firewalls/list
{
  "enterprise_project_id" : "0",
  "limit" : 10,
  "offset" : 0
}
```
#### 响应示例
**状态码：200**
OK，查询防火墙列表返回值
```
{
  "data" : {
    "limit" : 1,
    "offset" : 0,
    "project_id" : "14181c1245cf4fd786824efe1e2b9388",
    "records" : [ {
      "fw_instance_id" : "ebf891cd-2163-48a0-9963-6309f99dd3c4",
      "resource_id" : "ebf891cd-2163-48a0-9963-6309f99dd3c4",
      "name" : "1709176078374",
      "fw_instance_name" : "test",
      "enterprise_project_id" : "default",
      "tags" : "{\"key_test3\":\"value_test3\"}",
      "ha_type" : 0,
      "charge_mode" : 0,
      "service_type" : 0,
      "engine_type" : 1,
      "flavor" : {
        "version" : 1,
        "eip_count" : 50,
        "vpc_count" : 6,
        "bandwidth" : 50,
        "log_storage" : 0,
        "default_eip_count" : 50,
        "default_vpc_count" : 2,
        "default_bandwidth" : 50,
        "default_log_storage" : 0
      },
      "status" : 2
    } ],
    "total" : 18
  },
  "has_ndr" : false,
  "is_support_basic_version" : true,
  "is_support_buy_professional" : false,
  "is_support_postpaid" : true,
  "user_support_eps" : false
}
```
#### SDK代码示例
SDK代码示例如下。
- [Java]
  查询项目id为14181c1245cf4fd786824efe1e2b9388，企业项目id为0的第一页的防火墙列表
  ```
  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 ListFirewallListSolution {
      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();
          ListFirewallListRequest request = new ListFirewallListRequest();
          QueryFireWallInstanceDto body = new QueryFireWallInstanceDto();
          body.withOffset(0);
          body.withLimit(10);
          body.withEnterpriseProjectId("0");
          request.withBody(body);
          try {
              ListFirewallListResponse response = client.listFirewallList(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());
          }
      }
  }
  ```
- [Python]
  查询项目id为14181c1245cf4fd786824efe1e2b9388，企业项目id为0的第一页的防火墙列表
  ```
  # 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 = ListFirewallListRequest()
          request.body = QueryFireWallInstanceDto(
              offset=0,
              limit=10,
              enterprise_project_id="0"
          )
          response = client.list_firewall_list(request)
          print(response)
      except exceptions.ClientRequestException as e:
          print(e.status_code)
          print(e.request_id)
          print(e.error_code)
          print(e.error_msg)
  ```
- [Go]
  查询项目id为14181c1245cf4fd786824efe1e2b9388，企业项目id为0的第一页的防火墙列表
  ```
  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, err := basic.NewCredentialsBuilder().
          WithAk(ak).
          WithSk(sk).
          WithProjectId(projectId).
          SafeBuild()
      if err != nil {
          fmt.Println(err)
          return
      }
      hcClient, err := cfw.CfwClientBuilder().
           WithRegion(region.ValueOf("<YOUR REGION>")).
           WithCredential(auth).
           SafeBuild()
      if err != nil {
          fmt.Println(err)
          return
      }
      client := cfw.NewCfwClient(hcClient)
      request := &model.ListFirewallListRequest{}
  enterpriseProjectIdQueryFireWallInstanceDto:= "0"
  request.Body = &model.QueryFireWallInstanceDto{
  Offset: int32(0),
  Limit: int32(10),
  EnterpriseProjectId: &enterpriseProjectIdQueryFireWallInstanceDto,
  }
  response, err := client.ListFirewallList(request)
  if err == nil {
          fmt.Printf("%+v\n", response)
      } else {
          fmt.Println(err)
      }
  }
  ```
- [更多]
  更多编程语言的SDK代码示例，请参见[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/CFW/sdk?api=ListFirewallList)的代码示例页签，可生成自动对应的SDK代码示例。
#### 状态码
| 状态码 | 描述            |
|:---|:---|
| 200 | OK，查询防火墙列表返回值 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-cfw/ErrorCode.html)。
