New in version 1.4.
Manages F5 BIG-IP LTM nodes via iControl SOAP API
- bigsuds
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 | |
name |
no | Node name | ||
partition |
no | Common | Partition | |
password |
yes | BIG-IP password | ||
server |
yes | BIG-IP host | ||
session_state (added in 1.9) |
no |
|
Set new session availability status for node | |
state |
yes | present |
|
Pool member state |
user |
yes | BIG-IP username | ||
validate_certs (added in 2.0) |
no | yes |
|
If no , SSL certificates will not be validated. This should only be used on personally controlled sites. Prior to 2.0, this module would always validate on python >= 2.7.9 and never validate on python <= 2.7.8 |
## playbook task examples: --- # file bigip-test.yml # ... - hosts: bigip-test tasks: - name: Add node local_action: > bigip_node server=lb.mydomain.com user=admin password=mysecret state=present partition=matthite host="{{ ansible_default_ipv4["address"] }}" name="{{ ansible_default_ipv4["address"] }}" # 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: Modify node description local_action: > bigip_node server=lb.mydomain.com user=admin password=mysecret state=present partition=matthite name="{{ ansible_default_ipv4["address"] }}" description="Our best server yet" - name: Delete node local_action: > bigip_node server=lb.mydomain.com user=admin password=mysecret state=absent partition=matthite name="{{ ansible_default_ipv4["address"] }}" # 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 local_action: > bigip_node server=lb.mydomain.com user=admin password=mysecret state=present session_state=disabled monitor_state=disabled partition=matthite name="{{ ansible_default_ipv4["address"] }}"
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, Helping Testing PRs and Developing Modules.