New in version 1.4.
Manages F5 BIG-IP LTM pool members via iControl SOAP API
- bigsuds
parameter | required | default | choices | comments |
---|---|---|---|---|
connection_limit |
no | Pool member connection limit. Setting this to 0 disables the limit. | ||
description |
no | Pool member description | ||
host |
yes | Pool member IP aliases: address, name | ||
monitor_state (added in 2.0) |
no |
|
Set monitor availability status for pool member | |
partition |
no | Common | Partition | |
password |
yes | BIG-IP password | ||
pool |
yes | Pool name. This pool must exist. | ||
port |
yes | Pool member port | ||
preserve_node (added in 2.1) |
no | no |
|
When state is absent and the pool member is no longer referenced in other pools, the default behavior removes the unused node object. Setting this to 'yes' disables this behavior. |
rate_limit |
no | Pool member rate limit (connections-per-second). Setting this to 0 disables the limit. | ||
ratio |
no | Pool member ratio weight. Valid values range from 1 through 100. New pool members -- unless overriden with this value -- default to 1. | ||
server |
yes | BIG-IP host | ||
session_state (added in 2.0) |
no |
|
Set new session availability status for pool member | |
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 pool member local_action: > bigip_pool_member server=lb.mydomain.com user=admin password=mysecret state=present pool=matthite-pool partition=matthite host="{{ ansible_default_ipv4["address"] }}" port=80 description="web server" connection_limit=100 rate_limit=50 ratio=2 - name: Modify pool member ratio and description local_action: > bigip_pool_member server=lb.mydomain.com user=admin password=mysecret state=present pool=matthite-pool partition=matthite host="{{ ansible_default_ipv4["address"] }}" port=80 ratio=1 description="nginx server" - name: Remove pool member from pool local_action: > bigip_pool_member server=lb.mydomain.com user=admin password=mysecret state=absent pool=matthite-pool partition=matthite host="{{ ansible_default_ipv4["address"] }}" port=80 # The BIG-IP GUI doesn't map directly to the API calls for "Pool -> # Members -> 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 pool member offline local_action: > bigip_pool_member server=lb.mydomain.com user=admin password=mysecret state=present session_state=disabled monitor_state=disabled pool=matthite-pool partition=matthite host="{{ ansible_default_ipv4["address"] }}" port=80
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
Note
Supersedes bigip_pool for managing pool members
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.