mirror of
https://github.com/Telecominfraproject/wlan-cloud-owprov.git
synced 2025-10-29 01:32:31 +00:00
343 lines
8.8 KiB
YAML
343 lines
8.8 KiB
YAML
openapi: 3.0.1
|
|
info:
|
|
title: OpenWiFi RADIUS Resource Model
|
|
description: Definitions and APIs to manage RADIUS Resources.
|
|
version: 1.0.0
|
|
license:
|
|
name: BSD3
|
|
url: https://github.com/Telecominfraproject/wlan-cloud-ucentralgw/blob/master/LICENSE
|
|
|
|
servers:
|
|
- url: 'https://localhost:16005/api/v1'
|
|
|
|
security:
|
|
- bearerAuth: []
|
|
- ApiKeyAuth: []
|
|
|
|
components:
|
|
securitySchemes:
|
|
ApiKeyAuth:
|
|
type: apiKey
|
|
in: header
|
|
name: X-API-KEY
|
|
bearerAuth:
|
|
type: http
|
|
scheme: bearer
|
|
bearerFormat: JWT
|
|
|
|
responses:
|
|
NotFound:
|
|
$ref: 'https://github.com/Telecominfraproject/wlan-cloud-ucentralsec/blob/main/openpapi/owsec.yaml#/components/responses/NotFound'
|
|
Unauthorized:
|
|
$ref: 'https://github.com/Telecominfraproject/wlan-cloud-ucentralsec/blob/main/openpapi/owsec.yaml#/components/responses/Unauthorized'
|
|
Success:
|
|
$ref: 'https://github.com/Telecominfraproject/wlan-cloud-ucentralsec/blob/main/openpapi/owsec.yaml#/components/responses/Success'
|
|
BadRequest:
|
|
$ref: 'https://github.com/Telecominfraproject/wlan-cloud-ucentralsec/blob/main/openpapi/owsec.yaml#/components/responses/BadRequest'
|
|
|
|
schemas:
|
|
|
|
RADIUSServer:
|
|
type: object
|
|
properties:
|
|
Hostname:
|
|
type: string
|
|
IP:
|
|
type: string
|
|
Port:
|
|
type: integer
|
|
format: int32
|
|
Secret:
|
|
type: string
|
|
|
|
RADIUSEndPointRadiusType:
|
|
type: object
|
|
properties:
|
|
Authentication:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/RADIUSServer'
|
|
Accounting:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/RADIUSServer'
|
|
CoA:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/RADIUSServer'
|
|
AccountingInterval:
|
|
type: integer
|
|
format: int32
|
|
|
|
RADIUSEndPointRadsecType:
|
|
type: object
|
|
properties:
|
|
Hostname:
|
|
type: string
|
|
IP:
|
|
type: string
|
|
Port:
|
|
type: integer
|
|
Secret:
|
|
type: string
|
|
default: radsec
|
|
UseOpenRoamingAccount:
|
|
type: string
|
|
format: uuid
|
|
Weight:
|
|
type: integer
|
|
format: int32
|
|
Certificate:
|
|
type: string
|
|
PrivateKey:
|
|
type: string
|
|
CaCerts:
|
|
type: array
|
|
items:
|
|
type: string
|
|
AllowSelfSigned:
|
|
type: boolean
|
|
default: false
|
|
|
|
RADIUSEndPoint:
|
|
type: object
|
|
properties:
|
|
allOf:
|
|
$ref: 'https://github.com/Telecominfraproject/wlan-cloud-owprov/blob/main/openpapi/owprov.yaml#/components/schemas/ObjectInfo'
|
|
Type:
|
|
type: string
|
|
enum:
|
|
- generic
|
|
- radsec
|
|
- globalreach
|
|
- orion
|
|
default: radius
|
|
RadsecServers:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/RADIUSEndPointRadsecType'
|
|
RadiusServers:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/RADIUSEndPointRadiusType'
|
|
PoolStrategy:
|
|
type: string
|
|
enum:
|
|
- round_robin
|
|
- weighted
|
|
- random
|
|
default: random
|
|
UseGWProxy:
|
|
type: boolean
|
|
default: true
|
|
Index:
|
|
type: string
|
|
example:
|
|
- 0.0.1.1: a ficticious IP address that should be between 0.0.1.1 and 0.0.2.254
|
|
UsedBy:
|
|
type: array
|
|
description: list of configuration using this endpoint
|
|
items:
|
|
type: string
|
|
format: uuid
|
|
NasIdentifier:
|
|
type: string
|
|
AccountingInterval:
|
|
type: integer
|
|
format: int64
|
|
|
|
RADIUSEndpointUpdateStatus:
|
|
type: object
|
|
properties:
|
|
lastUpdate:
|
|
type: integer
|
|
format: int64
|
|
lastConfigurationChange:
|
|
type: integer
|
|
format: int64
|
|
|
|
|
|
|
|
paths:
|
|
/RADIUSEndPoints:
|
|
get:
|
|
tags:
|
|
- RADIUS Endpoints
|
|
operationId: getRADIUSEndPoints
|
|
summary: Retrieve the lists of RADIUSendPoints
|
|
parameters:
|
|
- in: query
|
|
description: Pagination start (starts at 1. If not specified, 1 is assumed)
|
|
name: offset
|
|
schema:
|
|
type: integer
|
|
required: false
|
|
- in: query
|
|
description: Maximum number of entries to return (if absent, no limit is assumed)
|
|
name: limit
|
|
schema:
|
|
type: integer
|
|
required: false
|
|
- in: query
|
|
description: return the number of certificates
|
|
name: countOnly
|
|
schema:
|
|
type: boolean
|
|
required: false
|
|
- in: query
|
|
description: return the last update time
|
|
name: currentStatus
|
|
schema:
|
|
type: boolean
|
|
required: false
|
|
responses:
|
|
200:
|
|
description: The list of endpoints
|
|
content:
|
|
application/json:
|
|
schema:
|
|
oneOf:
|
|
- type: array
|
|
items:
|
|
$ref: '#/components/schemas/RADIUSEndPoint'
|
|
- $ref: '#/components/schemas/RADIUSEndpointUpdateStatus'
|
|
400:
|
|
$ref: '#/components/responses/BadRequest'
|
|
403:
|
|
$ref: '#/components/responses/Unauthorized'
|
|
404:
|
|
$ref: '#/components/responses/NotFound'
|
|
|
|
put:
|
|
tags:
|
|
- RADIUS Endpoints
|
|
operationId: updateRADIUSEndpoints
|
|
summary: Force an Update to teh RADIUSendPoints in the controller
|
|
parameters:
|
|
- in: query
|
|
name: updateEndpoints
|
|
schema:
|
|
type: boolean
|
|
required: false
|
|
responses:
|
|
200:
|
|
description: The list of endpoints
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
Error:
|
|
type: string
|
|
ErrorNum:
|
|
type: integer
|
|
400:
|
|
$ref: '#/components/responses/BadRequest'
|
|
403:
|
|
$ref: '#/components/responses/Unauthorized'
|
|
404:
|
|
$ref: '#/components/responses/NotFound'
|
|
|
|
/RADIUSEndPoint/{id}:
|
|
get:
|
|
tags:
|
|
- RADIUS Endpoints
|
|
operationId: getRADIUSEndPoint
|
|
summary: Retrieve a RADIUSendPoint
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
required: true
|
|
responses:
|
|
200:
|
|
description: The endpoint
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/RADIUSEndPoint'
|
|
400:
|
|
$ref: '#/components/responses/BadRequest'
|
|
403:
|
|
$ref: '#/components/responses/Unauthorized'
|
|
404:
|
|
$ref: '#/components/responses/NotFound'
|
|
|
|
delete:
|
|
tags:
|
|
- RADIUS Endpoints
|
|
operationId: deleteRADIUSEndPoint
|
|
summary: Delete a RADIUSendPoint
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
required: true
|
|
responses:
|
|
200:
|
|
$ref: '#/components/responses/Success'
|
|
400:
|
|
$ref: '#/components/responses/BadRequest'
|
|
403:
|
|
$ref: '#/components/responses/Unauthorized'
|
|
404:
|
|
$ref: '#/components/responses/NotFound'
|
|
|
|
post:
|
|
tags:
|
|
- RADIUS Endpoints
|
|
operationId: createRADIUSEndPoint
|
|
summary: Create a RADIUSendPoint
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
required: true
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/RADIUSEndPoint'
|
|
responses:
|
|
200:
|
|
$ref: '#/components/schemas/RADIUSEndPoint'
|
|
400:
|
|
$ref: '#/components/responses/BadRequest'
|
|
403:
|
|
$ref: '#/components/responses/Unauthorized'
|
|
404:
|
|
$ref: '#/components/responses/NotFound'
|
|
|
|
put:
|
|
tags:
|
|
- RADIUS Endpoints
|
|
operationId: modifyRADIUSEndPoint
|
|
summary: Modify a RADIUSendPoint
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
required: true
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/RADIUSEndPoint'
|
|
responses:
|
|
200:
|
|
$ref: '#/components/schemas/RADIUSEndPoint'
|
|
400:
|
|
$ref: '#/components/responses/BadRequest'
|
|
403:
|
|
$ref: '#/components/responses/Unauthorized'
|
|
404:
|
|
$ref: '#/components/responses/NotFound'
|