# bigip_device_ha_group – Manage HA group settings on a BIG-IP system

New in version 2.8.

- Synopsis
- Parameters
- Notes
- Examples
- Return Values
- Status

## Synopsis

- Manage HA group settings on a BIG-IP system.

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
active_bonus integer |  | Specifies the extra value to be added to the active unit's ha score. When system creates HA group this value is set to `10` by the system.
description string |  | User created HA group description.

enable
boolean

Choices:
- no
- yes ←

When set to `no` the system disables the ha score feature.

name string / required |  | Name of the HA group to create/manage.
pools list |  | Specifies pools to contribute to the ha score. The pools must exist on the BIG-IP otherwise the operation will fail.

attribute
string

Choices:
- percent-up-members ←

The pool attribute that contributes to the ha score.

minimum_threshold
integer

Below this value the selected pool attribute contributes nothing to the ha score.
This value must be greater than the number of pool members present in the pool.
In TMOS versions 12.x this attribute is named `threshold` however it has been deprecated in versions 13.x and above.
Specifying this attribute in the module running against v12.x will keep the same behavior as if `threshold` option was set.

| partition string | Default: "Common" | Device partition where the specified pool exists. This parameter is ignored if the `pool_name` is specified in full path format.
| pool_name string / required |  | The pool name which is used to contribute to the ha score. Referencing pool can be done in the full path format for example, `/Common/pool_name`. When pool is referenced in full path format, the `partition` parameter is ignored.
| weight integer / required |  | Maximum value the selected pool attribute contributes to the ha score.
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`.

state
string

Choices:
- present ←
- absent

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

trunks list |  | Specifies trunks to contribute to the ha score. The trunks must exist on the BIG-IP otherwise the operation will fail.

attribute
string

Choices:
- percent-up-members ←

The trunk attribute that contributes to the ha score.

minimum_threshold
integer

Below this value the selected trunk attribute contributes nothing to the ha score.
This value must be greater than the number of trunk members.
In TMOS versions 12.x this attribute is named `threshold` however it has been deprecated in versions 13.x and above.
Specifying this attribute in the module running against v12.x will keep the same behavior as if `threshold` option was set.

| trunk_name string / required |  | The trunk name which is used to contribute to the ha score.
| weight integer / required |  | Maximum value the selected trunk attribute contributes to the ha score.

## Notes

Note

- This module does not support atomic removal of HA group objects.
- 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 HA group no members, not active
      bigip_device_ha_group:
        name: foo_ha
        description: empty_foo
        active_bonus: 20
        enable: no
        provider:
          password: secret
          server: lb.mydomain.com
          user: admin
      delegate_to: localhost

    - name: Create HA group with pools and trunks
      bigip_device_ha_group:
        name: baz_ha
        description: non_empty_baz
        active_bonus: 15
        pools:
          - pool_name: foopool
            weight: 30
            minimum_threshold: 1
        trunks:
          - trunk_name: footrunk
            weight: 70
            minimum_threshold: 2
        provider:
          password: secret
          server: lb.mydomain.com
          user: admin
      delegate_to: localhost

    - name: Create HA group pools using full_path format
      bigip_device_ha_group:
        name: bar_ha
        description: non_empty_bar
        active_bonus: 12
        pools:
          - pool_name: /Baz/foopool
            weight: 30
            minimum_threshold: 1
        provider:
          password: secret
          server: lb.mydomain.com
          user: admin
      delegate_to: localhost

    - name: Remove HA group
      bigip_device_ha_group:
        name: foo_ha
        state: absent
        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
--- | --- | ---
active_bonus integer | changed | The extra value to be added to the active unit's ha score. Sample: 20
description string | changed | User created HA group description. Sample: Some Group
enable boolean | changed | Enables or disables HA score feature. Sample: True
name string | changed | Name of the HA group. Sample: foo_HA
pools complex | changed | The pools to contribute to the ha score. Sample: hash/dictionary of values
| attribute string | changed | The pool attribute that contributes to the ha score. Sample: percent-up-members
| minimum_threshold integer | changed | Below this value the selected pool attribute contributes nothing to the ha score. Sample: 2
| partition string | changed | Device partition where the specified pool exists. Sample: Common
| pool_name string | changed | The pool name which is used to contribute to the ha score. Sample: foo_pool
| weight integer | changed | Maximum value the selected pool attribute contributes to the ha score. Sample: 40
trunks complex | changed | The trunks to contribute to the ha score. Sample: hash/dictionary of values
| attribute string | changed | The trunk attribute that contributes to the ha score. Sample: percent-up-members
| minimum_threshold integer | changed | Below this value the selected trunk attribute contributes nothing to the ha score. Sample: 2
| trunk_name string | changed | The trunk name which is used to contribute to the ha score. Sample: foo_trunk
| weight integer | changed | Maximum value the selected trunk attribute contributes to the ha score. Sample: 40

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by an Ansible Partner. [certified]

### Authors

- Wojciech Wypior (@wojtek0806)

Hint

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