---
title: AFM
slug: ps/help/en_us/vtm/controlapi/afm
docTags: 
createdAt: 2026-08-02T08:52:22.795Z
---

URI: http\://soap.zeus.com/zxtm/1.0/AFM/

The AFM interface allows management of the Web Application Firewall.

### Methods

### disable() throws InvalidOperation, LicenseError

Disables the Web Application Firewall on the traffic manager.

```bash
void disable()
```

### enable() throws InvalidOperation, LicenseError

Enables the Web Application Firewall on the traffic manager.

```bash
void enable()
```

### getAdminInternalRESTPort() throws InvalidOperation

Get the Web Application Firewall Internal REST API port, this port should not be accessed directly.

```bash
Integer getAdminInternalRESTPort()
```

### getAdminMasterPort() throws InvalidOperation

Get the Web Application Firewall XML Master port, this port is used on all IP addresses.

```bash
Integer getAdminMasterPort()
```

### getAdminServerPort() throws InvalidOperation

Get the Web Application Firewall Administration Server port, this port is open only on localhost.

```bash
Integer getAdminServerPort()
```

### getAdminSlavePort() throws InvalidOperation

Get the Web Application Firewall XML Slave port, this port is used on all IP addresses.

```bash
Integer getAdminSlavePort()
```

### getClusterState()

Get state data for the Web Application Firewall across all machines in the cluster.

```bash
AFM.State[] getClusterState()
```

### getDeciderBasePort() throws InvalidOperation

Get the port to which the Enforcer rule should send traffic so it can be distributed between the decider processes.

```bash
Unsigned Integer getDeciderBasePort()
```

### getDeciderServerBasePort() throws InvalidOperation

Get the base port from which the Web Application Firewall decider processes should run. Ports will be used sequentially above this for each additional decider process that runs.

```bash
Integer getDeciderServerBasePort()
```

### getInternalDeciderBasePort() throws InvalidOperation

Get the Web Application Firewall internal decider communication base port. The Web Application Firewall will use ports sequentially above this for internal communication. These ports are bound only to localhost.

```bash
Integer getInternalDeciderBasePort()
```

### getNumberOfDeciders() throws InvalidOperation

Get the number of decider processes

```bash
Integer getNumberOfDeciders()
```

### getUpdateExternControlCenterPort() throws InvalidOperation

Get the Web Application Firewall Updater External Control Center port, this port is used on all IP addresses.

```bash
Integer getUpdateExternControlCenterPort()
```

### getUpdateGUIBackendPort() throws InvalidOperation

Get the Web Application Firewall Updater GUI Backend port, this port is used on all IP addresses.

```bash
Integer getUpdateGUIBackendPort()
```

### getUpdateGUIServerPort() throws InvalidOperation

Get the Web Application Firewall Updater GUI Server port, this port is used on all IP addresses.

```bash
Integer getUpdateGUIServerPort()
```

### getUpdaterPort() throws InvalidOperation

Get the Application Firewall Updater Slave port, this port is used on all IP addresses.

```bash
Unsigned Integer getUpdaterPort()
```

### getVersion()

Get the version of the Web Application Firewall installed on the traffic manager. Returns an empty string if WAF is not installed.

```bash
String getVersion()
```

### setAdminInternalRESTPort( port ) throws InvalidOperation, InvalidInput

Set the Web Application Firewall Internal REST API port, this port should not be accessed directly.

```bash
void setAdminInternalRESTPort(
Integer port
)
```

### setAdminMasterPort( port ) throws InvalidOperation, InvalidInput

Set the Web Application Firewall XML Master port, this port is used on all IP addresses.

```bash
void setAdminMasterPort(
Integer port
)
```

### setAdminServerPort( port ) throws InvalidOperation, InvalidInput

Set the Web Application Firewall Administration Server port, this port is open only on localhost.

```bash
void setAdminServerPort(
Integer port
)
```

### setAdminSlavePort( port ) throws InvalidOperation, InvalidInput

Set the Web Application Firewall XML Slave port, this port is used on all IP addresses.

```bash
void setAdminSlavePort(
Integer port
)
```

### setDeciderBasePort( value ) throws InvalidOperation, InvalidInput

Set the port to which the Enforcer rule should send traffic so it can be distributed between the decider processes.

```bash
void setDeciderBasePort(
Unsigned Integer value
)
```

### setDeciderServerBasePort( port ) throws InvalidOperation, InvalidInput

Set the base port from which the Web Application Firewall decider processes should run. Ports will be used sequentially above this for each additional decider process that runs.

```bash
void setDeciderServerBasePort(
Integer port
)
```

### setInternalDeciderBasePort( port ) throws InvalidOperation, InvalidInput

Set the Web Application Firewall internal decider communication base port. The Web Application Firewall will use ports sequentially above this for internal communication. These ports are bound only to localhost.

```bash
void setInternalDeciderBasePort(
Integer port
)
```

### setNumberOfDeciders( deciders ) throws InvalidOperation, InvalidInput

Set the number of decider processes

```bash
void setNumberOfDeciders(
Integer deciders
)
```

### setUpdateExternControlCenterPort( port ) throws InvalidOperation, InvalidInput

Set the Web Application Firewall Updater External Control Center port, this port is used on all IP addresses.

```bash
void setUpdateExternControlCenterPort(
Integer port
)
```

### setUpdateGUIBackendPort( port ) throws InvalidOperation, InvalidInput

Set the Web Application Firewall Updater GUI Backend port, this port is used on all IP addresses.

```bash
void setUpdateGUIBackendPort(
Integer port
)
```

### setUpdateGUIServerPort( port ) throws InvalidOperation, InvalidInput

Set the Web Application Firewall Updater GUI Server port, this port is used on all IP addresses.

```bash
void setUpdateGUIServerPort(
Integer port
)
```

### setUpdaterPort( value ) throws InvalidOperation, InvalidInput

Set the Application Firewall Updater Slave port, this port is used on all IP addresses.

```bash
void setUpdaterPort(
Unsigned Integer value
)
```

### uninstall() throws InvalidOperation

Uninstalls the Web Application Firewall on the traffic manager.

```bash
void uninstall()
```

### Structures

### AFM.BasicStatus

Contains basic Web Application Firewall runtime status information.

```bash
struct AFM.BasicStatus {
# Whether or not WAF is installed.
String installed;
# Whether or not WAF is running.
String running;
# The version of WAF installed.
String version;
# Whether or not the machine is clustered with the local WAF.
String clustered;
}
```

### AFM.ClusterStatus

Contains a Web Application Firewall state message.

```bash
struct AFM.ClusterStatus {
# Cluster member this status is for.
String member;
# Status of the cluster member.
String status;
}
```

### AFM.State

Contains status information about a Web Application Firewall installation.

```bash
struct AFM.State {
# Name of the machine this information is from.
String machine;
# Describes the basic runtime status of WAF on a machine.
AFM.BasicStatus basicstatus;
# State messages from the WAF on the machine.
AFM.StateMessage[] messages;
# Statuses for all WAF instances in the cluster.
AFM.ClusterStatus[] cluster;
# Strings describing any general errors relating to WAF.
String[] errors;
}
```

### AFM.StateMessage

Contains a Web Application Firewall state message.

```bash
struct AFM.StateMessage {
# State for this message, either OK or ERROR.
String state;
# Message describing the reason for the state.
String message;
}
```
