community.general.a10_server_axapi3 (0.1.1) — module

Manage A10 Networks AX/SoftAX/Thunder/vThunder devices

Authors: Eric Chou (@ericchou1)

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

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Create a new server
- a10_server:
    host: a10.mydomain.com
    username: myadmin
    password: mypassword
    server: test
    server_ip: 1.1.1.100
    validate_certs: false
    server_status: enable
    write_config: yes
    operation: create
    server_ports:
      - port-number: 8080
        protocol: tcp
        action: enable
      - port-number: 8443
        protocol: TCP

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

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

operation:
    choices:
    - create
    - update
    - remove
    default: create
    description:
    - Create, Update or Remove SLB server. For create and update operation, we use the
      IP address and server name specified in the POST message. For delete operation,
      we use the server name in the request URI.

server_ip:
    aliases:
    - ip
    - address
    description:
    - The SLB (Server Load Balancer) server IPv4 address.
    required: true

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

server_name:
    aliases:
    - server
    description:
    - The SLB (Server Load Balancer) server name.
    required: true

server_ports:
    aliases:
    - port
    description:
    - A list of ports to create for the server. Each list item should be a dictionary
      which specifies the C(port:) and C(protocol:).

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

server_status:
    aliases:
    - action
    choices:
    - enable
    - disable
    default: enable
    description:
    - The SLB (Server Load Balancer) virtual server status.

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