# 获取防火墙信息 - DescribeFirewall

## 简介

获取防火墙组信息

 > 💡 使用方案一：获取某个防火墙的信息。使用方法二：获取某个资源绑定的防火墙信息。使用方法三：获取项目下所有防火墙信息。



## 定义

### 公共参数

| 参数名 | 类型 | 描述信息 | 必填 |
|:---|:---|:---|:---|
| **Action**     | string  | 对应的 API 指令名称，当前 API 为 `DescribeFirewall`                        | **Yes** |
| **PublicKey**  | string  | 用户公钥，可从 [控制台](https://console.sigcalcloud.com/uaccount/api_manage) 获取                                             | **Yes** |
| **Signature**  | string  | 根据公钥及 API 指令生成的用户签名，参见 [签名算法](/docs/api/summary/signature.md)  | **Yes** |

### 请求参数

| 参数名 | 类型 | 描述信息 | 必填 |
|:---|:---|:---|:---|
| **Region** | string | 地域 |**Yes**|
| **ProjectId** | string | 项目ID。不填写为默认项目，子帐号必须填写 |No|
| **FWId** | string | 防火墙ID，默认为返回所有防火墙 |No|
| **ResourceType** | string | 绑定防火墙的资源类型，仅获取资源对应防火墙信息时需要。枚举值为："unatgw"，NAT网关； "uhost"，云主机； "upm"，物理云主机； "hadoophost"，hadoop节点； "fortresshost"，堡垒机； "udhost"，私有专区主机；"udockhost"，容器；"dbaudit"，数据库审计；”uni“，虚拟网卡；“cube”，Cube容器实例；“ulb”，负载均衡实例。 |No|
| **ResourceId** | string | 绑定防火墙组的资源ID。 |No|
| **Limit** | int | 返回数据长度，默认为20，最大10000000 |No|
| **Offset** | int | 列表起始位置偏移量，默认为0 |No|

### 响应字段

| 字段名 | 类型 | 描述信息 | 必填 |
|:---|:---|:---|:---|
| **RetCode** | int | 返回状态码，为 0 则为成功返回，非 0 为失败 |**Yes**|
| **Action** | string | 操作指令名称 |**Yes**|
| **Message** | string | 返回错误消息，当 `RetCode` 非 0 时提供详细的描述信息 |No|
| **DataSet** | array[[*FirewallDataSet*](#FirewallDataSet)] | 获取的防火墙组详细信息 参见 FirewallDataSet |No|
| **TotalCount** | int | 防火墙资源数量 |No|

#### 数据模型


#### FirewallDataSet

| 字段名 | 类型 | 描述信息 | 必填 |
|:---|:---|:---|:---|
| **FWId** | string | 防火墙ID |**Yes**|
| **GroupId** | string | 安全组ID（即将废弃） |**Yes**|
| **Name** | string | 防火墙名称 |No|
| **Tag** | string | 防火墙业务组 |No|
| **Remark** | string | 防火墙备注 |No|
| **ResourceCount** | int | 防火墙绑定资源数量 |No|
| **CreateTime** | int | 防火墙组创建时间，格式为Unix Timestamp |No|
| **Type** | string | 防火墙组类型，枚举值为： "user defined", 用户自定义防火墙； "recommend web", 默认Web防火墙； "recommend non web", 默认非Web防火墙 |No|
| **Rule** | array[[*FirewallRuleSet*](#FirewallRuleSet)] | 防火墙组中的规则列表，参见 FirewallRuleSet |No|

#### FirewallRuleSet

| 字段名 | 类型 | 描述信息 | 必填 |
|:---|:---|:---|:---|
| **SrcIP** | string | 源地址 |No|
| **Priority** | string | 优先级 |No|
| **ProtocolType** | string | 协议类型 |No|
| **DstPort** | string | 目标端口 |No|
| **RuleAction** | string | 防火墙动作 |No|
| **Remark** | string | 防火墙规则备注 |No|

## 示例

### 请求示例
    
```
https://api.sigcalcloud.com/?Action=DescribeFirewall
&Region=cn-xxx
```

### 响应示例
    
```json
{
  "Action": "DescribeFirewallResponse",
  "DataSet": [
    {
      "CreateTime": 1508472648,
      "FWId": "firewall-XXXX",
      "GroupId": "25575",
      "Name": "non web service recommendation:tcp 22,3389",
      "Remark": "open tcp port:22,3389 and icmp",
      "ResourceCount": 0,
      "Rule": [
        {
          "DstPort": "22",
          "Priority": "HIGH",
          "ProtocolType": "TCP",
          "RuleAction": "ACCEPT",
          "SrcIP": "0.0.0.0/0"
        },
        {
          "DstPort": "3389",
          "Priority": "HIGH",
          "ProtocolType": "TCP",
          "RuleAction": "ACCEPT",
          "SrcIP": "0.0.0.0/0"
        },
        {
          "DstPort": "",
          "Priority": "HIGH",
          "ProtocolType": "ICMP",
          "RuleAction": "ACCEPT",
          "SrcIP": "0.0.0.0/0"
        }
      ],
      "Tag": "Default",
      "Type": "recommend non web"
    }
  ],
  "RetCode": 0,
  "TotalCount": 4
}
```





