community.general.a10_virtual_server (0.1.1) — module

Manage A10 Networks AX/SoftAX/Thunder/vThunder devices' virtual servers.

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) virtual server objects on A10 Networks devices via aXAPIv2.

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Create a new virtual server
- a10_virtual_server:
    host: a10.mydomain.com
    username: myadmin
    password: mypassword
    partition: mypartition
    virtual_server: vserver1
    virtual_server_ip: 1.1.1.1
    virtual_server_ports:
      - port: 80
        protocol: TCP
        service_group: sg-80-tcp
      - port: 443
        protocol: HTTPS
        service_group: sg-443-https
      - port: 8080
        protocol: http
        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 virtual server should exist.

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

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

virtual_server:
    aliases:
    - vip
    - virtual
    description:
    - The SLB (Server Load Balancing) virtual server name.
    required: true

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

virtual_server_ip:
    aliases:
    - ip
    - address
    description:
    - The SLB virtual server IPv4 address.

virtual_server_ports:
    description:
    - A list of ports to create for the virtual server. Each list item should be a dictionary
      which specifies the C(port:) and C(type:), but can also optionally specify the C(service_group:)
      as well as the C(status:). See the examples below for details. This parameter is
      required when C(state) is C(present).

virtual_server_status:
    aliases:
    - status
    choices:
    - enabled
    - disabled
    default: enable
    description:
    - The SLB virtual server status, such as enabled or disabled.

Outputs

content:
  description: the full info regarding the slb_virtual
  returned: success
  sample: mynewvirtualserver
  type: str