Just got time this weekend to test the newly released dev version of Ansible F5 HTTPs health monitor. The result of testing looks good: most of common use cases have been covered properly.
Below is my first playbook for my testing:
# This version is to create a new https health monitor
---
- name: f5 config
hosts: lb.davidwzhang.com
connection: local
vars:
ports:
- 443
tasks:
- name: creat http healthmonitor
bigip_monitor_https:
state: "present"
#state: "absent"
name: "ansible-httpshealthmonitor"
password: "password"
server: "10.1.1.122"
user: "admin"
validate_certs: "no"
send: "Get /cgi-bin/env.sh HTTP/1.1\r\nHost:192.168.72.28\r\nConnection: Close\r\n"
receive: "web"
interval: "3"
timeout: "10"
delegate_to: localhost
After run the playbook, I log in my F5 BIGIP VE and see the https health monitor has been created successfully.

I tried to create another HTTPs health monitor, which includes basic authentication(admin/password) and customized alias address and alias service port(8443).
Playbook:
# This version is to create a new HTTP health monitor
---
- name: f5 config
hosts: lb.davidwzhang.com
connection: local
vars:
ports:
- 443
tasks:
- name: creat http healthmonitor
bigip_monitor_https:
state: "present"
#state: "absent"
name: "ansible-httpshealthmonitor02"
password: "password"
server: "10.1.1.122"
user: "admin"
validate_certs: "no"
ip: "192.168.72.128"
port: "8443"
send: "Get /cgi-bin/env.sh\r\n"
receive: "200"
interval: "3"
timeout: "10"
target_username: "admin"
target_password: "password"
delegate_to: localhost
In F5, you can see the below:

In addition, you possibly noticed that I comment a line in the above 2 playbooks:
#state: "absent"
You can use it to remove the health monitor.
Excellent.. Thanks David
LikeLike