Files
ziti/specs/source/management/terminators.yml
T
Andrew Martinez f28061de4f fixes missing 400s from list endpoints
- update some CA fields that were not marked required/nullable
- some list endpoints were missing 400 response definitions
- foundation dep update
2021-07-27 14:53:35 -04:00

267 lines
7.8 KiB
YAML

---
paths:
terminators:
get:
summary: List terminators
description: |
Retrieves a list of terminator resources; supports filtering, sorting, and pagination. Requires admin access.
security:
- ztSession: [ ]
tags:
- Terminator
operationId: listTerminators
parameters:
- $ref: '../shared/parameters.yml#/limit'
- $ref: '../shared/parameters.yml#/offset'
- $ref: '../shared/parameters.yml#/filter'
responses:
'200':
$ref: '#/responses/listTerminators'
'401':
$ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse'
'400':
$ref: '../shared/standard-responses.yml#/responses/badRequestResponse'
post:
summary: Create a terminator resource
description: Create a terminator resource. Requires admin access.
security:
- ztSession: [ ]
tags:
- Terminator
operationId: createTerminator
parameters:
- name: terminator
in: body
required: true
description: A terminator to create
schema:
$ref: '#/definitions/terminatorCreate'
responses:
'201':
$ref: '../shared/standard-responses.yml#/responses/createResponse'
'400':
$ref: '../shared/standard-responses.yml#/responses/badRequestResponse'
'401':
$ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse'
terminators-id:
parameters:
- $ref: '../shared/parameters.yml#/id'
get:
summary: Retrieves a single terminator
description: Retrieves a single terminator by id. Requires admin access.
security:
- ztSession: [ ]
tags:
- Terminator
operationId: detailTerminator
responses:
'200':
$ref: '#/responses/detailTerminator'
'404':
$ref: '../shared/standard-responses.yml#/responses/notFoundResponse'
'401':
$ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse'
put:
summary: Update all fields on a terminator
description: Update all fields on a terminator by id. Requires admin access.
security:
- ztSession: [ ]
tags:
- Terminator
operationId: updateTerminator
parameters:
- name: terminator
in: body
required: true
description: A terminator update object
schema:
$ref: '#/definitions/terminatorUpdate'
responses:
'200':
$ref: '../shared/standard-responses.yml#/responses/updateResponse'
'400':
$ref: '../shared/standard-responses.yml#/responses/badRequestResponse'
'404':
$ref: '../shared/standard-responses.yml#/responses/notFoundResponse'
'401':
$ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse'
patch:
summary: Update the supplied fields on a terminator
description: Update the supplied fields on a terminator. Requires admin access.
security:
- ztSession: [ ]
tags:
- Terminator
operationId: patchTerminator
parameters:
- name: terminator
in: body
required: true
description: A terminator patch object
schema:
$ref: '#/definitions/terminatorPatch'
responses:
'200':
$ref: '../shared/standard-responses.yml#/responses/patchResponse'
'400':
$ref: '../shared/standard-responses.yml#/responses/badRequestResponse'
'404':
$ref: '../shared/standard-responses.yml#/responses/notFoundResponse'
'401':
$ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse'
delete:
summary: Delete a terminator
description: Delete a terminator by id. Requires admin access.
security:
- ztSession: [ ]
tags:
- Terminator
operationId: deleteTerminator
responses:
'200':
$ref: '../shared/standard-responses.yml#/responses/deleteResponse'
'400':
$ref: '../shared/standard-responses.yml#/responses/badRequestResponse'
'401':
$ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse'
'409':
$ref: '../shared/standard-responses.yml#/responses/cannotDeleteReferencedResourceResponse'
responses:
listTerminators:
description: A list of terminators
schema:
$ref: '#/definitions/listTerminatorsEnvelope'
detailTerminator:
description: A single terminator
schema:
$ref: '#/definitions/detailTerminatorEnvelope'
definitions:
listTerminatorsEnvelope:
type: object
required:
- meta
- data
properties:
meta:
$ref: '../shared/standard-responses.yml#/definitions/meta'
data:
$ref: '#/definitions/terminatorList'
detailTerminatorEnvelope:
type: object
required:
- meta
- data
properties:
meta:
$ref: '../shared/standard-responses.yml#/definitions/meta'
data:
$ref: '#/definitions/terminatorDetail'
terminatorList:
type: array
items:
$ref: '#/definitions/terminatorDetail'
terminatorDetail:
type: object
allOf:
- $ref: '../shared/base-entity.yml#/definitions/baseEntity'
- type: object
required:
- serviceId
- service
- routerId
- router
- binding
- address
- identity
- cost
- precedence
- dynamicCost
properties:
serviceId:
type: string
service:
$ref: '../shared/base-entity.yml#/definitions/entityRef'
routerId:
type: string
router:
$ref: '../shared/base-entity.yml#/definitions/entityRef'
binding:
type: string
address:
type: string
identity:
type: string
cost:
$ref: '../shared/terminators.yml#/definitions/terminatorCost'
precedence:
$ref: '../shared/terminators.yml#/definitions/terminatorPrecedence'
dynamicCost:
$ref: '../shared/terminators.yml#/definitions/terminatorCost'
terminatorCreate:
type: object
required:
- service
- router
- address
- binding
properties:
service:
type: string
router:
type: string
binding:
type: string
address:
type: string
identity:
type: string
identitySecret:
type: string
format: byte
cost:
$ref: '../shared/terminators.yml#/definitions/terminatorCost'
precedence:
$ref: '../shared/terminators.yml#/definitions/terminatorPrecedence'
tags:
$ref: '../shared/base-entity.yml#/definitions/tags'
terminatorUpdate:
type: object
required:
- service
- router
- address
- binding
properties:
service:
type: string
router:
type: string
binding:
type: string
address:
type: string
cost:
$ref: '../shared/terminators.yml#/definitions/terminatorCost'
precedence:
$ref: '../shared/terminators.yml#/definitions/terminatorPrecedence'
tags:
$ref: '../shared/base-entity.yml#/definitions/tags'
terminatorPatch:
type: object
properties:
service:
type: string
router:
type: string
binding:
type: string
address:
type: string
cost:
$ref: '../shared/terminators.yml#/definitions/terminatorCost'
precedence:
$ref: '../shared/terminators.yml#/definitions/terminatorPrecedence'
tags:
$ref: '../shared/base-entity.yml#/definitions/tags'