Extreme Networks Configuration - Network API

Tunnel Concentrator Service, Network service

OpenAPI Specification

extreme-networks-configuration-network-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: ExtremeCloud IQ Account Configuration - Network API
  description: 'ExtremeCloud IQ™ API allows customers and partners to create solutions for the management, monitoring, and provisioning

    of any ExtremeCloud IQ™ environment.


    All related resources and documentation are available at [ExtremeCloud IQ Developer Portal](https://developer.extremecloudiq.com/).

    Please check [Get Started and Tutorial](https://developer.extremecloudiq.com/documentation/) to understand how to use the APIs.


    Get the [latest OpenAPI definition](https://github.com/extremenetworks/ExtremeCloudIQ-OpenAPI/blob/main/xcloudiq-openapi.yaml)

    from [ExtremeCloud IQ OpenAPI GitHub repository](https://github.com/extremenetworks/ExtremeCloudIQ-OpenAPI).


    Please have a valid [ExtremeCloud IQ](https://extremecloudiq.com/) account before getting started.

    If you don''t have one, please [register a new account](https://www.extremenetworks.com/cloud-networking/).'
  termsOfService: https://www.extremenetworks.com/company/legal/terms-of-use/
  contact:
    name: Extreme Networks Support
    url: https://www.extremenetworks.com/support
    email: support@extremenetworks.com
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  version: 25.9.0-36
servers:
- url: https://api.extremecloudiq.com
  description: ExtremeCloud IQ REST API Server
tags:
- name: Configuration - Network
  description: Tunnel Concentrator Service, Network service
paths:
  /tunnel-concentrators:
    get:
      tags:
      - Configuration - Network
      summary: List Tunnel Concentrator services
      description: Get a page of Tunnel Concentrator services.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_list_the_tunnel_concentrators
      operationId: listTunnelConcentrators
      parameters:
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/limit'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagedXiqTunnelConcentrator'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
    post:
      tags:
      - Configuration - Network
      summary: Create Tunnel Concentrator Service
      description: Create a new Tunnel Concentrator Service.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_create_tunnel_concentrator_configuration
      operationId: createTunnelConcentrator
      requestBody:
        description: The payload to create new Tunnel Concentrator Service
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/XiqTunnelConcentratorRequest'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/XiqTunnelConcentrator'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
  /tunnel-concentrators/{id}:
    get:
      tags:
      - Configuration - Network
      summary: Get a Tunnel Concentrator Service
      description: Get a specific Tunnel Concentrator Service by ID.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_get_tunnel_concentrator_by_id
      operationId: getTunnelConcentrator
      parameters:
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/XiqTunnelConcentrator'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
    put:
      tags:
      - Configuration - Network
      summary: Update a Tunnel Concentrator Service
      description: Update a specific Tunnel Concentrator Service.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_update_tunnel_concentrator_configuration
      operationId: updateTunnelConcentrator
      parameters:
      - $ref: '#/components/parameters/id'
      requestBody:
        description: The payload to update Tunnel Concentrator Service
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/XiqTunnelConcentratorRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/XiqTunnelConcentrator'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
    delete:
      tags:
      - Configuration - Network
      summary: Delete a Tunnel Concentrator Service
      description: Delete a specific Tunnel Concentrator Service by ID.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_delete_tunnel_concentrator_configuration
      operationId: deleteTunnelConcentrator
      parameters:
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: OK
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
  /network-services:
    get:
      tags:
      - Configuration - Network
      summary: List Network Services
      description: List a page of Network Services.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_list_network_services
      operationId: listNetworkServices
      parameters:
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/limit'
      - name: name
        in: query
        description: Network Service name.
        required: false
        schema:
          type: string
      - name: ipProtocol
        in: query
        description: IP Protocol, only for custom Application.
        required: false
        schema:
          $ref: '#/components/schemas/XiqNetworkIpProtocol'
      - name: algType
        in: query
        description: Application Layer Gateway (ALG) type, only for custom Application.
        required: false
        schema:
          $ref: '#/components/schemas/XiqNetworkAlgType'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagedXiqNetworkService'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
    post:
      tags:
      - Configuration - Network
      summary: Create Network Service
      description: Create a new Network Service.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_create_network_service
      operationId: createNetworkService
      requestBody:
        description: The payload to create new Network Service
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/XiqNetworkServiceRequest'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/XiqNetworkService'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
  /network-services/{id}:
    delete:
      tags:
      - Configuration - Network
      summary: Delete a Network Service by ID
      description: Delete a Network Service by ID.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_delete_network_service
      operationId: deleteNetworkService
      parameters:
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: OK
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
components:
  schemas:
    XiqTunnelConcentratorRequest:
      type: object
      required:
      - name
      - redundant
      - primary_tc
      - primary_listening_interface
      - primary_vlan
      - primary_tagged
      - primary_bridging_interface
      - tunnel_address
      - native_vlan
      description: "Tunnel Concentrator Service object. Tunnel Concentrator Service can be configured in two modes:\n  - Single\n  - Redundant\n\nIn single mode one instance of Tunnel Concentrator application terminates tunnels. Tunnel destination is defined by \"tunnel_address\" field. Port, VLAN and bridge interface of the \"tunnel_address\" are identified by fields:\n  - primary_listening_interface\n  - primary_vlan\n  - primary_tagged\n  - primary_bridged_interface\nIn case of single Tunnel Concentrator \"backup_*\" fields are not used.\nIn redundant mode a pair of Tunnel Concentrators applications form VRRP cluster. Each of the paired Tunnel Concentrators gets separate configuration via \"primary_*\" and \"backup_*\" fields. IP address of each Tunnel Concentrator is provided in the \"primary_ip\" and \"backup_ip\" fields. Tunnel IP address, provided in the \"tunnel_address\", is VRRP address. \"router_id\" defines VRRP router ID. Router priority is not configurable and assigned automatically, 100 to primary Tunnel Concentrator, 50 to backup."
      properties:
        name:
          type: string
          description: The Tunnel Concentrator Service name
          minLength: 1
          maxLength: 255
        decription:
          type: string
          description: The Tunnel Concentrator Service decription
          minLength: 0
          maxLength: 1024
        primary_tc:
          type: integer
          description: The Primary Tunnel Concentrator device ID
          format: int64
        backup_tc:
          type: integer
          description: The Backup Tunnel Concentrator device ID
          format: int64
        redundant:
          type: boolean
          description: Indicates if redundant Tunnel Concentrators (primary and backup) are configured
        primary_listening_interface:
          type: integer
          description: Primary Listening Interface ID
          format: int32
          minimum: 1
          maximum: 4
        backup_listening_interface:
          type: integer
          description: Backup Listening Interface ID
          format: int32
          minimum: 1
          maximum: 4
        primary_bridging_interface:
          type: integer
          description: Primary Bridging Interface ID
          format: int32
          minimum: 1
          maximum: 4
        backup_bridging_interface:
          type: integer
          description: Backup Bridging Interface ID
          format: int32
          minimum: 1
          maximum: 4
        primary_vlan:
          type: integer
          description: The VLAN ID for the primary listening interface
          format: int32
          minimum: 1
          maximum: 4094
        backup_vlan:
          type: integer
          description: The VLAN ID for the backup listening interface
          format: int32
          minimum: 1
          maximum: 4094
        primary_tagged:
          type: boolean
          description: Indicates if primary VLAN is tagged.
        backup_tagged:
          type: boolean
          description: Indicates if backup VLAN is tagged.
        primary_ip:
          type: string
          description: The primary IP address of network interface for accepting connections from APs (listening interface).
          format: ipv4
        backup_ip:
          type: string
          description: The backup IP address of network interface for accepting connections from APs (listening interface).
          format: ipv4
        tunnel_address:
          type: string
          pattern: ^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])/([1-9]|[12][0-9]|3[012])$
          description: IP address/CIDR of listening interface.
        router_id:
          type: integer
          description: Virtual Router group ID. Routers with the same VR ID cooperate in election of main router and must have the same VRRP IP address.
          format: int32
          minimum: 1
          maximum: 254
          default: 1
        native_vlan:
          type: integer
          description: Specifies which VLAN ID is transmitted untagged on the bridged interface.
          format: int32
          minimum: 1
          maximum: 4094
        gateway:
          type: string
          description: Default gateway for the listening interface.
          format: ipv4
        blockNonEssentialBroadcast:
          type: boolean
          description: Indicates if Tunnel Concentrator will block non essential broadcast
          default: true
        arpProxy:
          type: boolean
          description: Indicates if arp proxy is enabled
          default: true
        multicastRules:
          type: array
          items:
            $ref: '#/components/schemas/XiqMulticastRule'
          description: List of Multicast rules
    XiqNetworkIpProtocol:
      type: string
      enum:
      - TCP
      - UDP
      - SVP
      - CUSTOM
    XiqNetworkService:
      allOf:
      - $ref: '#/components/schemas/XiqNetwork'
      - type: object
        description: Network Service
        required:
        - service_type
        properties:
          service_type:
            type: string
            description: Service type.
            enum:
            - NETWORK
            - APPLICATION
    PagedXiqTunnelConcentrator:
      allOf:
      - $ref: '#/components/schemas/XiqPage'
      - type: object
        properties:
          data:
            type: array
            description: The data in the current page
            items:
              $ref: '#/components/schemas/XiqTunnelConcentrator'
    XiqNetworkServiceRequest:
      type: object
      description: Network
      properties:
        name:
          type: string
          description: The network service name.
        description:
          type: string
          description: The network service name.
        ip_protocol:
          $ref: '#/components/schemas/XiqNetworkIpProtocol'
          description: The IP protocol.
        protocol_number:
          type: integer
          format: int32
          description: The protocol number.
        port_number:
          type: integer
          format: int32
          description: The port number.
        alg_type:
          $ref: '#/components/schemas/XiqNetworkAlgType'
          description: The Application Layer Gateway (ALG) type.
    XiqErrorParams:
      type: object
      description: Error parameters
      properties:
        field:
          type: string
          description: The error field
        value:
          type: string
          description: The error value
    XiqBaseEntity:
      required:
      - id
      - create_time
      - update_time
      type: object
      properties:
        id:
          type: integer
          description: The unique identifier
          format: int64
        create_time:
          type: string
          description: The create time
          format: date-time
        update_time:
          type: string
          description: The last update time
          format: date-time
    XiqMulticastRule:
      allOf:
      - type: object
        properties:
          ip:
            type: string
            description: IPv4 or IPv6 address with optional CIDR
    XiqError:
      type: object
      properties:
        error_code:
          type: string
          description: The error code
        error_id:
          type: string
          description: The error ID for internal troubleshooting
        error_message:
          type: string
          description: The error detailed message
        error_message_code:
          type: string
          description: The error message code
        error_message_description:
          type: string
          description: The error message description
        error_params:
          $ref: '#/components/schemas/XiqErrorParams'
      required:
      - error_code
      - error_id
      - error_message
    XiqNetworkAlgType:
      type: string
      enum:
      - NONE
      - FTP
      - TFTP
      - SIP
      - DNS
      - HTTP
    XiqNetwork:
      allOf:
      - $ref: '#/components/schemas/XiqViqEntity'
      - $ref: '#/components/schemas/XiqNetworkServiceRequest'
    XiqTunnelConcentrator:
      allOf:
      - $ref: '#/components/schemas/XiqViqEntity'
      - $ref: '#/components/schemas/XiqTunnelConcentratorRequest'
    XiqPage:
      required:
      - count
      - page
      - total_count
      - total_pages
      type: object
      properties:
        page:
          type: integer
          description: The current page number
          format: int32
        count:
          type: integer
          description: The element count of the current page
          format: int32
        total_pages:
          type: integer
          description: The total page number based on request page size
          format: int32
        total_count:
          type: integer
          description: The total element count
          format: int64
    PagedXiqNetworkService:
      allOf:
      - $ref: '#/components/schemas/XiqPage'
      - type: object
        properties:
          data:
            type: array
            description: The data in the current page
            items:
              $ref: '#/components/schemas/XiqNetworkService'
    XiqViqEntity:
      allOf:
      - $ref: '#/components/schemas/XiqBaseEntity'
      - type: object
        properties:
          org_id:
            type: integer
            description: The organization identifier, valid when enabling HIQ feature
            format: int64
        required:
        - org_id
  parameters:
    page:
      name: page
      in: query
      description: Page number, min = 1
      required: false
      schema:
        minimum: 1
        type: integer
        format: int32
        default: 1
    limit:
      name: limit
      in: query
      description: Page Size, min = 1, max = 100
      required: false
      schema:
        maximum: 100
        minimum: 1
        type: integer
        format: int32
        default: 10
    id:
      name: id
      in: path
      description: The unique identifier
      required: true
      schema:
        type: integer
        format: int64
  responses:
    ErrorResponse:
      description: The generic ExtremeCloud IQ API error response
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/XiqError'
  securitySchemes:
    BearerAuth:
      type: http
      description: JSON Web Token (JWT) based authentication
      scheme: bearer
      bearerFormat: JWT
externalDocs:
  description: API Reference
  url: https://extremecloudiq.com/api-docs/api-reference.html