# bigip_monitor_ldap – Manages BIG-IP LDAP monitors

New in version 2.8.

- Synopsis

- Parameters

- Notes

- Examples

- Return Values

- Status

## Synopsis

- Manages BIG-IP LDAP monitors.

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
base string |  | Specifies the location in the LDAP tree from which the monitor starts the health check.

chase_referrals
boolean

Choices:
- no
- yes

Specifies whether, upon receipt of an LDAP referral entry, the target follows (or chases) that referral.

debug
boolean

Choices:
- no
- yes

Specifies whether the monitor sends error messages and additional information to a log file created and labeled specifically for this monitor.

description string |  | Specifies descriptive text that identifies the monitor.
filter string |  | Specifies an LDAP key for which the monitor searches.
interval integer |  | Specifies, in seconds, the frequency at which the system issues the monitor check when either the resource is down or the status of the resource is unknown.
ip string |  | IP address part of the IP/port definition. If this parameter is not provided when creating a new monitor, then the default value will be '*'.

mandatory_attributes
boolean

Choices:
- no
- yes

Specifies whether the target must include attributes in its response to be considered up.

manual_resume
boolean

Choices:
- no
- yes

Specifies whether the system automatically changes the status of a resource to enabled at the next successful monitor check.
If you set this option to `yes`, you must manually re-enable the resource before the system can use it for load balancing connections.
When `yes`, specifies that you must manually re-enable the resource after an unsuccessful monitor check.
When `no`, specifies that the system automatically changes the status of a resource to enabled at the next successful monitor check.

name string / required |  | Monitor name.
parent string | Default: "/Common/ldap" | The parent template of this monitor template. Once this value has been set, it cannot be changed. By default, this value is the `ldap` parent on the `Common` partition.
partition string | Default: "Common" | Device partition to manage resources on.
port string |  | Port address part of the IP/port definition. If this parameter is not provided when creating a new monitor, then the default value will be '*'. Note that if specifying an IP address, a value between 1 and 65535 must be specified.
provider dictionary added in 2.5 |  | A dict object containing connection details.
| auth_provider string |  | Configures the auth provider for to obtain authentication tokens from the remote device. This option is really used when working with BIG-IQ devices.
| password string / required |  | The password for the user account used to connect to the BIG-IP. You may omit this option by setting the environment variable `F5_PASSWORD`. aliases: pass, pwd
| server string / required |  | The BIG-IP host. You may omit this option by setting the environment variable `F5_SERVER`.
| server_port integer | Default: 443 | The BIG-IP server port. You may omit this option by setting the environment variable `F5_SERVER_PORT`.
| ssh_keyfile path |  | Specifies the SSH keyfile to use to authenticate the connection to the remote device. This argument is only used for cli transports. You may omit this option by setting the environment variable `ANSIBLE_NET_SSH_KEYFILE`.
| timeout integer |  | 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.

transport
string

Choices:
- cli
- rest ←

Configures the transport connection to use when connecting to the remote device.

| user string / required |  | 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 `F5_USER`.

validate_certs
boolean

Choices:
- no
- yes ←

If `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 `F5_VALIDATE_CERTS`.

security
string

Choices:
- none
- ssl
- tls

Specifies the secure protocol type for communications with the target.

state
string

Choices:
- present ←
- absent

When `present`, ensures that the monitor exists.
When `absent`, ensures the monitor is removed.

target_password string |  | Specifies the password, if the monitored target requires authentication.
target_username string |  | Specifies the user name, if the monitored target requires authentication.
time_until_up integer |  | Specifies the number of seconds to wait after a resource first responds correctly to the monitor before setting the resource to 'up'. During the interval, all responses from the resource must be correct. When the interval expires, the resource is marked 'up'. A value of 0, means that the resource is marked up immediately upon receipt of the first correct response.

timeout
integer

Specifies the number of seconds the target has in which to respond to the monitor request.
If the target responds within the set time period, it is considered 'up'. If the target does not respond within the set time period, it is considered 'down'. When this value is set to 0 (zero), the system uses the interval from the parent monitor.
Note that `timeout` and `time_until_up` combine to control when a resource is set to up.

up_interval integer |  | Specifies the interval for the system to use to perform the health check when a resource is up. When `0`, specifies that the system uses the interval specified in `interval` to check the health of the resource. When any other number, enables specification of a different interval to use when checking the health of a resource that is up.

update_password
string

Choices:
- always ←
- on_create

`always` will update passwords if the `target_password` is specified.
`on_create` will only set the password for newly created monitors.

## Notes

Note

- For more information on using Ansible to manage F5 Networks devices see https://www.ansible.com/integrations/networks/f5.

- Requires BIG-IP software version >= 12.

- The F5 modules only manipulate the running configuration of the F5 product. To ensure that BIG-IP specific configuration persists to disk, be sure to include at least one task that uses the bigip_config module to save the running configuration. Refer to the module’s documentation for the correct usage of the module to save your running configuration.

## Examples

    - name: Create a LDAP monitor
      bigip_monitor_ldap:
        name: foo
        provider:
          password: secret
          server: lb.mydomain.com
          user: admin
      delegate_to: localhost

## Return Values

Common return values are documented here, the following are the fields unique to this module:

Key | Returned | Description
--- | --- | ---
base string | changed | The new LDAP Base setting of the resource. Sample: base
chase_referrals boolean | changed | The new Chase Referrals setting of the resource. Sample: True
debug boolean | changed | The new Debug setting of the resource. Sample: True
description string | changed | The description of the monitor. Sample: Important_Monitor
filter string | changed | The new LDAP Filter setting of the resource. Sample: filter1
interval integer | changed | The new interval in which to run the monitor check. Sample: 2
ip string | changed | The new IP of IP/port definition. Sample: 10.12.13.14
mandatory_attributes boolean | changed | The new Mandatory Attributes setting of the resource.
manual_resume boolean | changed | The new Manual Resume setting of the resource.
parent string | changed | New parent template of the monitor. Sample: ldap
security string | changed | The new Security setting of the resource. Sample: ssl
time_until_up integer | changed | The new time in which to mark a system as up after first successful response. Sample: 2
timeout integer | changed | The new timeout in which the remote system must respond to the monitor. Sample: 10

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]

- This module is maintained by an Ansible Partner. [certified]

### Authors

- Tim Rupp (@caphrim007)

- Greg Crosby (@crosbygw)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.