# Querying DNAT Rules

#### Function

This API is used to query a DNAT rule list.

#### URI

GET /v2.0/dnat_rules

You can type the question mark (?) and ampersand (&) at the end of the URI to define multiple search criteria. All optional parameters can be filtered. For details, see the example request.

Table 1 Parameter description
Parameter | Type | Description
--- | --- | ---
id | String | Specifies the DNAT rule ID.
limit | Integer | Specifies the number of records on each page.
tenant_id | String | Specifies the project ID.
nat_gateway_id | String | Specifies the NAT gateway ID.
port_id | String | Specifies the port ID of an ECS or a BMS.
private_ip | String | Specifies the private IP address, for example, the IP address of a Direct Connect connection.
internal_service_port | Integer | Specifies the port used by ECSs or BMSs to provide services for external systems.
floating_ip_id | String | Specifies the EIP ID.
floating_ip_address | String | Specifies the EIP.
external_service_port | Integer | Specifies the port for providing external services.
protocol | String | Specifies the protocol type. Currently, TCP, UDP, and ANY are supported. The protocol number of TCP, UDP, and ANY are 6, 17, and 0, respectively.

status

String

- Specifies the status of the DNAT rule.
- For details about all its values, see Resource Status Description.

admin_state_up

Boolean

- Specifies whether the DNAT rule is enabled or disabled.
- The value can be:
  - true: The DNAT rule is enabled.
  - false: The DNAT rule is disabled.

created_at | String | Specifies when the DNAT rule is created (UTC time). Its value rounds to 6 decimal places for seconds. The format is yyyy-mm-dd hh:mm:ss.

#### Request

None

#### Response

Table 2 lists response parameters.

Table 2 Response parameters
Parameter | Type | Description
--- | --- | ---
dnat_rules | Array(Object) | Specifies the DNAT rule objects. For details, see Table 3.

Table 3 Description of the dnat_rule field
Parameter | Type | Description
--- | --- | ---
id | String | Specifies the DNAT rule ID.
tenant_id | String | Specifies the project ID.
nat_gateway_id | String | Specifies the NAT gateway ID.
port_id | String | Specifies the port ID of an ECS or a BMS.
private_ip | String | Specifies the private IP address, for example, the IP address of a Direct Connect connection.
internal_service_port | Integer | Specifies the port used by ECSs or BMSs to provide services for external systems.
floating_ip_id | String | Specifies the EIP ID.
floating_ip_address | String | Specifies the EIP.
external_service_port | Integer | Specifies the port for providing external services.
protocol | String | Specifies the protocol type. Currently, TCP, UDP, and ANY are supported. The protocol number of TCP, UDP, and ANY are 6, 17, and 0, respectively.

status

String

- Specifies the status of the DNAT rule.
- For details about all its values, see Table 1.

admin_state_up

Boolean

- Specifies whether the DNAT rule is enabled or disabled.
- The value can be:
  - true: The DNAT rule is enabled.
  - false: The DNAT rule is disabled.

created_at | String | Specifies when the DNAT rule is created (UTC time). Its value rounds to 6 decimal places for seconds. The format is yyyy-mm-dd hh:mm:ss.

#### Examples

- Example request

      GET https://{Endpoint}/v2.0/dnat_rules

- Example response

      {
          "dnat_rules": [
              {
                  "floating_ip_id": "bf99c679-9f41-4dac-8513-9c9228e713e1",
                  "status": "ACTIVE",
                  "nat_gateway_id": "cda3a125-2406-456c-a11f-598e10578541",
                  "admin_state_up": true,
                  "port_id": "9a469561-daac-4c94-88f5-39366e5ea193",
                  "internal_service_port": 993,
                  "protocol": "tcp",
                  "tenant_id": "abc",
                  "created_at": "2017-11-15 15:44:42.595173",
                  "id": "79195d50-0271-41f1-bded-4c089b2502ff",
                  "floating_ip_address": "5.21.11.226",
                  "external_service_port": 242,
                  "private_ip": ""
              },
              {
                  "floating_ip_id": "cf99c679-9f41-4dac-8513-9c9228e713e1",
                  "status": "ACTIVE",
                  "nat_gateway_id": "dda3a125-2406-456c-a11f-598e10578541",
                  "admin_state_up": true,
                  "port_id": "",
                  "private_ip": "192.168.1.100",
                  "internal_service_port": 0,
                  "protocol": "any",
                  "tenant_id": "abc",
                  "created_at": "2017-11-16 15:44:42.595173",
                  "id": "89195d50-0271-41f1-bded-4c089b2502ff",
                  "floating_ip_address": "5.21.11.227",
      　　　　　　"external_service_port": 0
              }
          ]
      }

#### Status Code

See Status Codes.

Parent topic: DNAT Rules