community.network.bigip_firewall_address_list (0.1.0) — module

Manage address lists on BIG-IP AFM

Authors: Tim Rupp (@caphrim007), Wojciech Wypior (@wojtek0806)

Install collection

Install with ansible-galaxy collection install community.network:==0.1.0


Add to requirements.yml

  collections:
    - name: community.network
      version: 0.1.0

Description

Manages the AFM address lists on a BIG-IP. This module can be used to add and remove address list entries.

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Create an address list
  bigip_firewall_address_list:
    name: foo
    addresses:
      - 3.3.3.3
      - 4.4.4.4
      - 5.5.5.5
    provider:
      password: secret
      server: lb.mydomain.com
      user: admin
  delegate_to: localhost

Inputs

    
name:
    description:
    - Specifies the name of the address list.
    required: true
    type: str

fqdns:
    description:
    - A list of fully qualified domain names (FQDNs).
    - An FQDN has at least one decimal point in it, separating the host from the domain.
    - To add FQDNs to a list requires that a global FQDN resolver be configured. At the
      moment, this must either be done via C(bigip_command), or, in the GUI of BIG-IP.
      If using C(bigip_command), this can be done with C(tmsh modify security firewall
      global-fqdn-policy FOO) where C(FOO) is a DNS resolver configured at C(tmsh create
      net dns-resolver FOO).
    type: list

state:
    choices:
    - present
    - absent
    default: present
    description:
    - When C(present), ensures that the address list and entries exists.
    - When C(absent), ensures the address list is removed.
    type: str

provider:
    description:
    - A dict object containing connection details.
    suboptions:
      auth_provider:
        description:
        - Configures the auth provider for to obtain authentication tokens from the remote
          device.
        - This option is really used when working with BIG-IQ devices.
        type: str
      password:
        aliases:
        - pass
        - pwd
        description:
        - The password for the user account used to connect to the BIG-IP.
        - You may omit this option by setting the environment variable C(F5_PASSWORD).
        required: true
        type: str
      server:
        description:
        - The BIG-IP host.
        - You may omit this option by setting the environment variable C(F5_SERVER).
        required: true
        type: str
      server_port:
        default: 443
        description:
        - The BIG-IP server port.
        - You may omit this option by setting the environment variable C(F5_SERVER_PORT).
        type: int
      ssh_keyfile:
        description:
        - Specifies the SSH keyfile to use to authenticate the connection to the remote
          device.  This argument is only used for I(cli) transports.
        - You may omit this option by setting the environment variable C(ANSIBLE_NET_SSH_KEYFILE).
        type: path
      timeout:
        description:
        - 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.
        type: int
      transport:
        choices:
        - cli
        - rest
        default: rest
        description:
        - Configures the transport connection to use when connecting to the remote device.
        type: str
      user:
        description:
        - 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 C(F5_USER).
        required: true
        type: str
      validate_certs:
        default: true
        description:
        - If C(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 C(F5_VALIDATE_CERTS).
        type: bool
    type: dict

addresses:
    description:
    - Individual addresses that you want to add to the list. These addresses differ from
      ranges, and lists of lists such as what can be used in C(address_ranges) and C(address_lists)
      respectively.
    - This list can also include networks that have CIDR notation.
    type: list

partition:
    default: Common
    description:
    - Device partition to manage resources on.
    type: str

description:
    description:
    - Description of the address list
    type: str

address_lists:
    description:
    - Simple list of existing address lists to add to this list. Address lists can be
      specified in either their fully qualified name (/Common/foo) or their short name
      (foo). If a short name is used, the C(partition) argument will automatically be
      prepended to the short name.
    type: list

geo_locations:
    description:
    - List of geolocations specified by their C(country) and C(region).
    suboptions:
      country:
        choices:
        - Any valid 2 character ISO country code.
        - Any valid country name.
        description:
        - The country name, or code, of the geolocation to use.
        - In addition to the country full names, you may also specify their abbreviated
          form, such as C(US) instead of C(United States).
        - Valid country codes can be found here https://countrycode.org/.
        required: true
        type: str
      region:
        description:
        - Region name of the country to use.
        type: str
    type: list

address_ranges:
    description:
    - A list of address ranges where the range starts with a port number, is followed
      by a dash (-) and then a second number.
    - If the first address is greater than the second number, the numbers will be reversed
      so-as to be properly formatted. ie, C(2.2.2.2-1.1.1). would become C(1.1.1.1-2.2.2.2).
    type: list

Outputs

address_lists:
  description: The new list of address list names applied to the address list.
  returned: changed
  sample:
  - /Common/list1
  - /Common/list2
  type: list
address_ranges:
  description: The new list of address ranges applied to the address list.
  returned: changed
  sample:
  - 1.1.1.1-2.2.2.2
  - 3.3.3.3-4.4.4.4
  type: list
addresses:
  description: The new list of addresses applied to the address list.
  returned: changed
  sample:
  - 1.1.1.1
  - 2.2.2.2
  type: list
description:
  description: The new description of the address list.
  returned: changed
  sample: My address list
  type: str
fqdns:
  description: The new list of FQDN names applied to the address list.
  returned: changed
  sample:
  - google.com
  - mit.edu
  type: list
geo_locations:
  contains:
    country:
      description: Country of the geo location.
      returned: changed
      sample: US
      type: str
    region:
      description: Region of the geo location.
      returned: changed
      sample: California
      type: str
  description: The new list of geo locations applied to the address list.
  returned: changed
  type: complex