---
title: System.NAT
slug: ps/help/en_us/vtm/controlapi/systemnat
docTags: 
createdAt: 2026-08-02T08:52:22.640Z
---

URI: http\://soap.zeus.com/zxtm/1.0/System/NAT/

The NAT interface allows management of custom NAT rules. Using this interface, you can create, delete and view custom NAT rules.

### Methods

### addManyToOneAllPorts( all\_ports\_data ) throws InvalidInput, ObjectDoesNotExist

Add a many-to-one all-ports NAT rule

```bash
void addManyToOneAllPorts(
System.NAT.ManyToOneAllPortsRule[] all_ports_data
)
```

### addManyToOnePortLocked( port\_locked\_data ) throws InvalidInput, ObjectDoesNotExist

Add a many-to-one port locked NAT rule

```bash
void addManyToOnePortLocked(
System.NAT.ManyToOnePortLockedRule[] port_locked_data
)
```

### addOneToOne( one\_to\_one\_data ) throws InvalidInput, ObjectDoesNotExist

Add a one-to-one NAT rule

```bash
void addOneToOne(
System.NAT.OneToOneRule[] one_to_one_data
)
```

### addPortMapping( port\_mapping\_data ) throws InvalidInput, ObjectDoesNotExist

Add a port mapping rule for a virtual server

```bash
void addPortMapping(
System.NAT.PortMappingRule[] port_mapping_data
)
```

### getManyToOneAllPortsList()

Get a list of the many-to-one all-ports NAT rules

```bash
System.NAT.ManyToOneAllPortsRule[] getManyToOneAllPortsList()
```

### getManyToOnePortLockedList()

Get a list of the many-to-one port-locked NAT rules

```bash
System.NAT.ManyToOnePortLockedRule[] getManyToOnePortLockedList()
```

### getOneToOneList()

Get a list of the one-to-one NAT rules

```bash
System.NAT.OneToOneRule[] getOneToOneList()
```

### getPortMappingList()

Get a list of the port mapping NAT rules

```bash
System.NAT.PortMappingRule[] getPortMappingList()
```

### removeManyToOneAllPorts( all\_ports\_data ) throws InvalidInput, ObjectDoesNotExist

Remove a many-to-one all-ports rule matching the rule provided

```bash
void removeManyToOneAllPorts(
System.NAT.ManyToOneAllPortsRule[] all_ports_data
)
```

### removeManyToOnePortLocked( port\_locked\_data ) throws InvalidInput, ObjectDoesNotExist

Remove a many-to-one port-locked rule matching the rule provided

```bash
void removeManyToOnePortLocked(
System.NAT.ManyToOnePortLockedRule[] port_locked_data
)
```

### removeOneToOne( one\_to\_one ) throws InvalidInput, ObjectDoesNotExist

Remove a one-to-one rule matching the rule provided

```bash
void removeOneToOne(
System.NAT.OneToOneRule[] one_to_one
)
```

### removePortMapping( port\_mapping\_data ) throws InvalidInput, ObjectDoesNotExist

Remove a port mapping rule matching the rule provided

```bash
void removePortMapping(
System.NAT.PortMappingRule[] port_mapping_data
)
```

### Structures

### System.NAT.ManyToOneAllPortsRule

A list of config key value pairs for a many-to-one all-ports NAT rule

```bash
struct System.NAT.ManyToOneAllPortsRule {
# The name of the TIP group this rule applies to
String tipgroup;
# The name of the pool this rule filters on
String pool;
}
```

### System.NAT.ManyToOnePortLockedRule

A list of config key value pairs for a many-to-one port-locked NAT rule

```bash
struct System.NAT.ManyToOnePortLockedRule {
# The name of the TIP group this rule applies to
String tipgroup;
# The name of the pool this rule filters on
String pool;
# The protocol this rule applies to (TCP, UDP, etc.)
String protocol;
# The port number this rule applies to
Integer port;
}
```

### System.NAT.OneToOneRule

A list of config key value pairs for a One To One NAT rule

```bash
struct System.NAT.OneToOneRule {
# The name of the TIP group this rule applies to
String tipgroup;
# The name of the IP address this rule filters on
String ip;
# Whether or not this rule has an associated inbound rule
String inbound;
}
```

### System.NAT.PortMappingRule

A list of config key value pairs for a Port Mapping NAT rule

```bash
struct System.NAT.PortMappingRule {
# The name of the virtualserver this rule applies to
String virtualserver;
# The first port in the port range the virtual server will now listen on
Integer first;
# The last port in the port range the virtual server will now listen on
Integer last;
}
```
