community.general.a10_service_group (0.1.1) — module

Manage A10 Networks AX/SoftAX/Thunder/vThunder devices' service groups.

Authors: Eric Chou (@ericchou1), Mischa Peters (@mischapeters)

preview | supported by community

Install collection

Install with ansible-galaxy collection install community.general:==0.1.1


Add to requirements.yml

  collections:
    - name: community.general
      version: 0.1.1

Description

Manage SLB (Server Load Balancing) service-group objects on A10 Networks devices via aXAPIv2.

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Create a new service-group
- a10_service_group:
    host: a10.mydomain.com
    username: myadmin
    password: mypassword
    partition: mypartition
    service_group: sg-80-tcp
    servers:
      - server: foo1.mydomain.com
        port: 8080
      - server: foo2.mydomain.com
        port: 8080
      - server: foo3.mydomain.com
        port: 8080
      - server: foo4.mydomain.com
        port: 8080
        status: disabled

Inputs

    
url:
    description:
    - HTTP, HTTPS, or FTP URL in the form (http|https|ftp)://[user[:pass]]@host.domain[:port]/path
    type: str

host:
    description:
    - Hostname or IP of the A10 Networks device.
    required: true
    type: str

force:
    default: false
    description:
    - If V(yes) do not get a cached copy.
    type: bool

state:
    choices:
    - present
    - absent
    default: present
    description:
    - If the specified service group should exists.

servers:
    aliases:
    - server
    - member
    description:
    - A list of servers to add to the service group. Each list item should be a dictionary
      which specifies the C(server:) and C(port:), but can also optionally specify the
      C(status:). See the examples below for details.

password:
    aliases:
    - pass
    - pwd
    description:
    - Password for the C(username) account.
    required: true
    type: str

username:
    aliases:
    - admin
    - user
    description:
    - An account with administrator privileges.
    required: true
    type: str

partition:
    description:
    - set active-partition

use_proxy:
    default: true
    description:
    - If V(no), it will not use a proxy, even if one is defined in an environment variable
      on the target hosts.
    type: bool

client_key:
    description:
    - PEM formatted file that contains your private key to be used for SSL client authentication.
    - If O(client_cert) contains both the certificate and key, this option is not required.
    type: path

http_agent:
    default: ansible-httpget
    description:
    - Header to identify as, generally appears in web server logs.
    type: str

use_gssapi:
    default: false
    description:
    - Use GSSAPI to perform the authentication, typically this is for Kerberos or Kerberos
      through Negotiate authentication.
    - Requires the Python library L(gssapi,https://github.com/pythongssapi/python-gssapi)
      to be installed.
    - Credentials for GSSAPI can be specified with O(url_username)/O(url_password) or
      with the GSSAPI env var C(KRB5CCNAME) that specified a custom Kerberos credential
      cache.
    - NTLM authentication is B(not) supported even if the GSSAPI mech for NTLM has been
      installed.
    type: bool
    version_added: '2.11'
    version_added_collection: ansible.builtin

client_cert:
    description:
    - PEM formatted certificate chain file to be used for SSL client authentication.
    - This file can also include the key as well, and if the key is included, O(client_key)
      is not required.
    type: path

url_password:
    description:
    - The password for use in HTTP basic authentication.
    - If the O(url_username) parameter is not specified, the O(url_password) parameter
      will not be used.
    type: str

url_username:
    description:
    - The username for use in HTTP basic authentication.
    - This parameter can be used without O(url_password) for sites that allow empty passwords
    type: str

write_config:
    default: false
    description:
    - If C(yes), any changes will cause a write of the running configuration to non-volatile
      memory. This will save I(all) configuration changes, including those that may have
      been made manually or through other modules, so care should be taken when specifying
      C(yes).
    type: bool

service_group:
    aliases:
    - service
    - pool
    - group
    description:
    - The SLB (Server Load Balancing) service-group name
    required: true

validate_certs:
    default: 'yes'
    description:
    - If C(no), SSL certificates will not be validated. This should only be used on personally
      controlled devices using self-signed certificates.
    type: bool

force_basic_auth:
    default: false
    description:
    - Credentials specified with O(url_username) and O(url_password) should be passed
      in HTTP Header.
    type: bool

service_group_method:
    aliases:
    - method
    choices:
    - round-robin
    - weighted-rr
    - least-connection
    - weighted-least-connection
    - service-least-connection
    - service-weighted-least-connection
    - fastest-response
    - least-request
    - round-robin-strict
    - src-ip-only-hash
    - src-ip-hash
    default: round-robin
    description:
    - The SLB service-group load balancing method, such as round-robin or weighted-rr.

service_group_protocol:
    aliases:
    - proto
    - protocol
    choices:
    - tcp
    - udp
    default: tcp
    description:
    - The SLB service-group protocol of TCP or UDP.

Outputs

content:
  description: the full info regarding the slb_service_group
  returned: success
  sample: mynewservicegroup
  type: str