f5networks.f5_modules.bigip_virtual_address (1.28.0) — module

Manage LTM virtual addresses on a BIG-IP

| "added in version" 1.0.0 of f5networks.f5_modules"

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

Install collection

Install with ansible-galaxy collection install f5networks.f5_modules:==1.28.0


Add to requirements.yml

  collections:
    - name: f5networks.f5_modules
      version: 1.28.0

Description

Manage LTM virtual addresses on a BIG-IP system.

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Add virtual address
  bigip_virtual_address:
    state: present
    partition: Common
    address: 10.10.10.10
    provider:
      server: lb.mydomain.net
      user: admin
      password: secret
  delegate_to: localhost
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Enable route advertisement on the virtual address
  bigip_virtual_address:
    state: present
    address: 10.10.10.10
    route_advertisement: any
    provider:
      server: lb.mydomain.net
      user: admin
      password: secret
  delegate_to: localhost

Inputs

    
arp:
    description:
    - Specifies whether the system accepts ARP requests.
    - When C(false), specifies the system does not accept ARP requests.
    - When C(true), the packets are dropped.
    - Both ARP and ICMP Echo must be disabled in order for forwarding virtual servers
      using that virtual address to forward ICMP packets.
    - When creating a new virtual address, if this parameter is not specified, the default
      value is C(true).
    type: bool

name:
    description:
    - Name of the virtual address.
    - If this parameter is not provided, the system uses the value of C(address).
    type: str

state:
    choices:
    - present
    - absent
    - enabled
    - disabled
    default: present
    description:
    - The virtual address state. If C(absent), the system makes an attempt to delete the
      virtual address. This will only succeed if this virtual address is not in use by
      a virtual server. C(present) creates the virtual address and enables it. If C(enabled),
      enables the virtual address if it exists. If C(disabled), creates the virtual address
      if needed, and sets the state to C(disabled).
    type: str

address:
    description:
    - Specifies the virtual address. This value cannot be modified after it is set.
    - If you never created a virtual address, but did create virtual servers, a virtual
      address for each virtual server was created automatically. The name of this virtual
      address is its IP address value.
    type: str

netmask:
    description:
    - Specifies the netmask of the provided virtual address. This value cannot be modified
      after it is set.
    - When creating a new virtual address, if this parameter is not specified, the default
      value is C(255.255.255.255) for IPv4 addresses and C(ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff)
      for IPv6 addresses.
    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
      no_f5_teem:
        default: false
        description:
        - If C(yes), TEEM telemetry data is not sent to F5.
        - You may omit this option by setting the environment variable C(F5_TELEMETRY_OFF).
        - Previously used variable C(F5_TEEM) is deprecated as its name was confusing.
        type: bool
      password:
        aliases:
        - pass
        - pwd
        description:
        - The password for the user account used to connect to the BIG-IP or the BIG-IQ.
        - You may omit this option by setting the environment variable C(F5_PASSWORD).
        required: true
        type: str
      server:
        description:
        - The BIG-IP host or the BIG-IQ 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
      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:
        - 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 or the BIG-IQ. 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
    version_added: 1.0.0
    version_added_collection: f5networks.f5_modules

spanning:
    description:
    - Enables all BIG-IP systems in a device group to listen for and process traffic on
      the same virtual address.
    - Spanning for a virtual address occurs when you enable the C(spanning) option on
      a device, and then sync the virtual address to the other members of the device group.
    - Spanning also relies on the upstream router to distribute application flows to the
      BIG-IP systems using ECMP routes. ECMP defines a route to the virtual address using
      distinct Floating self-IP addresses configured on each BIG-IP system.
    - You must also configure MAC masquerade addresses and disable C(arp) on the virtual
      address when Spanning is enabled.
    - When creating a new virtual address, if this parameter is not specified, the default
      valus is C(false).
    type: bool

icmp_echo:
    choices:
    - enabled
    - disabled
    - selective
    description:
    - Specifies how the system sends responses to (ICMP) echo requests on a per-virtual
      address basis for enabling route advertisement. When C(enabled), the BIG-IP system
      intercepts ICMP echo request packets and responds to them directly. When C(disabled),
      the BIG-IP system passes ICMP echo requests through to the backend servers. When
      (selective), causes the BIG-IP system to internally enable or disable responses
      based on virtual server state; C(when_any_available), C(when_all_available, or C(always),
      regardless of the state of any virtual servers.
    type: str

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

auto_delete:
    description:
    - Specifies whether the system automatically deletes the virtual address with the
      deletion of the last associated virtual server. When C(false), specifies the system
      leaves the virtual address, even when all associated virtual servers have been deleted.
      When creating the virtual address, the default value is C(true).
    type: bool

route_domain:
    description:
    - The route domain of the C(address) you want to use.
    - This value cannot be modified after it is set.
    type: str

traffic_group:
    description:
    - The traffic group for the virtual address. When creating a new address, if this
      value is not specified, the default is C(/Common/traffic-group-1).
    type: str

connection_limit:
    description:
    - Specifies the number of concurrent connections the system allows on this virtual
      address.
    type: int

route_advertisement:
    choices:
    - disabled
    - enabled
    - always
    - selective
    - any
    - all
    description:
    - Specifies whether the system uses route advertisement for this virtual address.
    - When disabled, the system does not advertise routes for this virtual address.
    - The majority of these options are only supported on versions 13.0.0-HF1 or later.
      On versions prior than this, all choices expect C(disabled) translate to C(enabled).
    - When C(always), the BIG-IP system always advertises the route for the virtual address,
      regardless of availability status. This requires an C(enabled) virtual address.
    - When C(enabled), the BIG-IP system advertises the route for the available virtual
      address, based on the calculation method in the availability calculation.
    - When C(disabled), the BIG-IP system does not advertise the route for the virtual
      address, regardless of the availability status.
    - When C(selective), you can also selectively enable ICMP echo responses, which causes
      the BIG-IP system to internally enable or disable responses based on virtual server
      state.
    - When C(any), the BIG-IP system advertises the route for the virtual address when
      any virtual server is available.
    - When C(all), the BIG-IP system advertises the route for the virtual address when
      all virtual servers are available.
    type: str

availability_calculation:
    aliases:
    - advertise_route
    choices:
    - always
    - when_all_available
    - when_any_available
    description:
    - Specifies which routes of the virtual address the system advertises. When C(when_any_available),
      advertises the route when any virtual server is available. When C(when_all_available),
      advertises the route when all virtual servers are available. When (always), always
      advertises the route regardless of the virtual servers available.
    type: str

Outputs

address:
  description: The address of the virtual address.
  returned: created
  sample: 2345
  type: int
arp:
  description: The new way the virtual address handles ARP requests.
  returned: changed
  sample: true
  type: bool
auto_delete:
  description: New setting for auto deleting virtual address.
  returned: changed
  sample: true
  type: bool
availability_calculation:
  description: Specifies which routes of the virtual address the system advertises.
  returned: changed
  sample: always
  type: str
connection_limit:
  description: The new connection limit of the virtual address.
  returned: changed
  sample: 1000
  type: int
icmp_echo:
  description: New ICMP echo setting applied to virtual address.
  returned: changed
  sample: disabled
  type: str
netmask:
  description: The netmask of the virtual address.
  returned: created
  sample: 2345
  type: int
spanning:
  description: Whether spanning is enabled or not.
  returned: changed
  sample: disabled
  type: str
state:
  description: The new state of the virtual address.
  returned: changed
  sample: disabled
  type: str