f5networks.f5_modules.bigip_gtm_pool_member (1.28.0) — module

Manage GTM pool member settings

| "added in version" 1.0.0 of f5networks.f5_modules"

Authors: Tim Rupp (@caphrim007), Wojciech Wypior (@wojtek0806)

Install collection

Install with ansible-galaxy collection install f5networks.f5_modules:==1.28.0


Add to requirements.yml

  collections:
    - name: f5networks.f5_modules
      version: 1.28.0

Description

Manages a variety of settings on GTM (now BIG-IP DNS) pool members. The settings that can be adjusted with this module are much more broad that what can be done in the C(bigip_gtm_pool) module. The pool module is intended to allow you to adjust the member order in the pool, not the various settings of the members. The C(bigip_gtm_pool_member) module should be used to adjust all of the other settings.

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Create a GTM pool member
  bigip_gtm_pool_member:
    pool: pool1
    server_name: server1
    virtual_server: vs1
    type: a
    provider:
      password: secret
      server: lb.mydomain.com
      user: admin
  delegate_to: localhost
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Create a GTM pool member different partition
  bigip_gtm_pool_member:
    server_name: /Common/foo_name
    virtual_server: GTMVSName
    type: a
    pool: /FooBar/foo-pool
    partition: Common
    provider:
      password: secret
      server: lb.mydomain.com
      user: admin
  delegate_to: localhost
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Add GTM pool members aggregate
  bigip_gtm_pool_member:
    pool: pool1
    type: a
    aggregate:
      - server_name: server1
        virtual_server: vs1
        partition: Common
        description: web server1
        member_order: 0
      - server_name: server2
        virtual_server: vs2
        partition: Common
        description: web server2
        member_order: 1
      - server_name: server3
        virtual_server: vs3
        partition: Common
        description: web server3
        member_order: 2
    provider:
      server: lb.mydomain.com
      user: admin
      password: secret
  delegate_to: localhost
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Add GTM pool members aggregate, remove non aggregates
  bigip_gtm_pool_member:
    pool: pool1
    type: a
    aggregate:
      - server_name: server1
        virtual_server: vs1
        partition: Common
        description: web server1
        member_order: 0
      - server_name: server2
        virtual_server: vs2
        partition: Common
        description: web server2
        member_order: 1
      - server_name: server3
        virtual_server: vs3
        partition: Common
        description: web server3
        member_order: 2
    replace_all_with: true
    provider:
      server: lb.mydomain.com
      user: admin
      password: secret
  delegate_to: localhost

Inputs

    
pool:
    description:
    - Name of the GTM pool.
    - For pools created on different partitions, you must specify partition of the pool
      in the full path format, for example, C(/FooBar/pool_name).
    required: true
    type: str

type:
    choices:
    - a
    - aaaa
    - cname
    - mx
    - naptr
    - srv
    description:
    - The type of GTM pool that the member is in.
    required: true
    type: str

ratio:
    description:
    - Specifies the weight of the pool member for load balancing purposes.
    type: int

state:
    choices:
    - present
    - absent
    - enabled
    - disabled
    default: present
    description:
    - Pool member state. When C(present), ensures the pool member is created and enabled.
      When C(absent), ensures the pool member is removed from the system. When C(enabled)
      or C(disabled), ensures the pool member is enabled or disabled (respectively) on
      the remote device.
    type: str

limits:
    description:
    - Specifies resource thresholds or limit requirements at the pool member level.
    - When you enable one or more limit settings, the system then uses that data to take
      members in and out of service.
    - You can define limits for any or all of the limit settings. However, when a member
      does not meet the resource threshold limit requirement, the system marks the member
      as unavailable and directs load balancing traffic to another resource.
    suboptions:
      bits_enabled:
        description:
        - Whether or not the bits limit is enabled.
        type: bool
      bits_limit:
        description:
        - Specifies the maximum allowable data throughput rate for the member, in bits
          per second.
        type: int
      connections_enabled:
        description:
        - Whether or not the current connections limit is enabled.
        type: bool
      connections_limit:
        description:
        - Specifies the maximum number of concurrent connections, combined, for all of
          the members.
        type: int
      packets_enabled:
        description:
        - Whether or not the packets limit is enabled.
        type: bool
      packets_limit:
        description:
        - Specifies the maximum allowable data transfer rate for the member, in packets
          per second.
        type: int
    type: dict

monitor:
    description:
    - Specifies the monitor assigned to this pool member.
    - Pool members only support a single monitor.
    - If the C(port) of the C(gtm_virtual_server) is C(*), the accepted values of this
      parameter will be affected.
    - If this parameter is not specified when creating a new pool member, the default
      of C(default) will be used.
    - To remove the monitor from the pool member, use the value C(none).
    type: str

provider:
    description:
    - A dict object containing connection details.
    suboptions:
      auth_provider:
        description:
        - Configures the auth provider for to obtain authentication tokens from the remote
          device.
        - This option is really used when working with BIG-IQ devices.
        type: str
      no_f5_teem:
        default: false
        description:
        - If C(yes), TEEM telemetry data is not sent to F5.
        - You may omit this option by setting the environment variable C(F5_TELEMETRY_OFF).
        - Previously used variable C(F5_TEEM) is deprecated as its name was confusing.
        type: bool
      password:
        aliases:
        - pass
        - pwd
        description:
        - The password for the user account used to connect to the BIG-IP or the BIG-IQ.
        - You may omit this option by setting the environment variable C(F5_PASSWORD).
        required: true
        type: str
      server:
        description:
        - The BIG-IP host or the BIG-IQ host.
        - You may omit this option by setting the environment variable C(F5_SERVER).
        required: true
        type: str
      server_port:
        default: 443
        description:
        - The BIG-IP server port.
        - You may omit this option by setting the environment variable C(F5_SERVER_PORT).
        type: int
      timeout:
        description:
        - 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.
        type: int
      transport:
        choices:
        - rest
        default: rest
        description:
        - Configures the transport connection to use when connecting to the remote device.
        type: str
      user:
        description:
        - The username to connect to the BIG-IP or the BIG-IQ. This user must have administrative
          privileges on the device.
        - You may omit this option by setting the environment variable C(F5_USER).
        required: true
        type: str
      validate_certs:
        default: true
        description:
        - If C(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 C(F5_VALIDATE_CERTS).
        type: bool
    type: dict
    version_added: 1.0.0
    version_added_collection: f5networks.f5_modules

aggregate:
    aliases:
    - members
    description:
    - List of GTM pool member definitions to be created, modified, or removed.
    - When using C(aggregates), if one of the aggregate definitions is invalid, the aggregate
      run will fail, indicating the error it last encountered.
    - The module will C(NOT) rollback any changes it has made prior to encountering the
      error.
    - The module also will not indicate what changes were made prior to failure, therefore
      we strongly advise you run the module in check mode to make basic validation, prior
      to module execution.
    elements: dict
    suboptions:
      description:
        description:
        - The description of the pool member.
        type: str
      limits:
        description:
        - Specifies resource thresholds or limit requirements at the pool member level.
        - When you enable one or more limit settings, the system then uses that data to
          take members in and out of service.
        - You can define limits for any or all of the limit settings. However, when a
          member does not meet the resource threshold limit requirement, the system marks
          the member as unavailable and directs load balancing traffic to another resource.
        suboptions:
          bits_enabled:
            description:
            - Whether or not the bits limit is enabled.
            type: bool
          bits_limit:
            description:
            - Specifies the maximum allowable data throughput rate for the member, in
              bits per second.
            type: int
          connections_enabled:
            description:
            - Whether or not the current connections limit is enabled.
            type: bool
          connections_limit:
            description:
            - Specifies the maximum number of concurrent connections, combined, for all
              of the members.
            type: int
          packets_enabled:
            description:
            - Whether or not the packets limit is enabled.
            type: bool
          packets_limit:
            description:
            - Specifies the maximum allowable data transfer rate for the member, in packets
              per second.
            type: int
        type: dict
      member_order:
        description:
        - Specifies the order in which the member will appear in the pool.
        - The system uses this number with load balancing methods that involve prioritizing
          pool members, such as the Ratio load balancing method.
        type: int
      monitor:
        description:
        - Specifies the monitor assigned to this pool member.
        - Pool members only support a single monitor.
        - If the C(port) of the C(gtm_virtual_server) is C(*), the accepted values of
          this parameter will be affected.
        - If this parameter is not specified when creating a new pool member, the default
          of C(default) will be used.
        - To remove the monitor from the pool member, use the value C(none).
        type: str
      partition:
        default: Common
        description:
        - Device partition to manage resources on.
        type: str
      ratio:
        description:
        - Specifies the weight of the pool member for load balancing purposes.
        type: int
      server_name:
        description:
        - Specifies the GTM server which contains the C(virtual_server).
        type: str
      state:
        choices:
        - present
        - absent
        - enabled
        - disabled
        default: present
        description:
        - Pool member state. When C(present), ensures the pool member is created and enabled.
          When C(absent), ensures the pool member is removed from the system. When C(enabled)
          or C(disabled), ensures the pool member is enabled or disabled (respectively)
          on the remote device.
        type: str
      virtual_server:
        description:
        - Specifies the name of the GTM virtual server which is assigned to the specified
          C(server).
        type: str
    type: list

partition:
    default: Common
    description:
    - Device partition to manage resources on.
    type: str

description:
    description:
    - The description of the pool member.
    type: str

server_name:
    description:
    - Specifies the GTM server which contains the C(virtual_server).
    type: str

member_order:
    description:
    - Specifies the order in which the member will appear in the pool.
    - The system uses this number with load balancing methods that involve prioritizing
      pool members, such as the Ratio load balancing method.
    type: int

virtual_server:
    description:
    - Specifies the name of the GTM virtual server which is assigned to the specified
      C(server).
    type: str

replace_all_with:
    aliases:
    - purge
    default: false
    description:
    - Removes members not defined in the C(aggregate) parameter.
    - This operation is all or none, meaning it will stop if there are some pool members
      that cannot be removed.
    type: bool

Outputs

bits_enabled:
  description: Whether the bits limit is enabled.
  returned: changed
  sample: true
  type: bool
bits_limit:
  description: The new bits_enabled limit.
  returned: changed
  sample: 100
  type: int
connections_enabled:
  description: Whether the connections limit is enabled.
  returned: changed
  sample: true
  type: bool
connections_limit:
  description: The new connections_limit limit.
  returned: changed
  sample: 100
  type: int
description:
  description: The new description of the member.
  returned: changed
  sample: My description
  type: str
disabled:
  description: Whether the pool member is disabled or not.
  returned: changed
  sample: true
  type: bool
enabled:
  description: Whether the pool member is enabled or not.
  returned: changed
  sample: true
  type: bool
member_order:
  description: The new order in which the member appears in the pool.
  returned: changed
  sample: 2
  type: int
monitor:
  description: The new monitor assigned to the pool member.
  returned: changed
  sample: /Common/monitor1
  type: str
packets_enabled:
  description: Whether the packets limit is enabled.
  returned: changed
  sample: true
  type: bool
packets_limit:
  description: The new packets_limit limit.
  returned: changed
  sample: 100
  type: int
ratio:
  description: The new weight of the member for load balancing.
  returned: changed
  sample: 10
  type: int
replace_all_with:
  description: Purges all non-aggregate pool members from device
  returned: changed
  sample: true
  type: bool