A10 Networks SLB Service Group API

Service groups (pools) that bind real servers to a load-balancing method

OpenAPI Specification

a10-networks-slb-service-group-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: A10 Networks ACOS aXAPI v3 SLB Service Group API
  description: 'The ACOS aXAPI is a RESTful HTTPS interface for configuring and operating A10 Networks Thunder Application Delivery Controllers and DDoS protection devices running ACOS (Application Centric Operating System). The aXAPI v3 surface is exhaustive (the Terraform provider exposes 3,627 resources): this profile captures the authentication flow and the core Server Load Balancing (SLB) configuration surface — virtual servers, real servers, service groups, and health monitors — which are the most commonly automated objects across ACOS deployments. ACOS 4.0.0 through ACOS 7.0.2 are supported.

    '
  version: '3.0'
  contact:
    name: A10 Networks Support
    url: https://www.a10networks.com/support
  license:
    name: A10 Networks End User License Agreement
    url: https://www.a10networks.com/company/legal/end-user-license-agreement/
servers:
- url: https://{thunder-host}
  description: ACOS Thunder Appliance, vThunder VM, or vThunder Container (customer-hosted)
  variables:
    thunder-host:
      default: thunder.example.com
      description: Hostname or IP address of the ACOS device or vThunder instance.
security:
- A10Signature: []
tags:
- name: SLB Service Group
  description: Service groups (pools) that bind real servers to a load-balancing method
paths:
  /axapi/v3/slb/service-group:
    get:
      summary: List Service Groups
      operationId: listServiceGroups
      tags:
      - SLB Service Group
      responses:
        '200':
          description: A list of service groups.
          content:
            application/json:
              schema:
                type: object
                properties:
                  service-group-list:
                    type: array
                    items:
                      $ref: '#/components/schemas/ServiceGroup'
    post:
      summary: Create A Service Group
      operationId: createServiceGroup
      tags:
      - SLB Service Group
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                service-group:
                  $ref: '#/components/schemas/ServiceGroup'
      responses:
        '200':
          description: Service group created.
  /axapi/v3/slb/service-group/{name}:
    parameters:
    - name: name
      in: path
      required: true
      schema:
        type: string
    get:
      summary: Get A Service Group
      operationId: getServiceGroup
      tags:
      - SLB Service Group
      responses:
        '200':
          description: The service group.
          content:
            application/json:
              schema:
                type: object
                properties:
                  service-group:
                    $ref: '#/components/schemas/ServiceGroup'
    put:
      summary: Update A Service Group
      operationId: updateServiceGroup
      tags:
      - SLB Service Group
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                service-group:
                  $ref: '#/components/schemas/ServiceGroup'
      responses:
        '200':
          description: Service group updated.
    delete:
      summary: Delete A Service Group
      operationId: deleteServiceGroup
      tags:
      - SLB Service Group
      responses:
        '200':
          description: Service group deleted.
components:
  schemas:
    ServiceGroup:
      type: object
      required:
      - name
      - protocol
      properties:
        name:
          type: string
        protocol:
          type: string
          enum:
          - tcp
          - udp
        lb-method:
          type: string
          enum:
          - 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-hash
          - src-ip-hash-only
          - dst-ip-hash
          - dst-ip-hash-only
          - per-pkt-round-robin
          - odd-even-hash
        health-check:
          type: string
        member-list:
          type: array
          items:
            type: object
            required:
            - name
            - port
            properties:
              name:
                type: string
                description: Real server name (must already exist).
              port:
                type: integer
              member-state:
                type: string
                enum:
                - enable
                - disable
                - disable-with-health-check
              member-priority:
                type: integer
  securitySchemes:
    A10Signature:
      type: apiKey
      in: header
      name: Authorization
      description: 'Signature returned from POST /axapi/v3/auth, sent as `Authorization: A10 <signature>`.

        '