ansible.builtin.bigip_node (v2.4.6.0-1) — module

Manages F5 BIG-IP LTM nodes

| "added in version" 1.4 of ansible.builtin"

Authors: Matt Hite (@mhite), Tim Rupp (@caphrim007)

preview | supported by community

Install Ansible via pip

Install with pip install ansible==2.4.6.0.post1

Description

Manages F5 BIG-IP LTM nodes via iControl SOAP API


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Add node
  bigip_node:
      server: "lb.mydomain.com"
      user: "admin"
      password: "secret"
      state: "present"
      partition: "Common"
      host: "10.20.30.40"
      name: "10.20.30.40"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Note that the BIG-IP automatically names the node using the
# IP address specified in previous play's host parameter.
# Future plays referencing this node no longer use the host
# parameter but instead use the name parameter.
# Alternatively, you could have specified a name with the
# name parameter when state=present.

- name: Add node with a single 'ping' monitor
  bigip_node:
      server: "lb.mydomain.com"
      user: "admin"
      password: "secret"
      state: "present"
      partition: "Common"
      host: "10.20.30.40"
      name: "mytestserver"
      monitors:
        - /Common/icmp
  delegate_to: localhost
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Modify node description
  bigip_node:
      server: "lb.mydomain.com"
      user: "admin"
      password: "secret"
      state: "present"
      partition: "Common"
      name: "10.20.30.40"
      description: "Our best server yet"
  delegate_to: localhost
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Delete node
  bigip_node:
      server: "lb.mydomain.com"
      user: "admin"
      password: "secret"
      state: "absent"
      partition: "Common"
      name: "10.20.30.40"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# The BIG-IP GUI doesn't map directly to the API calls for "Node ->
# General Properties -> State". The following states map to API monitor
# and session states.
#
# Enabled (all traffic allowed):
# monitor_state=enabled, session_state=enabled
# Disabled (only persistent or active connections allowed):
# monitor_state=enabled, session_state=disabled
# Forced offline (only active connections allowed):
# monitor_state=disabled, session_state=disabled
#
# See https://devcentral.f5.com/questions/icontrol-equivalent-call-for-b-node-down

- name: Force node offline
  bigip_node:
      server: "lb.mydomain.com"
      user: "admin"
      password: "mysecret"
      state: "present"
      session_state: "disabled"
      monitor_state: "disabled"
      partition: "Common"
      name: "10.20.30.40"

Inputs

    
host:
    aliases:
    - address
    - ip
    choices: []
    default: null
    description:
    - Node IP. Required when state=present and node does not exist. Error when state=absent.
    required: true

name:
    choices: []
    default: null
    description:
    - Node name
    required: false

state:
    aliases: []
    choices:
    - present
    - absent
    default: present
    description:
    - Pool member state
    required: true

quorum:
    aliases: []
    choices: []
    default: null
    description:
    - Monitor quorum value when monitor_type is m_of_n
    required: false
    version_added: '2.2'
    version_added_collection: ansible.builtin

monitors:
    aliases: []
    choices: []
    default: null
    description:
    - Monitor template name list. Always use the full path to the monitor.
    required: false
    version_added: '2.2'
    version_added_collection: ansible.builtin

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
    version_added: '2.5'
    version_added_collection: f5networks.f5_modules

partition:
    aliases: []
    choices: []
    default: Common
    description:
    - Partition
    required: false

description:
    choices: []
    default: null
    description:
    - Node description.
    required: false

monitor_type:
    aliases: []
    choices:
    - and_list
    - m_of_n
    default: null
    description:
    - Monitor rule type when monitors > 1
    required: false
    version_added: '2.2'
    version_added_collection: ansible.builtin

monitor_state:
    aliases: []
    choices:
    - enabled
    - disabled
    default: null
    description:
    - Set monitor availability status for node
    required: false
    version_added: '1.9'
    version_added_collection: ansible.builtin

session_state:
    aliases: []
    choices:
    - enabled
    - disabled
    default: null
    description:
    - Set new session availability status for node
    required: false
    version_added: '1.9'
    version_added_collection: ansible.builtin