mirror of
https://github.com/openziti/ziti.git
synced 2026-10-12 07:18:36 +00:00
1992 lines
52 KiB
YAML
1992 lines
52 KiB
YAML
---
|
|
swagger: '2.0'
|
|
info:
|
|
version: 0.16.54
|
|
title: Ziti Fabric
|
|
description: OpenZiti Fabric API
|
|
contact:
|
|
name: OpenZiti
|
|
url: https://openziti.discourse.group
|
|
email: help@openziti.org
|
|
license:
|
|
name: Apache 2.0
|
|
url: http://www.apache.org/licenses/LICENSE-2.0.html
|
|
host: demo.ziti.dev
|
|
basePath: /fabric/v1
|
|
schemes:
|
|
- https
|
|
consumes:
|
|
- application/json
|
|
produces:
|
|
- application/json
|
|
|
|
#######################################################################################################################
|
|
#
|
|
# Paths - Endpoints and their associated HTTP methods
|
|
#
|
|
#######################################################################################################################
|
|
paths:
|
|
###################################################################
|
|
# Services
|
|
##################################################################
|
|
'/services':
|
|
get:
|
|
summary: List services
|
|
description: |
|
|
Retrieves a list of service resources; supports filtering, sorting, and pagination. Requires admin access.
|
|
tags:
|
|
- Service
|
|
operationId: listServices
|
|
parameters:
|
|
- $ref: '#/parameters/limit'
|
|
- $ref: '#/parameters/offset'
|
|
- $ref: '#/parameters/filter'
|
|
responses:
|
|
'200':
|
|
$ref: '#/responses/listServices'
|
|
'401':
|
|
$ref: '#/responses/unauthorizedResponse'
|
|
'429':
|
|
$ref: '#/responses/rateLimitedResponse'
|
|
|
|
post:
|
|
summary: Create a service resource
|
|
description: Create a service resource. Requires admin access.
|
|
tags:
|
|
- Service
|
|
operationId: createService
|
|
parameters:
|
|
- name: service
|
|
in: body
|
|
required: true
|
|
description: A service to create
|
|
schema:
|
|
$ref: '#/definitions/serviceCreate'
|
|
responses:
|
|
'201':
|
|
$ref: '#/responses/createResponse'
|
|
'400':
|
|
$ref: '#/responses/badRequestResponse'
|
|
'401':
|
|
$ref: '#/responses/unauthorizedResponse'
|
|
'429':
|
|
$ref: '#/responses/rateLimitedResponse'
|
|
|
|
'/services/{id}':
|
|
parameters:
|
|
- $ref: '#/parameters/id'
|
|
get:
|
|
summary: Retrieves a single service
|
|
description: Retrieves a single service by id. Requires admin access.
|
|
tags:
|
|
- Service
|
|
operationId: detailService
|
|
responses:
|
|
'200':
|
|
$ref: '#/responses/detailService'
|
|
'404':
|
|
$ref: '#/responses/notFoundResponse'
|
|
'401':
|
|
$ref: '#/responses/unauthorizedResponse'
|
|
'429':
|
|
$ref: '#/responses/rateLimitedResponse'
|
|
|
|
put:
|
|
summary: Update all fields on a service
|
|
description: Update all fields on a service by id. Requires admin access.
|
|
tags:
|
|
- Service
|
|
operationId: updateService
|
|
parameters:
|
|
- name: service
|
|
in: body
|
|
required: true
|
|
description: A service update object
|
|
schema:
|
|
$ref: '#/definitions/serviceUpdate'
|
|
responses:
|
|
'200':
|
|
$ref: '#/responses/updateResponse'
|
|
'400':
|
|
$ref: '#/responses/badRequestResponse'
|
|
'404':
|
|
$ref: '#/responses/notFoundResponse'
|
|
'401':
|
|
$ref: '#/responses/unauthorizedResponse'
|
|
'429':
|
|
$ref: '#/responses/rateLimitedResponse'
|
|
|
|
patch:
|
|
summary: Update the supplied fields on a service
|
|
description: Update the supplied fields on a service. Requires admin access.
|
|
tags:
|
|
- Service
|
|
operationId: patchService
|
|
parameters:
|
|
- name: service
|
|
in: body
|
|
required: true
|
|
description: A service patch object
|
|
schema:
|
|
$ref: '#/definitions/servicePatch'
|
|
responses:
|
|
'200':
|
|
$ref: '#/responses/patchResponse'
|
|
'400':
|
|
$ref: '#/responses/badRequestResponse'
|
|
'404':
|
|
$ref: '#/responses/notFoundResponse'
|
|
'401':
|
|
$ref: '#/responses/unauthorizedResponse'
|
|
'429':
|
|
$ref: '#/responses/rateLimitedResponse'
|
|
|
|
delete:
|
|
summary: Delete a service
|
|
description: Delete a service by id. Requires admin access.
|
|
tags:
|
|
- Service
|
|
operationId: deleteService
|
|
responses:
|
|
'200':
|
|
$ref: '#/responses/deleteResponse'
|
|
'400':
|
|
$ref: '#/responses/badRequestResponse'
|
|
'401':
|
|
$ref: '#/responses/unauthorizedResponse'
|
|
'409':
|
|
$ref: '#/responses/cannotDeleteReferencedResourceResponse'
|
|
'429':
|
|
$ref: '#/responses/rateLimitedResponse'
|
|
|
|
'/services/{id}/terminators':
|
|
parameters:
|
|
- $ref: '#/parameters/id'
|
|
get:
|
|
summary: List of terminators assigned to a service
|
|
description: |
|
|
Retrieves a list of terminator resources that are assigned specific service; supports filtering, sorting, and pagination.
|
|
tags:
|
|
- Service
|
|
operationId: listServiceTerminators
|
|
parameters:
|
|
- $ref: '#/parameters/limit'
|
|
- $ref: '#/parameters/offset'
|
|
- $ref: '#/parameters/filter'
|
|
responses:
|
|
'200':
|
|
$ref: '#/responses/listTerminators'
|
|
'401':
|
|
$ref: '#/responses/unauthorizedResponse'
|
|
'400':
|
|
$ref: '#/responses/badRequestResponse'
|
|
'429':
|
|
$ref: '#/responses/rateLimitedResponse'
|
|
|
|
###################################################################
|
|
# Routers
|
|
##################################################################
|
|
'/routers':
|
|
get:
|
|
summary: List routers
|
|
description: |
|
|
Retrieves a list of router resources; supports filtering, sorting, and pagination. Requires admin access.
|
|
tags:
|
|
- Router
|
|
operationId: listRouters
|
|
parameters:
|
|
- $ref: '#/parameters/limit'
|
|
- $ref: '#/parameters/offset'
|
|
- $ref: '#/parameters/filter'
|
|
responses:
|
|
'200':
|
|
$ref: '#/responses/listRouters'
|
|
'401':
|
|
$ref: '#/responses/unauthorizedResponse'
|
|
'429':
|
|
$ref: '#/responses/rateLimitedResponse'
|
|
|
|
post:
|
|
summary: Create a router resource
|
|
description: Create a router resource. Requires admin access.
|
|
tags:
|
|
- Router
|
|
operationId: createRouter
|
|
parameters:
|
|
- name: router
|
|
in: body
|
|
required: true
|
|
description: A router to create
|
|
schema:
|
|
$ref: '#/definitions/routerCreate'
|
|
responses:
|
|
'201':
|
|
$ref: '#/responses/createResponse'
|
|
'400':
|
|
$ref: '#/responses/badRequestResponse'
|
|
'401':
|
|
$ref: '#/responses/unauthorizedResponse'
|
|
'429':
|
|
$ref: '#/responses/rateLimitedResponse'
|
|
|
|
'/routers/{id}':
|
|
parameters:
|
|
- $ref: '#/parameters/id'
|
|
get:
|
|
summary: Retrieves a single router
|
|
description: Retrieves a single router by id. Requires admin access.
|
|
tags:
|
|
- Router
|
|
operationId: detailRouter
|
|
responses:
|
|
'200':
|
|
$ref: '#/responses/detailRouter'
|
|
'404':
|
|
$ref: '#/responses/notFoundResponse'
|
|
'401':
|
|
$ref: '#/responses/unauthorizedResponse'
|
|
'429':
|
|
$ref: '#/responses/rateLimitedResponse'
|
|
|
|
put:
|
|
summary: Update all fields on a router
|
|
description: Update all fields on a router by id. Requires admin access.
|
|
tags:
|
|
- Router
|
|
operationId: updateRouter
|
|
parameters:
|
|
- name: router
|
|
in: body
|
|
required: true
|
|
description: A router update object
|
|
schema:
|
|
$ref: '#/definitions/routerUpdate'
|
|
responses:
|
|
'200':
|
|
$ref: '#/responses/updateResponse'
|
|
'400':
|
|
$ref: '#/responses/badRequestResponse'
|
|
'404':
|
|
$ref: '#/responses/notFoundResponse'
|
|
'401':
|
|
$ref: '#/responses/unauthorizedResponse'
|
|
'429':
|
|
$ref: '#/responses/rateLimitedResponse'
|
|
|
|
patch:
|
|
summary: Update the supplied fields on a router
|
|
description: Update the supplied fields on a router. Requires admin access.
|
|
tags:
|
|
- Router
|
|
operationId: patchRouter
|
|
parameters:
|
|
- name: router
|
|
in: body
|
|
required: true
|
|
description: A router patch object
|
|
schema:
|
|
$ref: '#/definitions/routerPatch'
|
|
responses:
|
|
'200':
|
|
$ref: '#/responses/patchResponse'
|
|
'400':
|
|
$ref: '#/responses/badRequestResponse'
|
|
'404':
|
|
$ref: '#/responses/notFoundResponse'
|
|
'401':
|
|
$ref: '#/responses/unauthorizedResponse'
|
|
'429':
|
|
$ref: '#/responses/rateLimitedResponse'
|
|
|
|
delete:
|
|
summary: Delete a router
|
|
description: Delete a router by id. Requires admin access.
|
|
tags:
|
|
- Router
|
|
operationId: deleteRouter
|
|
responses:
|
|
'200':
|
|
$ref: '#/responses/deleteResponse'
|
|
'400':
|
|
$ref: '#/responses/badRequestResponse'
|
|
'401':
|
|
$ref: '#/responses/unauthorizedResponse'
|
|
'409':
|
|
$ref: '#/responses/cannotDeleteReferencedResourceResponse'
|
|
'429':
|
|
$ref: '#/responses/rateLimitedResponse'
|
|
|
|
'/routers/{id}/terminators':
|
|
parameters:
|
|
- $ref: '#/parameters/id'
|
|
get:
|
|
summary: List of terminators assigned to a router
|
|
description: |
|
|
Retrieves a list of terminator resources that are assigned specific router; supports filtering, sorting, and pagination.
|
|
tags:
|
|
- Router
|
|
operationId: listRouterTerminators
|
|
parameters:
|
|
- $ref: '#/parameters/limit'
|
|
- $ref: '#/parameters/offset'
|
|
- $ref: '#/parameters/filter'
|
|
responses:
|
|
'200':
|
|
$ref: '#/responses/listTerminators'
|
|
'401':
|
|
$ref: '#/responses/unauthorizedResponse'
|
|
'400':
|
|
$ref: '#/responses/badRequestResponse'
|
|
'429':
|
|
$ref: '#/responses/rateLimitedResponse'
|
|
|
|
###################################################################
|
|
# Terminators
|
|
##################################################################
|
|
'/terminators':
|
|
get:
|
|
summary: List terminators
|
|
description: |
|
|
Retrieves a list of terminator resources; supports filtering, sorting, and pagination. Requires admin access.
|
|
tags:
|
|
- Terminator
|
|
operationId: listTerminators
|
|
parameters:
|
|
- $ref: '#/parameters/limit'
|
|
- $ref: '#/parameters/offset'
|
|
- $ref: '#/parameters/filter'
|
|
responses:
|
|
'200':
|
|
$ref: '#/responses/listTerminators'
|
|
'401':
|
|
$ref: '#/responses/unauthorizedResponse'
|
|
'400':
|
|
$ref: '#/responses/badRequestResponse'
|
|
'429':
|
|
$ref: '#/responses/rateLimitedResponse'
|
|
|
|
post:
|
|
summary: Create a terminator resource
|
|
description: Create a terminator resource. Requires admin access.
|
|
tags:
|
|
- Terminator
|
|
operationId: createTerminator
|
|
parameters:
|
|
- name: terminator
|
|
in: body
|
|
required: true
|
|
description: A terminator to create
|
|
schema:
|
|
$ref: '#/definitions/terminatorCreate'
|
|
responses:
|
|
'201':
|
|
$ref: '#/responses/createResponse'
|
|
'400':
|
|
$ref: '#/responses/badRequestResponse'
|
|
'401':
|
|
$ref: '#/responses/unauthorizedResponse'
|
|
'429':
|
|
$ref: '#/responses/rateLimitedResponse'
|
|
|
|
'/terminators/{id}':
|
|
parameters:
|
|
- $ref: '#/parameters/id'
|
|
get:
|
|
summary: Retrieves a single terminator
|
|
description: Retrieves a single terminator by id. Requires admin access.
|
|
tags:
|
|
- Terminator
|
|
operationId: detailTerminator
|
|
responses:
|
|
'200':
|
|
$ref: '#/responses/detailTerminator'
|
|
'404':
|
|
$ref: '#/responses/notFoundResponse'
|
|
'401':
|
|
$ref: '#/responses/unauthorizedResponse'
|
|
'429':
|
|
$ref: '#/responses/rateLimitedResponse'
|
|
|
|
put:
|
|
summary: Update all fields on a terminator
|
|
description: Update all fields on a terminator by id. Requires admin access.
|
|
tags:
|
|
- Terminator
|
|
operationId: updateTerminator
|
|
parameters:
|
|
- name: terminator
|
|
in: body
|
|
required: true
|
|
description: A terminator update object
|
|
schema:
|
|
$ref: '#/definitions/terminatorUpdate'
|
|
responses:
|
|
'200':
|
|
$ref: '#/responses/updateResponse'
|
|
'400':
|
|
$ref: '#/responses/badRequestResponse'
|
|
'404':
|
|
$ref: '#/responses/notFoundResponse'
|
|
'401':
|
|
$ref: '#/responses/unauthorizedResponse'
|
|
'429':
|
|
$ref: '#/responses/rateLimitedResponse'
|
|
|
|
patch:
|
|
summary: Update the supplied fields on a terminator
|
|
description: Update the supplied fields on a terminator. Requires admin access.
|
|
tags:
|
|
- Terminator
|
|
operationId: patchTerminator
|
|
parameters:
|
|
- name: terminator
|
|
in: body
|
|
required: true
|
|
description: A terminator patch object
|
|
schema:
|
|
$ref: '#/definitions/terminatorPatch'
|
|
responses:
|
|
'200':
|
|
$ref: '#/responses/patchResponse'
|
|
'400':
|
|
$ref: '#/responses/badRequestResponse'
|
|
'404':
|
|
$ref: '#/responses/notFoundResponse'
|
|
'401':
|
|
$ref: '#/responses/unauthorizedResponse'
|
|
'429':
|
|
$ref: '#/responses/rateLimitedResponse'
|
|
|
|
delete:
|
|
summary: Delete a terminator
|
|
description: Delete a terminator by id. Requires admin access.
|
|
tags:
|
|
- Terminator
|
|
operationId: deleteTerminator
|
|
responses:
|
|
'200':
|
|
$ref: '#/responses/deleteResponse'
|
|
'400':
|
|
$ref: '#/responses/badRequestResponse'
|
|
'401':
|
|
$ref: '#/responses/unauthorizedResponse'
|
|
'409':
|
|
$ref: '#/responses/cannotDeleteReferencedResourceResponse'
|
|
'429':
|
|
$ref: '#/responses/rateLimitedResponse'
|
|
|
|
###################################################################
|
|
# Links
|
|
##################################################################
|
|
'/links':
|
|
get:
|
|
summary: List links
|
|
description: |
|
|
Retrieves a list of link resources; does not supports filtering, sorting, or pagination. Requires admin access.
|
|
tags:
|
|
- Link
|
|
operationId: listLinks
|
|
parameters:
|
|
- $ref: '#/parameters/limit'
|
|
- $ref: '#/parameters/offset'
|
|
- $ref: '#/parameters/filter'
|
|
responses:
|
|
'200':
|
|
$ref: '#/responses/listLinks'
|
|
'401':
|
|
$ref: '#/responses/unauthorizedResponse'
|
|
'429':
|
|
$ref: '#/responses/rateLimitedResponse'
|
|
|
|
'/links/{id}':
|
|
parameters:
|
|
- $ref: '#/parameters/id'
|
|
get:
|
|
summary: Retrieves a single link
|
|
description: Retrieves a single link by id. Requires admin access.
|
|
tags:
|
|
- Link
|
|
operationId: detailLink
|
|
responses:
|
|
'200':
|
|
$ref: '#/responses/detailLink'
|
|
'404':
|
|
$ref: '#/responses/notFoundResponse'
|
|
'401':
|
|
$ref: '#/responses/unauthorizedResponse'
|
|
'429':
|
|
$ref: '#/responses/rateLimitedResponse'
|
|
|
|
patch:
|
|
summary: Update the supplied fields on a link
|
|
description: Update the supplied fields on a link. Requires admin access.
|
|
tags:
|
|
- Link
|
|
operationId: patchLink
|
|
parameters:
|
|
- name: link
|
|
in: body
|
|
required: true
|
|
description: A link patch object
|
|
schema:
|
|
$ref: '#/definitions/linkPatch'
|
|
responses:
|
|
'200':
|
|
$ref: '#/responses/patchResponse'
|
|
'400':
|
|
$ref: '#/responses/badRequestResponse'
|
|
'404':
|
|
$ref: '#/responses/notFoundResponse'
|
|
'401':
|
|
$ref: '#/responses/unauthorizedResponse'
|
|
'429':
|
|
$ref: '#/responses/rateLimitedResponse'
|
|
|
|
delete:
|
|
summary: Delete a link
|
|
description: Delete a link by id. Requires admin access.
|
|
tags:
|
|
- Link
|
|
operationId: deleteLink
|
|
responses:
|
|
'200':
|
|
$ref: '#/responses/deleteResponse'
|
|
'400':
|
|
$ref: '#/responses/badRequestResponse'
|
|
'401':
|
|
$ref: '#/responses/unauthorizedResponse'
|
|
'429':
|
|
$ref: '#/responses/rateLimitedResponse'
|
|
|
|
###################################################################
|
|
# Circuits
|
|
##################################################################
|
|
'/circuits':
|
|
get:
|
|
summary: List circuits
|
|
description: |
|
|
Retrieves a list of circuit resources; does not supports filtering, sorting, or pagination. Requires admin access.
|
|
tags:
|
|
- Circuit
|
|
operationId: listCircuits
|
|
parameters:
|
|
- $ref: '#/parameters/limit'
|
|
- $ref: '#/parameters/offset'
|
|
- $ref: '#/parameters/filter'
|
|
responses:
|
|
'200':
|
|
$ref: '#/responses/listCircuits'
|
|
'401':
|
|
$ref: '#/responses/unauthorizedResponse'
|
|
'429':
|
|
$ref: '#/responses/rateLimitedResponse'
|
|
|
|
'/circuits/{id}':
|
|
parameters:
|
|
- $ref: '#/parameters/id'
|
|
get:
|
|
summary: Retrieves a single circuit
|
|
description: Retrieves a single circuit by id. Requires admin access.
|
|
tags:
|
|
- Circuit
|
|
operationId: detailCircuit
|
|
responses:
|
|
'200':
|
|
$ref: '#/responses/detailCircuit'
|
|
'404':
|
|
$ref: '#/responses/notFoundResponse'
|
|
'401':
|
|
$ref: '#/responses/unauthorizedResponse'
|
|
'429':
|
|
$ref: '#/responses/rateLimitedResponse'
|
|
|
|
delete:
|
|
summary: Delete a circuit
|
|
description: Delete a circuit by id. Requires admin access.
|
|
tags:
|
|
- Circuit
|
|
operationId: deleteCircuit
|
|
parameters:
|
|
- name: options
|
|
in: body
|
|
required: false
|
|
description: A circuit delete object
|
|
schema:
|
|
$ref: '#/definitions/circuitDelete'
|
|
responses:
|
|
'200':
|
|
$ref: '#/responses/deleteResponse'
|
|
'400':
|
|
$ref: '#/responses/badRequestResponse'
|
|
'401':
|
|
$ref: '#/responses/unauthorizedResponse'
|
|
'409':
|
|
$ref: '#/responses/cannotDeleteReferencedResourceResponse'
|
|
'429':
|
|
$ref: '#/responses/rateLimitedResponse'
|
|
|
|
###################################################################
|
|
# Inspections
|
|
###################################################################
|
|
'/inspections':
|
|
post:
|
|
summary: Inspect system values
|
|
description: |
|
|
Requests system information, such as stack dumps or information about capabilities. Requires admin access.
|
|
tags:
|
|
- Inspect
|
|
operationId: inspect
|
|
parameters:
|
|
- name: request
|
|
in: body
|
|
required: true
|
|
description: An inspect request
|
|
schema:
|
|
$ref: '#/definitions/inspectRequest'
|
|
responses:
|
|
'200':
|
|
$ref: '#/responses/inspectResponse'
|
|
'401':
|
|
$ref: '#/responses/unauthorizedResponse'
|
|
'429':
|
|
$ref: '#/responses/rateLimitedResponse'
|
|
|
|
###################################################################
|
|
# Database
|
|
###################################################################
|
|
'/database':
|
|
post:
|
|
summary: Create a new database snapshot
|
|
description: Create a new database snapshot. Requires admin access.
|
|
security:
|
|
- ztSession: [ ]
|
|
tags:
|
|
- Database
|
|
operationId: createDatabaseSnapshot
|
|
responses:
|
|
'200':
|
|
$ref: '#/responses/emptyResponse'
|
|
'401':
|
|
$ref: '#/responses/unauthorizedResponse'
|
|
'429':
|
|
$ref: '#/responses/rateLimitedResponse'
|
|
'/database/snapshot':
|
|
post:
|
|
summary: Create a new database snapshot with path
|
|
description: Create a new database snapshot with path. Requires admin access.
|
|
tags:
|
|
- Database
|
|
operationId: createDatabaseSnapshotWithPath
|
|
parameters:
|
|
- name: snapshot
|
|
in: body
|
|
required: true
|
|
description: snapshot parameters
|
|
schema:
|
|
$ref: '#/definitions/databaseSnapshotCreate'
|
|
responses:
|
|
'200':
|
|
$ref: '#/responses/databaseSnapshotCreateResult'
|
|
'401':
|
|
$ref: '#/responses/unauthorizedResponse'
|
|
'429':
|
|
$ref: '#/responses/rateLimitedResponse'
|
|
'/database/check-data-integrity':
|
|
post:
|
|
summary: Starts a data integrity scan on the datastore
|
|
description: Starts a data integrity scan on the datastore. Requires admin access. Only once instance may run at a time, including runs of fixDataIntegrity.
|
|
security:
|
|
- ztSession: [ ]
|
|
tags:
|
|
- Database
|
|
operationId: checkDataIntegrity
|
|
responses:
|
|
'202':
|
|
$ref: '#/responses/emptyResponse'
|
|
'401':
|
|
$ref: '#/responses/unauthorizedResponse'
|
|
'429':
|
|
$ref: '#/responses/rateLimitedResponse'
|
|
'/database/fix-data-integrity':
|
|
post:
|
|
summary: Runs a data integrity scan on the datastore, attempts to fix any issues it can and returns any found issues
|
|
description: Runs a data integrity scan on the datastore, attempts to fix any issues it can, and returns any found issues. Requires admin access. Only once instance may run at a time, including runs of checkDataIntegrity.
|
|
security:
|
|
- ztSession: [ ]
|
|
tags:
|
|
- Database
|
|
operationId: fixDataIntegrity
|
|
responses:
|
|
'202':
|
|
$ref: '#/responses/emptyResponse'
|
|
'429':
|
|
$ref: '#/responses/rateLimitedResponse'
|
|
'401':
|
|
$ref: '#/responses/unauthorizedResponse'
|
|
'/database/data-integrity-results':
|
|
get:
|
|
summary: Returns any results found from in-progress integrity checks
|
|
description: Returns any results found from in-progress integrity checks. Requires admin access.
|
|
security:
|
|
- ztSession: [ ]
|
|
tags:
|
|
- Database
|
|
operationId: dataIntegrityResults
|
|
responses:
|
|
'200':
|
|
$ref: '#/responses/dataIntegrityCheckResult'
|
|
'401':
|
|
$ref: '#/responses/unauthorizedResponse'
|
|
'429':
|
|
$ref: '#/responses/rateLimitedResponse'
|
|
|
|
###################################################################
|
|
# Raft
|
|
##################################################################
|
|
'/raft/list-members':
|
|
get:
|
|
summary: Returns all members of a cluster and their current status
|
|
description: Returns all members of a cluster and their current status
|
|
tags:
|
|
- Raft
|
|
operationId: raftListMembers
|
|
responses:
|
|
'200':
|
|
$ref: '#/responses/raftListMembersResponse'
|
|
'400':
|
|
$ref: '#/responses/badRequestResponse'
|
|
'401':
|
|
$ref: '#/responses/unauthorizedResponse'
|
|
'429':
|
|
$ref: '#/responses/rateLimitedResponse'
|
|
|
|
|
|
'/raft/add-member':
|
|
post:
|
|
summary: Add a member to the raft cluster
|
|
description: Add a member to the raft cluster. Requires admin access.
|
|
tags:
|
|
- Raft
|
|
operationId: raftMemberAdd
|
|
parameters:
|
|
- name: member
|
|
in: body
|
|
required: true
|
|
description: member parameters
|
|
schema:
|
|
$ref: '#/definitions/raftMemberAdd'
|
|
responses:
|
|
'200':
|
|
$ref: '#/responses/emptyResponse'
|
|
'400':
|
|
$ref: '#/responses/badRequestResponse'
|
|
'401':
|
|
$ref: '#/responses/unauthorizedResponse'
|
|
'429':
|
|
$ref: '#/responses/rateLimitedResponse'
|
|
|
|
'/raft/remove-member':
|
|
post:
|
|
summary: Remove a member from the raft cluster
|
|
description: Remove a member from the raft cluster. Requires admin access.
|
|
tags:
|
|
- Raft
|
|
operationId: raftMemberRemove
|
|
parameters:
|
|
- name: member
|
|
in: body
|
|
required: true
|
|
description: member parameters
|
|
schema:
|
|
$ref: '#/definitions/raftMemberRemove'
|
|
responses:
|
|
'200':
|
|
$ref: '#/responses/emptyResponse'
|
|
'400':
|
|
$ref: '#/responses/badRequestResponse'
|
|
'401':
|
|
$ref: '#/responses/unauthorizedResponse'
|
|
'404':
|
|
$ref: '#/responses/notFoundResponse'
|
|
'429':
|
|
$ref: '#/responses/rateLimitedResponse'
|
|
|
|
'/raft/transfer-leadership':
|
|
post:
|
|
summary: Attempts to transfer leadership to a different member of the cluster
|
|
description: Attempts to transfer leadership to a different member of the cluster. Requires admin access.
|
|
tags:
|
|
- Raft
|
|
operationId: raftTranferLeadership
|
|
parameters:
|
|
- name: member
|
|
in: body
|
|
required: true
|
|
description: transfer operation parameters
|
|
schema:
|
|
$ref: '#/definitions/raftTransferLeadership'
|
|
responses:
|
|
'200':
|
|
$ref: '#/responses/emptyResponse'
|
|
'401':
|
|
$ref: '#/responses/unauthorizedResponse'
|
|
'404':
|
|
$ref: '#/responses/notFoundResponse'
|
|
'429':
|
|
$ref: '#/responses/rateLimitedResponse'
|
|
'500':
|
|
$ref: '#/responses/badRequestResponse'
|
|
|
|
#######################################################################################################################
|
|
#
|
|
# Parameters - Reusable parameters
|
|
#
|
|
#######################################################################################################################
|
|
parameters:
|
|
id:
|
|
name: id
|
|
required: true
|
|
type: string
|
|
in: path
|
|
description: The id of the requested resource
|
|
limit:
|
|
name: limit
|
|
type: integer
|
|
in: query
|
|
offset:
|
|
name: offset
|
|
type: integer
|
|
in: query
|
|
filter:
|
|
name: filter
|
|
type: string
|
|
in: query
|
|
|
|
#######################################################################################################################
|
|
#
|
|
# Responses - Envelope Wrapped Definitions
|
|
#
|
|
#######################################################################################################################
|
|
responses:
|
|
###################################################################
|
|
# Errors
|
|
##################################################################
|
|
badRequestResponse:
|
|
description: The supplied request contains invalid fields or could not be parsed (json and non-json bodies). The error's code, message, and cause fields can be inspected for further information
|
|
schema:
|
|
$ref: '#/definitions/apiErrorEnvelope'
|
|
examples:
|
|
'application/json':
|
|
error:
|
|
args:
|
|
urlVars: {}
|
|
cause:
|
|
field: '(root)'
|
|
type: required
|
|
value:
|
|
fooField: abc
|
|
fooField2: def
|
|
message: '(root): fooField3 is required'
|
|
details:
|
|
context: '(root)'
|
|
field: '(root)'
|
|
property: fooField3
|
|
causeMessage: schema validation failed
|
|
code: COULD_NOT_VALIDATE
|
|
message: The supplied request contains an invalid document
|
|
requestId: ac6766d6-3a09-44b3-8d8a-1b541d97fdd9
|
|
meta:
|
|
apiEnrollmentVersion: 0.0.1
|
|
apiVersion: 0.0.1
|
|
unauthorizedResponse:
|
|
description: The currently supplied session does not have the correct access rights to request this resource
|
|
schema:
|
|
$ref: '#/definitions/apiErrorEnvelope'
|
|
examples:
|
|
'application/json':
|
|
error:
|
|
args:
|
|
urlVars: {}
|
|
cause: ''
|
|
causeMessage: ''
|
|
code: UNAUTHORIZED
|
|
message: The request could not be completed. The session is not authorized or the
|
|
credentials are invalid
|
|
requestId: 0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f
|
|
meta:
|
|
apiEnrollmentVersion: 0.0.1
|
|
apiVersion: 0.0.1
|
|
invalidAuthResponse:
|
|
description: The authentication request could not be processed as the credentials are invalid
|
|
schema:
|
|
$ref: '#/definitions/apiErrorEnvelope'
|
|
examples:
|
|
'application/json':
|
|
error:
|
|
args:
|
|
urlVars: {}
|
|
cause: ''
|
|
causeMessage: ''
|
|
code: INVALID_AUTH
|
|
message: The authentication request failed
|
|
requestId: 5952ed10-3091-474f-a691-47ebab6990dc
|
|
meta:
|
|
apiEnrollmentVersion: 0.0.1
|
|
apiVersion: 0.0.1
|
|
notFoundResponse:
|
|
description: The requested resource does not exist
|
|
schema:
|
|
$ref: '#/definitions/apiErrorEnvelope'
|
|
examples:
|
|
'application/json':
|
|
error:
|
|
args:
|
|
urlVars:
|
|
id: 71a3000f-7dda-491a-9b90-a19f4ee6c406
|
|
cause:
|
|
causeMessage: ''
|
|
code: NOT_FOUND
|
|
message: The resource requested was not found or is no longer available
|
|
requestId: 270908d6-f2ef-4577-b973-67bec18ae376
|
|
meta:
|
|
apiEnrollmentVersion: 0.0.1
|
|
apiVersion: 0.0.1
|
|
cannotDeleteReferencedResourceResponse:
|
|
description: The resource requested to be removed/altered cannot be as it is referenced by another object.
|
|
schema:
|
|
$ref: '#/definitions/apiErrorEnvelope'
|
|
examples:
|
|
'application/json':
|
|
error:
|
|
args:
|
|
urlVars:
|
|
id: 71a3000f-7dda-491a-9b90-a19f4ee6c406
|
|
causeMessage: 'referenced by /some-resource/05f4f710-c155-4a74-86d5-77558eb9cb42'
|
|
code: CONFLICT_CANNOT_MODIFY_REFERENCED
|
|
message: The resource cannot be deleted/modified. Remove all referencing resources first.
|
|
requestId: 270908d6-f2ef-4577-b973-67bec18ae376
|
|
meta:
|
|
apiEnrollmentVersion: 0.0.1
|
|
apiVersion: 0.0.1
|
|
rateLimitedResponse:
|
|
description: The resource requested is rate limited and the rate limit has been exceeded
|
|
schema:
|
|
$ref: '#/definitions/apiErrorEnvelope'
|
|
examples:
|
|
'application/json':
|
|
error:
|
|
args:
|
|
urlVars: {}
|
|
causeMessage: 'you have hit a rate limit in the requested operation'
|
|
code: RATE_LIMITED
|
|
message: The resource is rate limited and the rate limit has been exceeded. Please try again later
|
|
requestId: 270908d6-f2ef-4577-b973-67bec18ae376
|
|
meta:
|
|
apiEnrollmentVersion: 0.0.1
|
|
apiVersion: 0.0.1
|
|
|
|
###################################################################
|
|
# Standard Responses
|
|
##################################################################
|
|
emptyResponse:
|
|
description: Base empty response
|
|
schema:
|
|
$ref: '#/definitions/empty'
|
|
deleteResponse:
|
|
description: The delete request was successful and the resource has been removed
|
|
schema:
|
|
$ref: '#/definitions/empty'
|
|
updateResponse:
|
|
description: The update request was successful and the resource has been altered
|
|
schema:
|
|
$ref: '#/definitions/empty'
|
|
patchResponse:
|
|
description: The patch request was successful and the resource has been altered
|
|
schema:
|
|
$ref: '#/definitions/empty'
|
|
createResponse:
|
|
description: The create request was successful and the resource has been added at the following location
|
|
schema:
|
|
$ref: '#/definitions/createEnvelope'
|
|
###################################################################
|
|
# Services
|
|
##################################################################
|
|
listServices:
|
|
description: A list of services
|
|
schema:
|
|
$ref: '#/definitions/listServicesEnvelope'
|
|
detailService:
|
|
description: A single service
|
|
schema:
|
|
$ref: '#/definitions/detailServiceEnvelope'
|
|
|
|
###################################################################
|
|
# Routers
|
|
##################################################################
|
|
listRouters:
|
|
description: A list of routers
|
|
schema:
|
|
$ref: '#/definitions/listRoutersEnvelope'
|
|
detailRouter:
|
|
description: A single router
|
|
schema:
|
|
$ref: '#/definitions/detailRouterEnvelope'
|
|
|
|
###################################################################
|
|
# Terminators
|
|
##################################################################
|
|
listTerminators:
|
|
description: A list of terminators
|
|
schema:
|
|
$ref: '#/definitions/listTerminatorsEnvelope'
|
|
detailTerminator:
|
|
description: A single terminator
|
|
schema:
|
|
$ref: '#/definitions/detailTerminatorEnvelope'
|
|
|
|
###################################################################
|
|
# Links
|
|
##################################################################
|
|
listLinks:
|
|
description: A list of links
|
|
schema:
|
|
$ref: '#/definitions/listLinksEnvelope'
|
|
detailLink:
|
|
description: A single link
|
|
schema:
|
|
$ref: '#/definitions/detailLinkEnvelope'
|
|
|
|
###################################################################
|
|
# Circuits
|
|
###################################################################
|
|
listCircuits:
|
|
description: A list of circuits
|
|
schema:
|
|
$ref: '#/definitions/listCircuitsEnvelope'
|
|
detailCircuit:
|
|
description: A single circuit
|
|
schema:
|
|
$ref: '#/definitions/detailCircuitEnvelope'
|
|
|
|
###################################################################
|
|
# Inspections
|
|
###################################################################
|
|
inspectResponse:
|
|
description: A response to an inspect request
|
|
schema:
|
|
$ref: '#/definitions/inspectResponse'
|
|
|
|
###################################################################
|
|
# Database
|
|
###################################################################
|
|
dataIntegrityCheckResult:
|
|
description: A list of data integrity issues found
|
|
schema:
|
|
$ref: '#/definitions/dataIntegrityCheckResultEnvelope'
|
|
|
|
databaseSnapshotCreateResult:
|
|
description: The path to the created snapshot
|
|
schema:
|
|
$ref: '#/definitions/databaseSnapshotCreateResultEnvelope'
|
|
|
|
###################################################################
|
|
# Raft
|
|
##################################################################
|
|
raftListMembersResponse:
|
|
description: A response to a raft list-members request
|
|
schema:
|
|
$ref: '#/definitions/raftMemberListResponse'
|
|
|
|
#######################################################################################################################
|
|
#
|
|
# Definitions - In & Out Models Only
|
|
#
|
|
#######################################################################################################################
|
|
definitions:
|
|
###################################################################
|
|
# Standard
|
|
##################################################################
|
|
pagination:
|
|
type: object
|
|
required:
|
|
- limit
|
|
- offset
|
|
- totalCount
|
|
properties:
|
|
limit:
|
|
type: number
|
|
format: int64
|
|
offset:
|
|
type: number
|
|
format: int64
|
|
totalCount:
|
|
type: number
|
|
format: int64
|
|
|
|
empty:
|
|
type: object
|
|
required:
|
|
- meta
|
|
- data
|
|
properties:
|
|
meta:
|
|
$ref: '#/definitions/meta'
|
|
data:
|
|
type: object
|
|
example: {}
|
|
meta:
|
|
type: object
|
|
properties:
|
|
filterableFields:
|
|
type: array
|
|
items:
|
|
type: string
|
|
x-omitempty: true
|
|
pagination:
|
|
$ref: '#/definitions/pagination'
|
|
apiEnrollmentVersion:
|
|
type: string
|
|
apiVersion:
|
|
type: string
|
|
createEnvelope:
|
|
type: object
|
|
properties:
|
|
meta:
|
|
$ref: '#/definitions/meta'
|
|
data:
|
|
$ref: '#/definitions/createLocation'
|
|
createLocation:
|
|
type: object
|
|
properties:
|
|
_links:
|
|
$ref: '#/definitions/links'
|
|
id:
|
|
type: string
|
|
|
|
baseEntity:
|
|
description: Fields shared by all Edge API entities
|
|
type: object
|
|
required:
|
|
- id
|
|
- createdAt
|
|
- updatedAt
|
|
- _links
|
|
- tags
|
|
properties:
|
|
id:
|
|
type: string
|
|
createdAt:
|
|
type: string
|
|
format: date-time
|
|
updatedAt:
|
|
type: string
|
|
format: date-time
|
|
_links:
|
|
$ref: '#/definitions/links'
|
|
tags:
|
|
$ref: '#/definitions/tags'
|
|
link:
|
|
description: A link to another resource
|
|
type: object
|
|
required:
|
|
- href
|
|
properties:
|
|
href:
|
|
type: string
|
|
format: uri
|
|
method:
|
|
type: string
|
|
comment:
|
|
type: string
|
|
links:
|
|
description: A map of named links
|
|
type: object
|
|
x-omitempty: false
|
|
additionalProperties:
|
|
$ref: '#/definitions/link'
|
|
entityRef:
|
|
description: A reference to another resource and links to interact with it
|
|
type: object
|
|
properties:
|
|
entity:
|
|
type: string
|
|
id:
|
|
type: string
|
|
name:
|
|
type: string
|
|
_links:
|
|
$ref: '#/definitions/links'
|
|
tags:
|
|
description: 'A map of user defined fields and values. The values are limited to the following types/values: null, string, boolean'
|
|
allOf:
|
|
- $ref: '#/definitions/subTags'
|
|
x-nullable: true
|
|
subTags:
|
|
type: object
|
|
additionalProperties: {
|
|
type: object
|
|
}
|
|
|
|
versionInfo:
|
|
description: 'Application build information'
|
|
type: object
|
|
properties:
|
|
version:
|
|
type: string
|
|
revision:
|
|
type: string
|
|
buildDate:
|
|
type: string
|
|
os:
|
|
type: string
|
|
arch:
|
|
type: string
|
|
|
|
databaseSnapshotCreate:
|
|
type: object
|
|
properties:
|
|
path:
|
|
type: string
|
|
|
|
databaseSnapshotCreateResultEnvelope:
|
|
type: object
|
|
required:
|
|
- meta
|
|
- data
|
|
properties:
|
|
meta:
|
|
$ref: '#/definitions/meta'
|
|
data:
|
|
$ref: '#/definitions/databaseSnapshotCreateDetails'
|
|
databaseSnapshotCreateDetails:
|
|
type: object
|
|
required:
|
|
- path
|
|
properties:
|
|
path:
|
|
type: string
|
|
|
|
dataIntegrityCheckResultEnvelope:
|
|
type: object
|
|
required:
|
|
- meta
|
|
- data
|
|
properties:
|
|
meta:
|
|
$ref: '#/definitions/meta'
|
|
data:
|
|
$ref: '#/definitions/dataIntegrityCheckDetails'
|
|
dataIntegrityCheckDetails:
|
|
type: object
|
|
required:
|
|
- inProgress
|
|
- fixingErrors
|
|
- tooManyErrors
|
|
- startTime
|
|
- endTime
|
|
- error
|
|
- results
|
|
properties:
|
|
inProgress:
|
|
type: boolean
|
|
startTime:
|
|
type: string
|
|
format: date-time
|
|
endTime:
|
|
type: string
|
|
format: date-time
|
|
fixingErrors:
|
|
type: boolean
|
|
error:
|
|
type: string
|
|
tooManyErrors:
|
|
type: boolean
|
|
results:
|
|
$ref: '#/definitions/dataIntegrityCheckDetailList'
|
|
dataIntegrityCheckDetailList:
|
|
type: array
|
|
items:
|
|
$ref: '#/definitions/dataIntegrityCheckDetail'
|
|
dataIntegrityCheckDetail:
|
|
type: object
|
|
required:
|
|
- description
|
|
- fixed
|
|
properties:
|
|
description:
|
|
type: string
|
|
fixed:
|
|
type: boolean
|
|
|
|
raftMemberAdd:
|
|
type: object
|
|
required:
|
|
- address
|
|
- isVoter
|
|
properties:
|
|
address:
|
|
type: string
|
|
isVoter:
|
|
type: boolean
|
|
|
|
raftMemberRemove:
|
|
type: object
|
|
required:
|
|
- id
|
|
properties:
|
|
id:
|
|
type: string
|
|
|
|
raftTransferLeadership:
|
|
type: object
|
|
properties:
|
|
newLeaderId:
|
|
type: string
|
|
|
|
|
|
###################################################################
|
|
# Errors
|
|
##################################################################
|
|
apiErrorEnvelope:
|
|
type: object
|
|
required:
|
|
- meta
|
|
- error
|
|
properties:
|
|
meta:
|
|
$ref: '#/definitions/meta'
|
|
error:
|
|
$ref: '#/definitions/apiError'
|
|
apiError:
|
|
type: object
|
|
properties:
|
|
args:
|
|
$ref: '#/definitions/apiErrorArgs'
|
|
data:
|
|
type: object
|
|
additionalProperties: true
|
|
causeMessage:
|
|
type: string
|
|
code:
|
|
type: string
|
|
message:
|
|
type: string
|
|
requestId:
|
|
type: string
|
|
cause:
|
|
$ref: '#/definitions/apiErrorCause'
|
|
apiFieldError:
|
|
type: object
|
|
properties:
|
|
reason:
|
|
type: string
|
|
field:
|
|
type: string
|
|
value:
|
|
type: string
|
|
apiErrorCause:
|
|
allOf:
|
|
- $ref: '#/definitions/apiFieldError'
|
|
- $ref: '#/definitions/apiError'
|
|
apiErrorArgs:
|
|
type: object
|
|
properties:
|
|
urlVars:
|
|
properties: {}
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
|
|
###################################################################
|
|
# Services
|
|
##################################################################
|
|
listServicesEnvelope:
|
|
type: object
|
|
required:
|
|
- meta
|
|
- data
|
|
properties:
|
|
meta:
|
|
$ref: '#/definitions/meta'
|
|
data:
|
|
$ref: '#/definitions/serviceList'
|
|
detailServiceEnvelope:
|
|
type: object
|
|
required:
|
|
- meta
|
|
- data
|
|
properties:
|
|
meta:
|
|
$ref: '#/definitions/meta'
|
|
data:
|
|
$ref: '#/definitions/serviceDetail'
|
|
|
|
serviceList:
|
|
type: array
|
|
items:
|
|
$ref: '#/definitions/serviceDetail'
|
|
serviceDetail:
|
|
type: object
|
|
allOf:
|
|
- $ref: '#/definitions/baseEntity'
|
|
- type: object
|
|
required:
|
|
- name
|
|
- terminatorStrategy
|
|
properties:
|
|
name:
|
|
type: string
|
|
terminatorStrategy:
|
|
type: string
|
|
serviceCreate:
|
|
type: object
|
|
required:
|
|
- name
|
|
properties:
|
|
name:
|
|
type: string
|
|
terminatorStrategy:
|
|
type: string
|
|
tags:
|
|
$ref: '#/definitions/tags'
|
|
serviceUpdate:
|
|
type: object
|
|
required:
|
|
- name
|
|
properties:
|
|
name:
|
|
type: string
|
|
terminatorStrategy:
|
|
type: string
|
|
tags:
|
|
$ref: '#/definitions/tags'
|
|
servicePatch:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
terminatorStrategy:
|
|
type: string
|
|
tags:
|
|
$ref: '#/definitions/tags'
|
|
|
|
###################################################################
|
|
# Routers
|
|
##################################################################
|
|
listRoutersEnvelope:
|
|
type: object
|
|
required:
|
|
- meta
|
|
- data
|
|
properties:
|
|
meta:
|
|
$ref: '#/definitions/meta'
|
|
data:
|
|
$ref: '#/definitions/routerList'
|
|
detailRouterEnvelope:
|
|
type: object
|
|
required:
|
|
- meta
|
|
- data
|
|
properties:
|
|
meta:
|
|
$ref: '#/definitions/meta'
|
|
data:
|
|
$ref: '#/definitions/routerDetail'
|
|
|
|
routerList:
|
|
type: array
|
|
items:
|
|
$ref: '#/definitions/routerDetail'
|
|
routerDetail:
|
|
type: object
|
|
allOf:
|
|
- $ref: '#/definitions/baseEntity'
|
|
- type: object
|
|
required:
|
|
- name
|
|
- fingerprint
|
|
- connected
|
|
- cost
|
|
- noTraversal
|
|
- disabled
|
|
properties:
|
|
name:
|
|
type: string
|
|
fingerprint:
|
|
type: string
|
|
connected:
|
|
type: boolean
|
|
cost:
|
|
type: integer
|
|
minimum: 0
|
|
maximum: 65535
|
|
noTraversal:
|
|
type: boolean
|
|
disabled:
|
|
type: boolean
|
|
listenerAddresses:
|
|
type: array
|
|
items:
|
|
$ref: '#/definitions/routerListener'
|
|
versionInfo:
|
|
$ref: '#/definitions/versionInfo'
|
|
routerListener:
|
|
type: object
|
|
required:
|
|
- address
|
|
- protocol
|
|
properties:
|
|
address:
|
|
type: string
|
|
protocol:
|
|
type: string
|
|
routerCreate:
|
|
type: object
|
|
required:
|
|
- id
|
|
- name
|
|
- cost
|
|
- noTraversal
|
|
properties:
|
|
id:
|
|
type: string
|
|
name:
|
|
type: string
|
|
fingerprint:
|
|
type: string
|
|
x-nullable: true
|
|
cost:
|
|
type: integer
|
|
minimum: 0
|
|
maximum: 65535
|
|
noTraversal:
|
|
type: boolean
|
|
disabled:
|
|
type: boolean
|
|
x-nullable: true
|
|
tags:
|
|
$ref: '#/definitions/tags'
|
|
routerUpdate:
|
|
type: object
|
|
required:
|
|
- name
|
|
- fingerprint
|
|
- cost
|
|
- noTraversal
|
|
properties:
|
|
name:
|
|
type: string
|
|
fingerprint:
|
|
type: string
|
|
cost:
|
|
type: integer
|
|
minimum: 0
|
|
maximum: 65535
|
|
noTraversal:
|
|
type: boolean
|
|
disabled:
|
|
type: boolean
|
|
x-nullable: true
|
|
tags:
|
|
$ref: '#/definitions/tags'
|
|
routerPatch:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
fingerprint:
|
|
type: string
|
|
x-nullable: true
|
|
cost:
|
|
type: integer
|
|
minimum: 0
|
|
maximum: 65535
|
|
x-nullable: true
|
|
noTraversal:
|
|
type: boolean
|
|
x-nullable: true
|
|
disabled:
|
|
type: boolean
|
|
x-nullable: true
|
|
tags:
|
|
$ref: '#/definitions/tags'
|
|
|
|
###################################################################
|
|
# Terminators
|
|
##################################################################
|
|
listTerminatorsEnvelope:
|
|
type: object
|
|
required:
|
|
- meta
|
|
- data
|
|
properties:
|
|
meta:
|
|
$ref: '#/definitions/meta'
|
|
data:
|
|
$ref: '#/definitions/terminatorList'
|
|
detailTerminatorEnvelope:
|
|
type: object
|
|
required:
|
|
- meta
|
|
- data
|
|
properties:
|
|
meta:
|
|
$ref: '#/definitions/meta'
|
|
data:
|
|
$ref: '#/definitions/terminatorDetail'
|
|
terminatorList:
|
|
type: array
|
|
items:
|
|
$ref: '#/definitions/terminatorDetail'
|
|
terminatorDetail:
|
|
type: object
|
|
allOf:
|
|
- $ref: '#/definitions/baseEntity'
|
|
- type: object
|
|
required:
|
|
- serviceId
|
|
- service
|
|
- routerId
|
|
- router
|
|
- binding
|
|
- address
|
|
- instanceId
|
|
- cost
|
|
- precedence
|
|
- dynamicCost
|
|
- hostId
|
|
properties:
|
|
serviceId:
|
|
type: string
|
|
service:
|
|
$ref: '#/definitions/entityRef'
|
|
routerId:
|
|
type: string
|
|
router:
|
|
$ref: '#/definitions/entityRef'
|
|
binding:
|
|
type: string
|
|
address:
|
|
type: string
|
|
instanceId:
|
|
type: string
|
|
cost:
|
|
$ref: '#/definitions/terminatorCost'
|
|
precedence:
|
|
$ref: '#/definitions/terminatorPrecedence'
|
|
dynamicCost:
|
|
$ref: '#/definitions/terminatorCost'
|
|
hostId:
|
|
type: string
|
|
terminatorCreate:
|
|
type: object
|
|
required:
|
|
- service
|
|
- router
|
|
- address
|
|
- binding
|
|
properties:
|
|
service:
|
|
type: string
|
|
router:
|
|
type: string
|
|
binding:
|
|
type: string
|
|
address:
|
|
type: string
|
|
instanceId:
|
|
type: string
|
|
instanceSecret:
|
|
type: string
|
|
format: byte
|
|
cost:
|
|
$ref: '#/definitions/terminatorCost'
|
|
precedence:
|
|
$ref: '#/definitions/terminatorPrecedence'
|
|
tags:
|
|
$ref: '#/definitions/tags'
|
|
hostId:
|
|
type: string
|
|
terminatorUpdate:
|
|
type: object
|
|
required:
|
|
- service
|
|
- router
|
|
- address
|
|
- binding
|
|
properties:
|
|
service:
|
|
type: string
|
|
router:
|
|
type: string
|
|
binding:
|
|
type: string
|
|
address:
|
|
type: string
|
|
cost:
|
|
$ref: '#/definitions/terminatorCost'
|
|
precedence:
|
|
$ref: '#/definitions/terminatorPrecedence'
|
|
tags:
|
|
$ref: '#/definitions/tags'
|
|
hostId:
|
|
type: string
|
|
terminatorPatch:
|
|
type: object
|
|
properties:
|
|
service:
|
|
type: string
|
|
router:
|
|
type: string
|
|
binding:
|
|
type: string
|
|
address:
|
|
type: string
|
|
cost:
|
|
$ref: '#/definitions/terminatorCost'
|
|
precedence:
|
|
$ref: '#/definitions/terminatorPrecedence'
|
|
tags:
|
|
$ref: '#/definitions/tags'
|
|
hostId:
|
|
type: string
|
|
|
|
terminatorCost:
|
|
type: integer
|
|
minimum: 0
|
|
maximum: 65535
|
|
terminatorPrecedence:
|
|
type: string
|
|
enum:
|
|
- default
|
|
- required
|
|
- failed
|
|
terminatorPrecedenceMap:
|
|
type: object
|
|
additionalProperties:
|
|
$ref: '#/definitions/terminatorPrecedence'
|
|
terminatorCostMap:
|
|
type: object
|
|
additionalProperties:
|
|
$ref: '#/definitions/terminatorCost'
|
|
|
|
###################################################################
|
|
# Links
|
|
##################################################################
|
|
listLinksEnvelope:
|
|
type: object
|
|
required:
|
|
- meta
|
|
- data
|
|
properties:
|
|
meta:
|
|
$ref: '#/definitions/meta'
|
|
data:
|
|
$ref: '#/definitions/linkList'
|
|
detailLinkEnvelope:
|
|
type: object
|
|
required:
|
|
- meta
|
|
- data
|
|
properties:
|
|
meta:
|
|
$ref: '#/definitions/meta'
|
|
data:
|
|
$ref: '#/definitions/linkDetail'
|
|
linkList:
|
|
type: array
|
|
items:
|
|
$ref: '#/definitions/linkDetail'
|
|
linkDetail:
|
|
type: object
|
|
required:
|
|
- id
|
|
- protocol
|
|
- sourceRouter
|
|
- destRouter
|
|
- state
|
|
- staticCost
|
|
- sourceLatency
|
|
- destLatency
|
|
- cost
|
|
- down
|
|
- iteration
|
|
properties:
|
|
id:
|
|
type: string
|
|
protocol:
|
|
type: string
|
|
sourceRouter:
|
|
$ref: '#/definitions/entityRef'
|
|
destRouter:
|
|
$ref: '#/definitions/entityRef'
|
|
state:
|
|
type: string
|
|
down:
|
|
type: boolean
|
|
staticCost:
|
|
type: integer
|
|
sourceLatency:
|
|
type: integer
|
|
destLatency:
|
|
type: integer
|
|
cost:
|
|
type: integer
|
|
iteration:
|
|
type: integer
|
|
linkPatch:
|
|
type: object
|
|
properties:
|
|
down:
|
|
type: boolean
|
|
staticCost:
|
|
type: integer
|
|
|
|
###################################################################
|
|
# Circuits
|
|
##################################################################
|
|
listCircuitsEnvelope:
|
|
type: object
|
|
required:
|
|
- meta
|
|
- data
|
|
properties:
|
|
meta:
|
|
$ref: '#/definitions/meta'
|
|
data:
|
|
$ref: '#/definitions/circuitList'
|
|
detailCircuitEnvelope:
|
|
type: object
|
|
required:
|
|
- meta
|
|
- data
|
|
properties:
|
|
meta:
|
|
$ref: '#/definitions/meta'
|
|
data:
|
|
$ref: '#/definitions/circuitDetail'
|
|
circuitList:
|
|
type: array
|
|
items:
|
|
$ref: '#/definitions/circuitDetail'
|
|
circuitDetail:
|
|
allOf:
|
|
- $ref: '#/definitions/baseEntity'
|
|
- type: object
|
|
required:
|
|
- service
|
|
- terminator
|
|
- path
|
|
properties:
|
|
clientId:
|
|
type: string
|
|
service:
|
|
$ref: '#/definitions/entityRef'
|
|
terminator:
|
|
$ref: '#/definitions/entityRef'
|
|
path:
|
|
$ref: '#/definitions/path'
|
|
circuitDelete:
|
|
type: object
|
|
properties:
|
|
immediate:
|
|
type: boolean
|
|
|
|
path:
|
|
type: object
|
|
properties:
|
|
nodes:
|
|
type: array
|
|
items:
|
|
$ref: '#/definitions/entityRef'
|
|
links:
|
|
type: array
|
|
items:
|
|
$ref: '#/definitions/entityRef'
|
|
|
|
###################################################################
|
|
# Inspections
|
|
##################################################################
|
|
inspectRequest:
|
|
type: object
|
|
required:
|
|
- appRegex
|
|
- requestedValues
|
|
properties:
|
|
appRegex:
|
|
type: string
|
|
requestedValues:
|
|
type: array
|
|
items:
|
|
type: string
|
|
inspectResponseValue:
|
|
type: object
|
|
required:
|
|
- appId
|
|
- name
|
|
- value
|
|
properties:
|
|
appId:
|
|
type: string
|
|
name:
|
|
type: string
|
|
value:
|
|
type:
|
|
- object
|
|
- string
|
|
- number
|
|
- boolean
|
|
inspectResponse:
|
|
type: object
|
|
required:
|
|
- success
|
|
properties:
|
|
success:
|
|
type: boolean
|
|
errors:
|
|
type: array
|
|
items:
|
|
type: string
|
|
values:
|
|
type: array
|
|
items:
|
|
$ref: '#/definitions/inspectResponseValue'
|
|
###################################################################
|
|
# Raft
|
|
##################################################################
|
|
raftMemberListRequest:
|
|
type: object
|
|
raftMemberListValue:
|
|
type: object
|
|
required:
|
|
- id
|
|
- address
|
|
- voter
|
|
- leader
|
|
- version
|
|
- connected
|
|
properties:
|
|
id:
|
|
type: string
|
|
address:
|
|
type: string
|
|
voter:
|
|
type: boolean
|
|
leader:
|
|
type: boolean
|
|
version:
|
|
type: string
|
|
connected:
|
|
type: boolean
|
|
raftMemberListResponse:
|
|
type: object
|
|
properties:
|
|
values:
|
|
type: array
|
|
items:
|
|
$ref: '#/definitions/raftMemberListValue'
|
|
|
|
|
|
|