# bigip_apm_network_access – Manage APM Network Access resource

New in version 2.9.

- Synopsis

- Parameters

- Notes

- Examples

- Return Values

- Status

## Synopsis

- Manage APM Network Access resource.

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---

allow_local_dns
boolean

Choices:
- no
- yes

Enables local access to DNS servers configured on client prior to establishing network access connection.

allow_local_subnet
boolean

Choices:
- no
- yes

Enables local subnet access and local access to any host or subnet in routes specified in the client routing table.
When `yes` the system does not support integrated IP filtering.

description string |  | User created network access description.
dns_address_space list |  | Specifies a list of domain names describing the target LAN DNS addresses.

dtls
boolean

Choices:
- no
- yes

When `yes` the network access connection uses Datagram Transport Level Security instead of TCP, to provide better throughput for high demand applications like VoIP or streaming video.

dtls_port integer |  | Specifies the port number that the network access resource uses for secure UDP traffic with DTLS.
excluded_dns_addresses list |  | Specifies the DNS address spaces for which traffic is not forced through the tunnel.
excluded_ipv4_adresses list |  | Specifies IPV4 address spaces for which traffic is not forced through the tunnel.
| subnet string |  | The address of subnet in CIDR format, e.g. `192.168.1.0/24` Host addresses can be specified without the CIDR mask notation.
excluded_ipv6_adresses list |  | Specifies IPV6 address spaces for which traffic is not forced through the tunnel.
| subnet string |  | The address of subnet in CIDR format, e.g. `2001:db8:abcd:8000::/52` Host addresses can be specified without the CIDR mask notation.

ip_version
string

Choices:
- ipv4
- ipv4-ipv6

Supported IP version on the network access resource.

ipv4_address_space list |  | Specifies a list of IPv4 hosts or networks describing the target LAN. This option is mandatory when creating a new resource and `split_tunnel` is set to `yes`.
| subnet string |  | The address of subnet in CIDR format, e.g. `192.168.1.0/24` Host addresses can be specified without the CIDR mask notation.
ipv4_lease_pool string |  | Specifies IPV4 lease pool resource to use with network access. Referencing lease pool can be done in the full path format for example, `/Common/pool_name`. When lease pool is referenced in full path format, the `partition` parameter is ignored.
ipv6_address_space list |  | Specifies a list of IPv6 hosts or networks describing the target LAN. This option is mandatory when creating a new resource and `split_tunnel` is set to `yes`.
| subnet string |  | The address of subnet in CIDR format, e.g. `2001:db8:abcd:8000::/52` Host addresses can be specified without the CIDR mask notation.
ipv6_lease_pool string |  | Specifies IPV6 lease pool resource to use with network access. Referencing lease pool can be done in the full path format for example, `/Common/pool_name`. When lease pool is referenced in full path format, the `partition` parameter is ignored.
name string / required |  | Specifies the name of the APM network access to manage/create.
partition string | Default: "Common" | Device partition to manage resources on.
provider dictionary added in 2.5 |  | A dict object containing connection details.
| auth_provider string |  | Configures the auth provider for to obtain authentication tokens from the remote device. This option is really used when working with BIG-IQ devices.
| password string / required |  | The password for the user account used to connect to the BIG-IP. You may omit this option by setting the environment variable `F5_PASSWORD`. aliases: pass, pwd
| server string / required |  | The BIG-IP host. You may omit this option by setting the environment variable `F5_SERVER`.
| server_port integer | Default: 443 | The BIG-IP server port. You may omit this option by setting the environment variable `F5_SERVER_PORT`.
| ssh_keyfile path |  | Specifies the SSH keyfile to use to authenticate the connection to the remote device. This argument is only used for cli transports. You may omit this option by setting the environment variable `ANSIBLE_NET_SSH_KEYFILE`.
| timeout integer |  | Specifies the timeout in seconds for communicating with the network device for either connecting or sending commands. If the timeout is exceeded before the operation is completed, the module will error.

transport
string

Choices:
- cli
- rest ←

Configures the transport connection to use when connecting to the remote device.

| user string / required |  | The username to connect to the BIG-IP with. This user must have administrative privileges on the device. You may omit this option by setting the environment variable `F5_USER`.

validate_certs
boolean

Choices:
- no
- yes ←

If `no`, SSL certificates are not validated. Use this only on personally controlled sites using self-signed certificates.
You may omit this option by setting the environment variable `F5_VALIDATE_CERTS`.

snat_pool string |  | Specifies the name of a SNAT pool used for implementing selective and intelligent SNATs. When `none` the system uses no SNAT pool for this network resource. When `automap` the system uses all of the self IP addresses as the translation addresses for the pool.

split_tunnel
boolean

Choices:
- no
- yes

Specifies that only the traffic targeted to a specified address space is sent over the network access tunnel.

state
string

Choices:
- present ←
- absent

When `state` is `present`, ensures that the ACL exists.
When `state` is `absent`, ensures that the ACL is removed.

## Notes

Note

- For more information on using Ansible to manage F5 Networks devices see https://www.ansible.com/integrations/networks/f5.

- Requires BIG-IP software version >= 12.

- The F5 modules only manipulate the running configuration of the F5 product. To ensure that BIG-IP specific configuration persists to disk, be sure to include at least one task that uses the bigip_config module to save the running configuration. Refer to the module’s documentation for the correct usage of the module to save your running configuration.

## Examples

    - name: Create a split tunnel IPV4 Network Access
      bigip_apm_network_access:
        name: foobar
        ip_version: ipv4
        split_tunnel: yes
        snat_pool: "none"
        ipv4_lease_pool: leasefoo
        ipv4_address_space:
          - subnet: 10.10.1.1
          - subnet: 10.10.2.0/24
        excluded_ipv4_adresses:
          - subnet: 192.168.1.0/24
        provider:
          password: secret
          server: lb.mydomain.com
          user: admin
      delegate_to: localhost

    - name: Modify a split tunnel IPV4 Network Access
      bigip_apm_network_access:
        name: foobar
        snat_pool: /Common/poolsnat
        ipv4_address_space:
          - subnet: 172.16.23.0/24
        excluded_ipv4_adresses:
          - subnet: 10.10.2.0/24
        allow_local_subnet: yes
        allow_local_dns: yes
        provider:
          password: secret
          server: lb.mydomain.com
          user: admin
      delegate_to: localhost

    - name: Remove Network Access
      bigip_apm_network_access:
        name: foobar
        state: absent
        provider:
          password: secret
          server: lb.mydomain.com
          user: admin
      delegate_to: localhost

## Return Values

Common return values are documented here, the following are the fields unique to this module:

Key | Returned | Description
--- | --- | ---
allow_local_dns boolean | changed | Enables local access to DNS servers configured on client. Sample: True
allow_local_subnet boolean | changed | Enables local subnet access. Sample: True
description string | changed | The new description of Network Access. Sample: My Access
dns_address_space list | changed | Specifies a list of domain names describing the target LAN DNS addresses. Sample: ['internal.net', '*.engnet.org']
dtls boolean | changed | Enables use of DTLS by network access.
dtls_port integer | changed | Specifies the port number that the network access resource uses for DTLS. Sample: 4433
excluded_dns_addresses list | changed | Specifies the DNS address spaces for which traffic is not forced through the tunnel. Sample: ['foobar.com', 'bazbar.org']
excluded_ipv4_adresses complex | changed | Specifies IPV4 address spaces for which traffic is not forced through the tunnel. Sample: hash/dictionary of values
| subnet string | changed | The host or network address. Sample: 192.168.10.1
excluded_ipv6_adresses complex | changed | Specifies IPV6 address spaces for which traffic is not forced through the tunnel. Sample: hash/dictionary of values
| subnet string | changed | The host or network address. Sample: 2001:DB8:ABCD:0012::0
ip_version string | changed | Supported IP version on the network access resource. Sample: ipv4-ipv6
ipv4_address_space complex | changed | Specifies a list of IPv4 hosts or networks describing the target LAN. Sample: hash/dictionary of values
| subnet string | changed | The host or network address. Sample: 192.168.10.1
ipv4_lease_pool string | changed | Specifies IPV4 lease pool resource to use with network access. Sample: /Common/leasepoolv4
ipv6_address_space complex | changed | Specifies a list of IPv6 hosts or networks describing the target LAN. Sample: hash/dictionary of values
| subnet string | changed | The host or network address. Sample: 2001:DB8:ABCD:0012::0
ipv6_lease_pool string | changed | Specifies IPV6 lease pool resource to use with network access. Sample: /Common/leasepoolv6
snat_pool string | changed | The name of a SNAT pool used by network access resource. Sample: /Common/my-pool
split_tunnel boolean | changed | Enables split tunnel on network access resource. Sample: True

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]

- This module is maintained by an Ansible Partner. [certified]

### Authors

- Wojciech Wypior (@wojtek0806)

Hint

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