- AnsibleFest
- Products
- Community
- Webinars & Training
- Blog

Documentation

# vca_nat – add remove nat rules in a gateway in a vca

- Synopsis
- Parameters
- Examples
- Status

## Synopsis

- Adds or removes nat rules from a gateway in a vca environment

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
api_version string | Default: "5.7" | The API version to be used with the vca.
gateway_name string | Default: "gateway" | The name of the gateway of the vdc where the rule should be added.
host string |  | The authentication host to be used when service type is vcd.
instance_id string |  | The instance ID in a vchs environment to be used for creating the vapp.
nat_rules - / required | Default: "no" | A list of rules to be added to the gateway, Please see examples on valid entries
org string |  | The org to login to for creating vapp. This option is required when the `service_type` is vdc.
password string |  | The vca password, if not set the environment variable `VCA_PASS` is checked for the password. aliases: pass, passwd
purge_rules boolean | Choices: no ← yes | If set to true, it will delete all rules in the gateway that are not given as parameter to this module.
service_type string | Choices: vca ← vcd vchs | The type of service we are authenticating against.
state string | Choices: absent present ← | Whether the object should be added or removed.
username string |  | The vca username or email address, if not set the environment variable `VCA_USER` is checked for the username. aliases: user
validate_certs boolean | Choices: no yes ← | If the certificates of the authentication is to be verified. aliases: verify_certs
vdc_name string |  | The name of the vdc where the gateway is located.

## Examples

    #An example for a source nat

    - hosts: localhost
      connection: local
      tasks:
       - vca_nat:
           instance_id: 'b15ff1e5-1024-4f55-889f-ea0209726282'
           vdc_name: 'benz_ansible'
           state: 'present'
           nat_rules:
             - rule_type: SNAT
               original_ip: 192.0.2.42
               translated_ip: 203.0.113.23

    #example for a DNAT
    - hosts: localhost
      connection: local
      tasks:
       - vca_nat:
           instance_id: 'b15ff1e5-1024-4f55-889f-ea0209726282'
           vdc_name: 'benz_ansible'
           state: 'present'
           nat_rules:
             - rule_type: DNAT
               original_ip: 203.0.113.23
               original_port: 22
               translated_ip: 192.0.2.42
               translated_port: 22

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]

### Authors

- Peter Sprygada (@privateip)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.