New in version 1.4.
Manages F5 BIG-IP LTM nodes via iControl SOAP API
| parameter | required | default | choices | comments |
|---|---|---|---|---|
| description | no | Node description. |
||
| host | yes |
Node IP. Required when state=present and node does not exist. Error when state=absent. aliases: address, ip
|
||
| monitor_state (added in 1.9)
| no |
| Set monitor availability status for node |
|
| monitor_type (added in 2.2)
| no |
| Monitor rule type when monitors > 1 |
|
| monitors (added in 2.2)
| no | Monitor template name list. Always use the full path to the monitor. |
||
| name | no | Node name |
||
| partition | no | Common | Partition |
|
| password | yes | The password for the user account used to connect to the BIG-IP. |
||
| quorum (added in 2.2)
| no | Monitor quorum value when monitor_type is m_of_n |
||
| server | yes | The BIG-IP host. |
||
| server_port (added in 2.2)
| no | 443 | The BIG-IP server port. |
|
| session_state (added in 1.9)
| no |
| Set new session availability status for node |
|
| state | yes | present |
| Pool member state |
| user | yes | The username to connect to the BIG-IP with. This user must have administrative privileges on the device. |
||
| validate_certs (added in 2.0)
| no | True |
| If no, SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. |
- 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"
# 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
- 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
- name: Delete node
bigip_node:
server: "lb.mydomain.com"
user: "admin"
password: "secret"
state: "absent"
partition: "Common"
name: "10.20.30.40"
# 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"
Note
Requires BIG-IP software version >= 11
Note
F5 developed module ‘bigsuds’ required (see http://devcentral.f5.com)
Note
Best run as a local_action in your playbook
For more information on what this means please read Extras Modules
For help in developing on modules, should you be so inclined, please read Community Information & Contributing, developing_test_pr and Developing Modules.
© 2012–2016 Michael DeHaan
© 2016 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/bigip_node_module.html