# Create internal and external IP mapping using NAT - CreateSnatDnatRule

## Overview

After calling the interface, SNAT and DNAT rules between the internal and external IP will be automatically created, supporting full port TCP and UDP protocols.






## Definition

### Public Parameters

| Parameter Name | Type | Description Information | Required |
|:---|:---|:---|:---|
| **Action**     | string  | Corresponding API command name, the current API is `CreateSnatDnatRule`.                      | **Yes** |
| **PublicKey**  | string  | The user's public key can be obtained from [Console](https://console.genesissai.com/uaccount/api_manage)                                             | **Yes** |
| **Signature**  | string  | User signature generated based on public key and API command, see [Signature Algorithm](/docs/api/summary/signature.md)  | **Yes** |

### Request Parameters

| Parameter Name | Type | Description Information | Required |
|:---|:---|:---|:---|
| **Region** | string | Region. See [List of Regions and Availability Zones](/docs/api/summary/regionlist) |**Yes**|
| **ProjectId** | string | Project ID. If not filled in, the default project is used, sub-accounts must be filled in. Please refer to the [GetProjectList interface](/docs/api/summary/get_project_list). |No|
| **PrivateIp.N** | string | Private IP Address |**Yes**|
| **EIP.N** | string | The IP address of EIP. According to the order of the input parameters, a mapping relationship is established between PrivateIp and EIP one by one. |**Yes**|
| **NATGWId** | string | The NAT Gateway resource ID used for mapping |**Yes**|

### Response Field

| Field Name | Type | Description Information | Required |
|:---|:---|:---|:---|
| **RetCode** | int | Return status code. If it is 0, it means successful return. If it is not 0, it means failure. |**Yes**|
| **Action** | string | Operation command name. |**Yes**|
| **Message** | string | Returns an error message, providing detailed description when `RetCode` is non-zero. |No|




## Example

### Request Example
    
```
https://api.genesissai.com/?Action=CreateSnatDnatRule
&Region=cn-zj
&ProjectId=WBNkHXBy
&PrivateIP.n=ipNrEnvw
&EIPAddr.n=cPVgOXbv
&NATGWId=AWUxuWVw
```

### Response Example
    
```json
{
  "Action": "CreateSnatDnatRuleResponse",
  "NATGWMapResultInfo": "GebSyjlS",
  "RetCode": 0
}
```





